Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

6.3. 물리 볼륨 메타데이터 복구

물리 볼륨의 볼륨 그룹 메타데이터 영역을 실수로 덮어쓰거나 삭제한 경우 메타데이터 영역이 잘못되었거나 시스템이 특정 UUID가 있는 물리 볼륨을 찾을 수 없음을 나타내는 오류 메시지가 표시됩니다. 물리적 볼륨에 메타데이터가 손실된 메타데이터와 동일한 UUID를 지정하여 물리 볼륨에서 데이터를 복구할 수 있습니다.
주의
작동 중인 LVM 논리 볼륨을 사용하여 이 절차를 시도해서는 안 됩니다. 잘못된 UUID를 지정하면 데이터가 손실됩니다.
다음 예제에서는 메타데이터 영역이 누락되거나 손상되었는지 여부를 확인할 수 있는 출력 종류를 보여줍니다.
# 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 파일을 찾습니다.
또는 볼륨을 비활성화하고 부분 (-P) 인수를 설정하면 손상된 물리적 볼륨의 UUID를 찾을 수 있습니다.
# 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-NYM5Sk 를 사용하여 /dev/sdh1 장치를 물리 볼륨으로 레이블을 지정합니다. 이 명령은 볼륨 그룹의 최신 아카이브 메타데이터 메타데이터인 VG_00050.vg 에 포함된 메타데이터 정보를 사용하여 물리 볼륨 레이블을 복원합니다. restorefile 인수는 pvcreate 명령에 볼륨 그룹의 이전 물리 볼륨과 호환되는 새 물리 볼륨을 사용하도록 하여 이전 물리 볼륨에 포함된 데이터를 배치하지 않도록 합니다(예: 원래 pvcreate 명령이 메타데이터 배치를 제어하는 명령줄 인수를 사용하거나 다른 기본값을 사용하여 물리적 볼륨이 원래 생성된 경우). pvcreate 명령은 LVM 메타데이터 영역만 덮어쓰고 기존 데이터 영역에는 영향을 미치지 않습니다.
# pvcreate --uuid "FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk" --restorefile /etc/lvm/archive/VG_00050.vg /dev/sdh1
  Physical volume "/dev/sdh1" successfully created
그런 다음 Cryostat cfgrestore 명령을 사용하여 볼륨 그룹의 메타데이터를 복원할 수 있습니다.
# vgcfgrestore VG
  Restored volume group VG
이제 논리 볼륨을 표시할 수 있습니다.
# 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)
다음 명령은 볼륨을 활성화하고 활성 볼륨을 표시합니다.
# lvchange -ay /dev/VG/stripe
# 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 명령을 사용하여 해당 데이터를 복구할 수 있습니다.