6.4. 물리 볼륨 메타 데이터 복구
물리 볼륨의 볼륨 그룹 메타 데이터 영역이 뜻하지 않게 덮어쓰기 되었거나 삭제되었을 경우, 메타 데이터 영역이 올바르지 않다는 오류 메세지나 또는 시스템이 특정 UUID로 물리 볼륨을 찾을 수 없다는 오류 메세지를 받게 됩니다. 손실된 메타 데이터와 같은 UUID를 지정하여 물리 볼륨에 있는 새로운 메타 데이터 영역을 작성하여 이를 복구할 수 있습니다.
주의
작동 중인 LVM 논리 볼륨으로 이러한 작업을 실행할 수 없습니다. UUID를 잘못 지정할 경우 데이터를 손실하게 됩니다.
다음의 예에서는 메타 데이터가 없거나 충돌할 경우 나타날 수 있는 출력 결과를 보여주고 있습니다.
[root@link-07 backup]# lvs -a -o +devices
Couldn't find device with uuid 'FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk'.
Couldn't find all physical volumes for volume group VG.
Couldn't find device with uuid 'FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk'.
Couldn't find all physical volumes for volume group VG.
...
/etc/lvm/archive
디렉토리에서 확인하여 덮어 쓰기된 물리 볼륨에 해당하는 UUID를 찾을 수 있습니다. 해당 볼륨 그룹의 아카이브된 LVM 메타 데이터에 해당하는 VolumeGroupName_xxxx.vg
파일을 찾습니다.
다른 방법으로 비활성화된 볼륨을 찾아
partial
(-P
) 인수를 설정하여 손상된 볼륨 그룹에 대한 UUID를 찾을 수 있습니다.
[root@link-07 backup]# vgchange -an --partial
Partial mode. Incomplete volume groups will be activated read-only.
Couldn't find device with uuid 'FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk'.
Couldn't find device with uuid 'FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk'.
...
pvcreate
명령의 --uuid
및 --restorefile
인수를 사용하여 물리 볼륨을 복구합니다. 다음의 예에서는 위의 UUID와 함께 , FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk
를 사용하여 물리 볼륨으로 /dev/sdh1
장치를 레이블하고 있습니다. 이 명령으로
볼륨 그룹에 최근 아카이브된 메타 데이터, VG_00050.vg
에 있는 메타데이터 정보를 사용하여 물리 볼륨 레이블을 복구합니다. restorefile
인수는 pvcreate
명령을 지시하여 볼륨 그룹에 있는 이전 물리 볼륨과 호환하는 새 물리 볼륨을 만들어, 새로운 메타 데이터가 이전 물리 볼륨이 들어있는 데이터에 배치되지 않는지를 확인합니다. (예를 들어, 본래의 pvcreate
명령이 메타 데이터 위치를 제어하는 명령행 인수를 사용하거나 또는 다른 기본값을 사용하는 다른 버전의 소프트웨어를 사용하여 기존 물리 볼륨이 생성된 경우에 발생할 수 있음).pvcreate
명령은 LVM 메타 데이터 영역만을 덮어쓰기하고 기존의 데이터 영역에는 영향을 미치지 않습니다.
[root@link-07 backup]# pvcreate --uuid "FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk" --restorefile /etc/lvm/archive/VG_00050.vg /dev/sdh1
Physical volume "/dev/sdh1" successfully created
vgcfgrestore
명령을 사용하여 볼륨 그룹의 메타 데이터를 복구할 수 있습니다.
[root@link-07 backup]# vgcfgrestore VG
Restored volume group VG
논리 볼륨을 나타낼 수 있습니다.
[root@link-07 backup]# lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Devices
stripe VG -wi--- 300.00G /dev/sdh1 (0),/dev/sda1(0)
stripe VG -wi--- 300.00G /dev/sdh1 (34728),/dev/sdb1(0)
다음의 명령으로 볼륨을 활성화하고 활성 볼륨을 나타낼 수 있습니다.
[root@link-07 backup]#lvchange -ay /dev/VG/stripe
[root@link-07 backup]#lvs -a -o +devices
LV VG Attr LSize Origin Snap% Move Log Copy% Devices stripe VG -wi-a- 300.00G /dev/sdh1 (0),/dev/sda1(0) stripe VG -wi-a- 300.00G /dev/sdh1 (34728),/dev/sdb1(0)
디스크 상의 LVM 메타 데이터가 오버라이드된 것 만큼 많은 공간을 차지할 경우, 이 명령으로 물리 볼륨을 복구할 수 있습니다. 메타 데이터를 오버라이드한 것이 메타 데이터 영역을 지나갈 경우 볼륨에 있는 데이터에 영향을 미치게 됩니다.
fsck
명령을 사용하여 데이터를 복구할 수 있습니다.