미러링된 lvm을 핫스왑하려고 합니다.
$ vgdisplay -v /dev/vg00
--- Physical volumes ---
PV Name /dev/dsk/c2t0d0s2
PV Status unavailable
Total PE 4318
Free PE 845
Autoswitch On
Proactive Polling Off
PV Name /dev/dsk/c2t1d0s2
PV Status available
Total PE 4318
Free PE 845
Autoswitch On
Proactive Polling Off
디스크를 교체한 후 ioscan을 실행하여 새 장치를 찾은 다음 insf를 실행했습니다. Seagate 대신 HP라고 적혀 있기 때문에 이것이 새 디스크라는 것을 알고 있습니다.
$ ioscan -C disks
disk 1 0/1/1/0.0.0 sdisk CLAIMED DEVICE HP 36.4GMAP3367NC
/dev/dsk/c2t0d0 /dev/dsk/c2t0d0s2 /dev/rdsk/c2t0d0
/dev/rdsk/c2t0d0s2 /dev/dsk/c2t0d0s1 /dev/dsk/c2t0d0s3
/dev/rdsk/c2t0d0s1 /dev/rdsk/c2t0d0s3
disk 2 0/1/1/0.1.0 sdisk CLAIMED DEVICE SEAGATE ST373307LC
/dev/dsk/c2t1d0 /dev/dsk/c2t1d0s2 /dev/rdsk/c2t1d0
/dev/rdsk/c2t1d0s2 /dev/dsk/c2t1d0s1 /dev/dsk/c2t1d0s3
/dev/rdsk/c2t1d0s1 /dev/rdsk/c2t1d0s3
여태까지는 그런대로 잘됐다. 그러던 중 첫 번째 난관에 부딪혔습니다.
$ vgcfgrestore -n /dev/vg00 /dev/rdsk/c2t0d0s2
vgcfgrestore: Could not open Physical Volume "/dev/rdsk/c2t0d0s2".
먼저 볼륨 그룹을 줄여야 할 수도 있습니다.
$ vgreduce /dev/vg00 /dev/dsk/c2t0d0s2
vgreduce: Physical volume "/dev/dsk/c2t0d0s2" could not be removed since some of its
physical extents are still in use.
특정 물리적 범위는 어떻게 사용됩니까? 나는 오래된 드라이브를 꺼냈다.
그래서 먼저 물리적 볼륨을 생성해야 한다고 생각했습니다.
$ pvcreate -f -B /dev/rdsk/c2t0d0s2
pvcreate: Couldn't open physical volume "/dev/rdsk/c2t0d0s2":
I/O error
드라이브의 해당 파티션에서는 PV를 생성할 수 없지만 기본 파티션에서는 PV를 생성할 수 있습니다.
$ pvcreate -f -B /dev/rdsk/c2t0d0
Physical volume "/dev/rdsk/c2t0d0" has been successfully created.
누군가 내가 무엇을 놓치고 있는지 말해 줄 수 있나요? 새 디스크에 여전히 c2t0d0s1, c2t0d0s2 및 c2t0d0s3이 표시되는 이유는 무엇입니까? c2t0d0s2에서 pvcreate를 실행할 수 없는 이유는 무엇입니까? "vgcfgrestore" 또는 "vgreduce"를 실행할 수 없는 이유는 무엇입니까?
답변1
먼저 물리적 볼륨을 비활성화해야 합니다.
# pvchange -an /dev/dsk/c2t0d0s2
이후,
# vgcfgrestore -n /dev/vg00 /dev/rdsk/c2t0d0s2
# pvchange -ay /dev/dsk/c2t0d0s2
전체 디스크에 대해 pvcreate를 수행하지 마십시오. 이렇게 하면 디스크 레이아웃이 손상됩니다.