본문 바로가기
Storage

[VxVM] Volume 관련 명령

by 레이루이 2008. 5. 11.
반응형

출처 및 작성자 : 송영국 (http://www.optiinfo.com/)  

Volume 관련 명령

1. Volume 생성

- 1.1 구성가능한 Volume의 최대크기 확인
  # vxassist -g dg_name maxsize layout=raid5

- 1.2 Disk group의 free space 확인
  # vxdg -g dg_name free
   (block단위로 출력이 된다.)
  # vxdg -g dg_name free | nawk `{print $1,$2,$3,$4,$5/2048,$6}`
  (5번째 필드인 LENGTH를 Mb로 확인하고자 할 때 사용한다.)
- 1.3 Concatenated Volume
  # vxassist -g dg_name make vol01 100m disk01

- 1.4 Striped Volume
  # vxassist -g dg_name make vol01 100m layout=stripe disk01 disk02 disk03

- 1.5 Raid5 Volume
  # vxassist -g dg_name make vol01 100m layout=raid5 disk01 disk02 disk03 disk04

- 1.6 Mirror Volume
  # vxassist -g dg_name make vol01 100m layout=mirror disk01 disk02

- 1.7 Stripe-pro Volume
  # vxassist -g dg_name make vol01 100m layout=stripe-mirror


2. Volume 크기 조절

- 2.1 확정가능한 최대 볼륨 크기 보기
  # vxassist -g dg_name maxgrow vol01

- 2.2 Volume 및 파일시스템 크기조절
  # vxresize -F ufs -g dg_name vol01 +100m
  # vxresize -F vxfs -g dg_name vol01 -100m
  # vxresize -F ufs -g dg_name vol01 300m

  ufs가 구성된 겨우 file system size를 줄일 수 없다.
  vxresize명령은 vxassist와 vxvol 명령과 달리 volume 뿐만 아니라 그 안에 구성되어 있    는 file system까지 자동으로 조절해 준다.

- 2.3 Volume 크기 조절
  # vxassist growto vol01 100m (100m를 늘려라.)
  # vxassist growby vol01 100m (100m까지 늘려라.)
  # vxassist shrinkto vol01 100m (100m를 줄여라.)
  # vxassist shrinkby vol01 100m (100m가 될 때까지 줄여라.)
  # vxvol set len=100m vol01 (정확히 100m까지 줄여라.)

3. Volume 제거

  # vxassist -g dg_name remove volume vol01
   or
  # vxvol stop vol01
  # vxedit -g dg_name -rf rm vol01
   (-r : recursive. 해당 plex와 subdisk까지 삭제
   -f : force. volume이 enable 되어 있어도 강제로 삭제)

4. Volume object 이름 바꾸기

  # vxedit rename old_vol new_vol
   (vxedit 명령을 통하여 volume, plex, subdisk 이름을 바꿀 수 있다.)

5. Volume Mirror 하기

- 5.1 새로운 mirror Volume 구성
  # vxassist -g dg_name make vol01 100m layout=mirror

- 5.2 기존의 Volume mirror
  # vxassist -g dg_name mirror vol01
   (vol01 = raid0 or raid1 or raid1+0 만 가능)

- 5.3 Disk groupso의 모든 volume mirror
  # vxmirror -g dg_name -a

6. Volume Mirror 제거

- 6.1 Mirror, Plex, Subdisk 제거
  # vxplex -o rm dis plex_name
   (연관성을 끊고 삭제한다. dis : 연관성을 끊는다)

- 6.2 Mirror만 해제 (dissociate)
  # vxplex dis plex_name
   (연관성만 끊는다.)

- 6.3 해당 plex 및 subdisk 제거
  # vxedit -r rm plex_name

7. Log 설정

- 7.1 Add Raid5 log
# vxassist -g dg_name addlog vol01 sd명
   (vxassist를 통하여 Raid5 volume을 구성하면 기본적으로 log가 구성된다.)
- 7.2 Remove Raid5 log
# vxplex -g dg_name -o rm,force dis plex_name
   (log plex만 삭제)
  or
  # vxassist -g dg_name remove log vol_name

- 7.3 Add Mirror log
  # vxassist -g dg_name addlog vol_name sd명 (Raid5 명령과 동일)

- 7.4 Remove Mirror log
  # vxassist -g dg_name remove log vol_name

8. Volume start or stop

- 8.1 Volume start
  # vxvol start vol01
  # vxvol startall

- 8.2 Volume stop
  # vxvol stop vol01
  # vxvol stopall

9. Volume relayout
  # vxassist relayout [volume_name or plex_name] layout=[relayout]
    ncol=[+ or -]ncolsize stwidth=stwidth tmpsize=tmpsize
- 9.1 Changing the number of columns
  # vxassist relayout volume_name ncol=+1
  # vxassist relayout volume_name ncol=-2
  # vxassist relayout volume_name ncol=5

- 9.2 Changing the Stripe-Width
  # vxassist relayout volume_name stwidth=64k

- 9.3 Changing the Layouts
# vxassist relayout volume_name layout=raid5

- 9.4 relayout 상태 확인
  # vxrelayout status volume_name

10. Volume 구성 확인하기
  # vxprint -ht
  # vxprint -t volume_name

11. Volume 속성값 변경하기
  # ls -l /dev/vx/rdsk/dg_name/vol_name
  (Volume의 소유주 확인)
  # vxedit -g dg_name set user=oracle group=dba mode=660 vol_name
   (Volume의 소유주 or 퍼미션 바꾸기.  chown, chgrp, chmod로 변경시 리부팅 후에 원      래 값으로 되돌아가므로 사용하지 않는다.)

12. 통계 정보 확인하기
  # vxstat -g dg명
  (Display volume statistics for the specified disk group.)
  # vxstat -g dg명 vol명
   (Display statistics for the specified volume.)
  # vxstat -g dg명 -d
   (Display disk drive level statistics for the specified disk group.)
  # vxstat -g dg명 -d disk01
   (Display statistics for the specified disk drive.)

13. I/O 관련 문제점 확인하기
  # vxtrace -o disk
   (Trace all physical disk drive I/O operations.)
  # vxtrace -o disk c#t#d#
   (Trace all I/O operation to the physical disk drive c#t#d#)
  # vxtrace vol명
   (Trace all virtual device I/O operations associated with the volume vol명)
  # vxtrace -o dev vol명
   (Trace virtual disk device I/O to the device associated with volume vol명)

14. Moving a Disk Group
volume manager는 부팅시에 disk group에 대한 host ID(=host_name)를 확인하고 자신 것으로 할당이 되어 있을 경우 자동으로 import한다. disk group을 이동시키려면 먼저 한쪽에서 deport 시키고 다른 한쪽에서 import 과정을 거치면 된다.

- deport
A# vxdg deport dg명
A# vxdg -h new_host_name deport dg명
  (-h : 소유권을 주고 싶은 host를 지정해서 deport한다.)
A# vxdg -n new_dg명 -h new_host_name deport dg명
  (host지정 후 dg명을 바꿔서 deport한다.)

- import
B# vxdg import dg명
  (disk group의 host ID가 자신으로 맞추어져 있을때 사용)
B# vxdg -C import dg명
(old host ID가 남아 있을때 이를 제거하고 import한다.)
B# vxdg -fC import dg명
  (disk group중 일부 disk가 사용불능이더라도 강제로 import한다.)
B# vxdg -n new_dg명 import dg명
(disk group 이름은 시스템에서 유일해야 하므로 다른 disk group 이름으로 import한다.)
B# vxdg -t -n new_dg명 import dg명
(disk group이 import되면 reboot되더라도 다시 자신에게 import하는데 -t 옵션으로
   import시에는 임시적으로 import되고 disk group에 있는 host ID는 원래의 host를 유지     한다.)

- 두 시스템간에 disk group을 이동하려면 다음 과정을 진행한다.(A->B로 이동시)
  A쪽 disk group내의 모든 volume의 umount 및 volume을 stop 시킨다.
A# vxdg deport dg명
B# vxdg import dg명
B# vxrecover -g dg명 -sb
  (-s : start     -b : background)

- root volume 에러 교정을 위해서 rootdg를 다른 host로 옮기는 방법
  시스템당 disk group 이름은 유일하기 때문에 해당 disk group 이름을 가지고 있는 시스템에 disk group을 옮기려면 이름을 바꾸어줘야 한다. (ex : rootdg)
(A->B로 이동시)
1) original host에서 disk group ID를 확인한다.
A# vxdisk -s list
dgname : rootdg
dgid : 774226267.1025.sun100

2) import host에서 rootdg를 rename하여 import한다.
B# vxdg -tC -n new_dg명 import dg_ID
(rootdg가 이미 존재하므로 충돌이 생긴다. 따라서 dg_ID를 new_dg명으로 import한다.)
  (-t : temporary import name
  -C : clear import import locks
  -n : temporary disk group name)

3) root volume 복구를 위한 작업을 진행한다.

4) import host에서 원래대로 rootdg를 돌려주기 위해 deport 한다.
B# vxdg -h host_name deport dg_ID
  (original host는 다음 리부팅시 자동으로 rootdg를 import한다.)
반응형