Root Disk를 Mirroring하는 방법

by 조쉬 posted Jul 22, 2016
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
ð      root disk /dev/vg00의 phygical volume이 /dev/dsk/c0t6d0이고
또다른 disk /dev/dsk/c1t6d0를 추가하여 root disk mirroring을 하려면..
 
ð      작업전에 먼저 HP MirrorDisk/UX Application을 Install한다.
 
# ioscan –fnkCdisk 로 /dev/dsk/c1t6d0의 HW Path확인
# vi root_mirror.sh
  pvcreate -B -f /dev/rdsk/c1t6d0
  vgextend /dev/vg00 /dev/dsk/c1t6d0
  mkboot /dev/dsk/c1t6d0
  mkboot -a "hpux -lq(10/1.6.0;0)/stand/vmunix" /dev/dsk/c1t6d0
  mkboot -a "hpux -lq(10/0.6.0;0)/stand/vmunix" /dev/dsk/c0t6d0
  setboot –a 10/1.6.0
  lvextend –m 1 /dev/vg00/lvol1 /dev/dsk/c1t6d0
  lvextend –m 1 /dev/vg00/lvol2 /dev/dsk/c1t6d0
  lvextend –m 1 /dev/vg00/lvol3 /dev/dsk/c1t6d0
  lvlnboot –R
:wq
# sh root_mirror.sh
# lvlnboot –v로 확인
# strings /etc/lvmtab으로 확인
# lvdisplay –v /dev/vg00/lvol3로 확인
# setboot   alternate boot path 확인
 
 
Non Root Disk(Data Disk)를 Mirroring하는 방법
 
ð      작업전에 먼저 HP MirrorDisk/UX Application을 Install한다.
 
# vi non_root_mirror.sh
  pvcreate -f /dev/rdsk/c1t3d0
  pvcreate -f /dev/rdsk/c1t4d0
  pvcreate -f /dev/rdsk/c1t5d0
  vgextend /dev/vg01 /dev/dsk/c1t3d0
  vgextend /dev/vg02 /dev/dsk/c1t4d0
  vgextend /dev/vg03 /dev/dsk/c1t5d0
  lvextend -m 1 /dev/vg01/lvol1 /dev/dsk/c1t3d0
  lvextend -m 1 /dev/vg01/lvol2 /dev/dsk/c1t3d0
  lvextend -m 1 /dev/vg01/lvol3 /dev/dsk/c1t3d0
  lvextend -m 1 /dev/vg02/lvol1 /dev/dsk/c1t4d0
  lvextend -m 1 /dev/vg02/lvol2 /dev/dsk/c1t4d0
  lvextend -m 1 /dev/vg03/lvol1 /dev/dsk/c1t5d0
  lvextend -m 1 /dev/vg03/lvol2 /dev/dsk/c1t5d0
:wq
# sh non_root_mirror.sh
# vgdisplay /dev/vg01로 확인
# stings /etc/lvmtab으로 확인
 
Mirror 복구하는 방법
 
1. mirror를 걸었던 2개의 disk중 1개의 disk가 fail났을떄 대처방법
가) 시스템을 shutdown 시키고 나서 ISL모드로 들어가서
ISL > HPUX -lq -lm
-> 꼭 -lq,-lm를 시켜줘야 한다. 위의 명령은 정적수 검사를 하지 않고,
-lm은 꼭 필요한 lvolx 만 mount시켜서 부팅된다.

나) pvcreate -B -f /dev/rdsk/replace_disk
다) mkboot /dev/dsk/replace_disk
라) mkboot -a "HPUX -lq(;0)/stand/vmunix" /dev/dsk/replace_disk
마) vgrestroage -n /dev/vg00 /dev/dsk/replace_disk
바) vgchange -a y -q n /dev/vg00 (active 시킨다.)
사) vgsync /dev/vg00
-> sync 시켜주면 원본 디스크에서 대체 디스크로 다시 mirror가 일어난다.

2. 시스템이 운영중일때와 shutdown 시켰을 때 복구방법
가) vgchange -a -y -q -n /dev/vg00
-> shutdown 시켰을때는 위의 (가)와 같이 HPUX -lq -lm으로 부팅하여
위의 명령어를 실행
나) lvdisplay -v -k /dev/vg00/lvolx (fail난 디스크 lvol를 확인)
LV PV LV PV
0 0 1 1
0 0 1 1
. . . .
0 0 1 1
--------------- ----------------
mirror 0 mirror 1

여기서 K 값은 원본일때는 K=0, 사본 일때는 k=1이 된다.

다) lvreduce -m -0 -k (0/1) /dev/vg00/lvol?
- fail disk를 mirror lvol에서 제외시킨다.
라) vgdisplay -v /dev/vg00 으로 확인
마) vgreduce -f /dev/vg00
- fail disk를 mirror 볼륨에서 제외
바) mv /etc/lvmtab /etc/lvmtab.bak
- lvmtab은 삭제가 되지 않아서 다른 이름으로 저장한다.
사) vgscan -v
- 다른 vg group들도 다시 lvmtab이 생성
아) lvlmboot -R
- lvm을 갱신
자) reboot

3. 일반 disk mirror을 복구하는 방법
_ boot mirror 복구방법과 유사하며, boot에 대한 명령어들만 삭제하면
일반 data mirror 복구 방법은 같다.
 
===================================================================
 
* working *
 
strings /etc/lvmtab
pvcreate -f -B /dev/rdsk/c3t5d0
mkboot /dev/rdsk/c3t5d0
mkboot -a "hpux -lq (;0)/stand/vmunix" /dev/rdsk/c3t5d0
vgextend /dev/vg00 /dev/dsk/c3t5d0
vi mirror.sh
chmod 700 ./mirror.sh
vi mirror.sh
./mirror.sh
ls
vgdisplay -v vg00
lvextend -m 1 /dev/vg00/lvol1 /dev/dsk/c3t5d0
lvdisplay -v /dev/vg00/lvol1
swlist | grep -i mirror
swlist -l product | grep -i mirror
swlist -l product | grep -i ux
uname
uname -a
swinstall -s gsbcv:/app/hpux11/disk2
swinstall -s gsbcv:/app/hpux11/disk3
swinstall -s gsbcv:/app/hpux11/disk4
swinstall -s gsbcv:/app/hpux11/disk5
swinstall -s gsbcv:/app/hpux11/disk1