6.4. Восстановление метаданных физического тома

Представим, что область метаданных группы томов была случайно перезаписана или повреждена. В этом случае появится сообщение об ошибке в области метаданных или о неудачной попытке нахождения физического тома с заданным UUID. Чтобы не потерять данные физического тома, можно попробовать заново переписать область метаданных, включив прежний UUID метаданных.

Предупреждение

Не следует это делать, если логический том активно используется, так как в случае указания неверного 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.
  ...
Перезаписанный UUID можно найти в файле ГруппаТомов_xxxx.vg в каталоге /etc/lvm/archive.
Другой способ определения идентификатора UUID состоит в отключении тома и установке параметра -P (partial).
[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'.
  ...
С помощью аргументов --uuid и --restorefile команды pvcreate можно восстановить физический том. В приведенном далее примере устройству /dev/sdh1 соответствует UUID FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk. Команда восстановит информацию о метаданных из последнего успешного архива метаданных VG_00050.vg. pvcreate перезапишет только область метаданных, что не окажет влияния на существующие данные.
[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)
vgcfgrestore может восстановить физический том, если метаданные были полностью перезаписаны. Если область перезаписи вышла за пределы области метаданных, возможна потеря данных. Попробуйте их восстановить с помощью fsck.