[ Disk 의 슬라이스 하나를 이용하여 rootdg를 생성 ]
volume을 만들기 전 disk에 10M정도의 용량을 준비한다.
volume manager 설치 전 OS와 array에 맞는 패치를 먼저 해준다. (sunsolve.sun.com)
1. Volume Manager software를 설치한다.
2. Volume Manager License를 확인한다.
3. vxconfigd를 disable mode로 시작시킨다.
# vxconfigd -d or # vxconfigd -m disable
4. vxconfigd mode를 확인한다.
# vxdctl mode
5. /etc/vx/volboot 파일을 초기화한다.
volboot 파일에는 Host-name과 rootdg에 속한 disk의 list가 들어있고
아래 명령어는 새로운 host-name과 비어있는 disk list를 구성한다.
# vxdctl init
6. License를 입력한다. license 하나당 다음 명령을 하나씩 수행한다.
# vxlicense -c baselicense (/etc/vx/elm 에 저장)
# vxlicense -c raid5license
# vxlicense -p (license를 display)
7. rootdg를 만든다.
# vxdg init rootdg
# vxdg list
8. /etc/vx/volboot 파일에 disk를 추가한다. 슬라이스가 하나만 있으므로 simple type으로 등록
# vxdctl add disk c0t0d0s7 type=simple (vi로 편집하면 안됨)
vxvm:vxdctl WARNING:Device c0t0d0s7:Not currently in the Configuration
(error가 나와야 정상, rootdg는 뒤에서 10번에서 만들므로 error가 뜬다. 경고메세지는 무시)
9. 슬라이스 영역에 헤더를 인스톨한다.
# vxdisk -f init c0t0d0s7 type=simple
(init을 해주면 private(3번)영역 생성)
10. disk를 rootdg에 추가한다.
# vxdg adddisk c0t0d0s7
# vi /etc/vfstab
(c0t0d0s7을 주석처리한다.)
11. 부팅시 Volume Manager starting을 막는 install-db 파일을 삭제
# rm /etc/vx/reconfig.d/state.d/install-db
12. vxconfigd를 실행한다.
# vxdctl enable (/etc/vx/volboot에 저장된 volume정보를 가져옴)
13. 재부팅을 진행하고 부팅시 VxVM starting on boot mode.. 가 떠야 정상
※ <rootdg 손상시> error 발생시 3번에서 daemon 죽이고 6,7번 skip하고 다시 진행
[ Veritas Volume Manager 설치 및 환경설정 ]
- Veritas Volume Manager 설치 -
1. Volume Manager를 설치
2. patch install
3. rootdg 생성
vxinstall (disk를 통째로 rootdg로 사용, OS mirror 시만 사용)
command line에서 수동생성 (slice 단위로 rootdg에 포함)
4. disk initialization
1) initialization : data 모두 삭제. disk를 초기화
2) encapsulation : data가 있을 경우 사용 (OS mirror시 사용, 빈슬라이스 2개 존재. 1실린더 1개 이상 필요)
5. 일반 disk group 생성
동일한 disk group은 생성 불가
6. volume 생성
7. file system 생성
8. mount
- Veritas Volume Manager 환경설정 -
1. PATH/MANPATH/LD_LIBRARY_PATH 설정
# vi .profile
=================================================================================================================
stty erase ^?
PS1=`uname -n`' $PWD#'
PATH=/usr/sbin:/usr/bin:usr/dt/bin:/usr/openwin/bin:/etc/vx/bin:/opt/VRTSvmsa/bin:/usr/lib/vxvm/bin:
/opt/VRTSvxfs/sbin:/usr/lib/fs/vxfs:/opt/SUNWcluster/bin //편의성을 위해 줄바꿈 하였어요 이어서 쓰세요.
MANPATH=/usr/share/man:/usr/local/man:/opt/VRTS/man
ENV=~/.kshrc
export MANPATH PATH EDITOR PS1 ENV
=================================================================================================================
[ Veritas Volume Manager 사용법 ]
- Volume 이란? -
OS 영역
|
|
|
|
|
uninitialization 영역 |
|
|
| ||
|
물리disk |
|
|
|
free disk pool 영역 |
|
|
| ||
|
|
|
|
|
VMdisk |
|
|
|
| |
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
free |
disk영역 |
|
|
|
|
|
|
|
|
|
3 |
|
3 |
|
|
|
|
물리disk |
|
|
|
4 |
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
| |
|
|
|
|
|
|
|
|
|
|
|
[ Volume Disk 생성/삭제 ]
1) # vxdisksetup -i Disk_Name(c?t?d?)
- physical disk를 volume manager가 인식 가능(free disk pool 영역)한 disk 로 생성
2) # vxdiskunsetup -C Disk_Name(c?t?d?)
- volume manager에서 인식된 디스크를 물리적인 인식이 되도록 volume disk 정보를 삭제
[ Volume Group 생성/삭제 ]
1) # vxdg init Disk_Group_Name Alias_Name=c?t?d? ... ...
- "Disk_Group_Name" 에 볼륨그룹의 이름을 넣고, "Alias_Name=c?t?d?" 에 볼륨disk도 Alias 화 시켜서 해당 그룹에
넣어주며 볼륨 그룹을 생성한다. 복수도 가능.(ex : disk01=c?t?d?, disk02=c?t?d? ...)
※ 단, 그룹을 생성하는 경우는 적어도 1개 이상의 볼륨 disk를 넣어야 함
2) # vxdg destroy Disk_Group_Name
- "Disk_Group_Name" 에 볼륨그룹의 이름을 가진 그룹을 삭제
※ 단, 그룹을 삭제하는 경우는 그룹내 포함된 볼륨 disk가 1개가 있는 상태에서 하는 것을 권장함
[ Volume Group Disk 추가/제거 ]
1) # vxdg -g Disk_Group_Name adddisk Alias_Name=c?t?d? ... ...
- "Disk_Group_Name" 에 볼륨그룹내 "Alias_Name=c?t?d?" 라는 볼륨disk를 Alias화 시켜 디스크를 추가
복수도 가능.(ex : disk01=c?t?d?, disk02=c?t?d? ...)
※ 단, "-g" 옵션으로 group을 지정하지 않으면 default로 rootdg에 생성되므로 주의
2) # vxdg -g Disk_Group_Name rmdisk Alias_Name ... ...
- "Disk_Group_Name" 에 볼륨그룹내 "Alias_Name" 라는 볼륨disk를 제거
복수도 가능.(ex : disk01, disk02 ...)
※ 단, 그룹내 마지막 disk는 빠지지 않으니 vxdg destroy 를 이용한다
[ Volume 생성/삭제 ]
1) # vxassist -g Disk_Group_Name make Volume_Name 100m layout=raid5 Alias_Name ... ...
- "Disk_Group_Name" 에 볼륨그룹내 "Volume_Name" 라는 볼륨을 100m 라는 용랑으로 raid5 형식으로 생성
※ 단, 용량을 설정하지 않으면 블럭단위로 생성되며, 1block = 512byte / layout 생략시 default로 concat가 생성.
또한, raid5 의 경우 layout 부분에 "nolog" 를 입력하지 않으면 기본적으로 로그 디스크를 생성하게 된다.
2) # vxedit -g Disk_Group_Name -rf rm Volume_Name
- "Disk_Group_Name" 에 볼륨그룹내 "Volume_Name" 라는 볼륨을 삭제
※ 단, 삭제시에는 volume 삭제 -> diskgroup 삭제 -> disk초기화 순 진행
[ Volume 구성정보 확인 ]
1) # vxdisk list
- Volume Disk 와 Disk_Group_Name 구성 정보를 출력
2) # vxdisk -o alldgs list
- deport 된 Volume Disk 와 Disk_Group_Name 까지 출력시켜 줌
3) # vxdg list
- Disk_Group_Name 을 출력
4) # vxprint -ht
- Disk_Group_Name 과 Volume_Name 까지 함께 출력
[ File System 생성 및 마운트 ]
1) # newfs /dev/vx/rdsk/Disk_Group_Name/Volume_Name
- 구성된 볼륨을 포맷하여 마운트될 수 있도록 파일 시스템을 생성
2) # mount /dev/vx/dsk/Disk_Group_Name/Volume_Name /mount_point
- 파일 시스템으로 생성된 볼륨을 MountPoint 에 마운트하여 사용
[ Veritas Volume Manager Tip & Tech ]
<Disk_Group 소유권 설정>
1) # vxdg deport Disk_Group_Name
- Disk_Group_Name 의 소유권 포기
2) # vxdg import Disk_Group_Name
- Disk_Group_Name 의 소유권 적용
3) # vxrecover -g Disk_Group_Name -s
- 2번에서 적용된 Disk_Group_Name 에 대한 파일시스템 동작 가능하게 세팅
<Volume 동작 설정>
1) # vxvol stop Volume_Name
- "Volume_Name" 을 가진 볼륨의 동작을 정지
2) # vxvol stopall
- 모든 볼륨의 동작을 정지
3) # vxvol start Volume_Name
- "Volume_Name" 을 가진 볼륨의 동작을 시작
4) # vxvol startall
- 모든 볼륨의 동작을 시작
※ 단, 디스크의 volume enable 이 되어야 하며 raid1+0인 경우 sub volume 부터 init 해야함
<볼륨 구성 후 남은 디스크 용량 확인>
1) # vxassist -g Disk_Group_Name maxsize layout=raid5 Alias_Name ... ...
ex. "Maximum volume size : 68614144(33503Mb)"
- Disk_Group_Name 에 대한 Alias 로 정의된 파일시스템들을 raid5 형식으로 만들때 사용가능량 용량 출력
단, vol 생성은 하지 않고 확인만 가능하며, 예제와 같은 형식으로 출력
2) # vxdg -g Disk_Group_Name free
- Disk_Group_Name 의 그룹이 가지는 free space 확인(block단위로 출력)
3) # vxassist -g Disk_Group_Name maxgrow Volume_Name
- Disk_Group_Name 의 그룹이 가지는 Volume_Name 의 볼륨이 확장 가능한 최대 크기 출력
<Volume name 변경>
1) # vxedit rename old_Volume_Name new_Volume_Name
- "old_Volume_Name" 의 명칭을 가지는 볼륨을 "new_Volume_Name" 명칭의 볼륨으로 변경
※ "old_Volume_Name" 의 경우 Disk명칭(c?t?d?), Volume_Name, SubDisk_Name 등이 올 수 있다.
<Volume 크기 변경>
1) # vxassist -g Disk_Group_Name resize
- "old_Volume_Name" 의 명칭을 가지는 볼륨을 "new_Volume_Name" 명칭의 볼륨으로 변경
2) # vxassist growto Volume_Name 100m
- "Volume_Name" 명칭의 볼륨 크기를 100m 만큼 추가
3) # vxassist growby Volume_Name 100m
- "Volume_Name" 명칭의 볼륨 크기를 100m 만큼 되도록 현재 용량에서 증가
<Volume 정보 변경>
1) # vxedit -g Disk_Group_Name set user=oracle group=dba mode=660 Volume_Name
- "Disk_Group_Name" 그룹내 "Volume_Name" 의 볼륨에 대해 아래 사항으로 변경
a. user : 소유주 변경 (oracle 소유주로 변경)
b. group : 그룹 변경 (dba 그룹으로 변경)
c. mode : 퍼미션 변경 (660 퍼미션으로 변경)
※ 단, 볼륨의 정보를 변경시 "chown, chgrp, chmod" 명령어를 이용하게 되면 리부팅 후 값이 초기화됨
<Volume Log 설정>
1) # vxassist -g Disk_Group_Name addlog Volume_Name Log_Disk_Name
- "Disk_Group_Name" 그룹내 "Volume_Name" 의 볼륨에 대해 "Log_Disk_Name" 으로 로그 디스크를 추가
2) # vxassist -g Disk_Group_Name remove log Volume_Name
- "Disk_Group_Name" 그룹내 "Volume_Name" 의 볼륨에 대해 로그 디스크를 삭제
<Hot spare disk 지정>
1) # vxedit set spare=on disk_name(c?t?d?)
- "disk_name" 의 명칭을 가지는 디스크를 스페어 디스크로 등록
2) # vxedit set spare=off disk_name(c?t?d?)
- "disk_name" 의 명칭을 가지는 디스크를 스페어 디스크로 등록을 해제