Red Hat Training

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

6.4. Recupération des métadonnées du volume physique

Si la zone de métadonnées du groupe de volumes d'un volume physique est accidentellement surchargée ou détruite, vous obtiendrez un message d'erreur indiquant que la zone de métadonnées est incorrecte ou que le système était incapable de trouver un volume physique avec un UUID particulier. Vous pourriez restaurer les données du volume physique en écrivant une nouvelle zone de métadonnées sur ce volume et en spécifiant le même UUID que pour les métadonnées qui ont été perdues.

Avertissement

Vous ne devriez pas essayer cette procédure avec un volume logique LVM fonctionnant. Vous perdrez vos données si vous spécifiez un UUID incorrect.
L'exemple suivant illustre le type de sortie que vous verriez si la zone de métadonnées est manquante ou corrompue.
[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.
  ...
Vous pourriez trouver l'UUID du volume physique qui a été surchargé en regardant dans le répertoire /etc/lvm/archive. Recherchez dans le fichier VolumeGroupName_xxxx.vg les dernières métadonnées LVM archivées valides pour le groupe de volumes.
Alternativement, en désactivant le volume et en utilisant l'argument partial (-P) vous pourrez trouver l'UUID du volume physique corrompu manquant.
[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'.
  ...
Utilisez les arguments --uuid et --restorefile de la commande pvcreate pour restaurer le volume physique. L'exemple suivant étiquette le périphérique /dev/sdh1 en tant que volume physique avec l'UUID indiqué ci-dessus, FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk. Cette commande restaure l'étiquette du volume physique avec les informations de métadonnées contenues dans VG_00050.vg, les métadonnées archivées les plus récentes pour le groupe de volumes. L'argument restorefile permet à la commande pvcreate de rendre le nouveau volume physique compatible avec l'ancien sur le groupe de volumes, en s'assurant que les nouvelles métadonnées ne soient pas placées là où l'ancien volume physique stockait ses données (cela pourrait par exemple se produire si la commande d'origine pvcreate avait utilisé les arguments en ligne de commande qui permettent de contrôler l'emplacement des métadonnées ou si le volume physique avait été créé avec une version logicielle différente qui utilise d'autres paramètres par défaut). La commande pvcreate n'écrase que les zones de métadonnées LVM et n'affecte pas les zones de données existantes.
[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
Vous pouvez ensuite utiliser la commande vgcfgrestore pour restaurer les métadonnées d'un groupe de volumes.
[root@link-07 backup]# vgcfgrestore VG
  Restored volume group VG
Vous pouvez maintenant afficher les volumes logiques.
[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)
Les commandes suivantes activent les volumes et affichent les volumes actifs.
[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)
Si les métadonnées LVM sur le disque prennent au moins autant d'espace que celles qui les surchagaient, cette commande peut récupérer le volume physique. Si celles qui surchagaient les métadonnées dépassent la zone de métadonnées, les données sur le volume peuvent être affectées. Vous pourriez utiliser la commande fsck pour récupérer ces données.