6.4. Recupero dei metadata del Physical Volume

Se l'area dei metadata del gruppo di volumi di un Physical Volume viene accidentalmente sovrascritta o distrutta, sarete in grado di visualizzare un messaggio d'errore il quale indica che l'area dei metadata è incorretta, oppure che il sistema non è stato in grado di trovare un physical volume con un UUID particolare. È possibile recuperare i dati del physical volume creando una nuova area per i metadata sul physical volume stesso, specificando un UUID uguale a quello dei metadata precedentemente persi.

Avvertimento

Non eseguite questa procedura con un volume logico LVM in funzione. In tal caso protreste perdere i vostri dati se specificate l'UUID incorretto.
Il seguente esempio mostra un tipo di output che potreste visualizzare se l'area dei metadata viene persa o se risulta corrotta.
[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.
  ...
Potreste essere in grado di trovare l'UUID per il physical volume sovrascritto, controllando la directory /etc/lvm/archive. Verificate il file VolumeGroupName_xxxx.vg per gli ultimi metadata di LVM validi archiviati, per quel gruppo di volumi.
Alternativamente la disattivazione del volume e l'impostazione dell'opzione partial (-P), potrebbe permettervi di trovare l'UUID del physical volume corrotto mancante.
[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'.
  ...
Utilizzate le opzioni --uuid e --restorefile di pvcreate per ripristinare il physical volume. Il seguente esempio etichetta il dispositivo /dev/sdh1 come physical volume con il seguente UUID, FmGRh3-zhok-iVI8-7qTD-S5BI-MAEN-NYM5Sk. Questo comando ripristina le informazioni relative ai metadata con contenuti VG_00050.vg, il più recente metadata corretto archiviato per il gruppo di volumi . L'opzione restorefile indica al comando pvcreate di rendere il nuovo physical volume compatibile con quello vecchio presente sul gruppo di volumi, assicurando che la nuova versione dei metadata non venga posizionata dove il physical volume precedente conteneva i dati (tale comportamento si potrebbe verificare se per esempio, il comando pvcreate originale avesse usato gli argomenti della linea di comando per controllare il posizionamento dei metadata, o se il physical volume fosse stato creato originariamente utilizando una versione diversa di software che utilizza impostazioni predefinite differenti).Il comando pvcreate sovrascrive solo le aree dei metadata di LVM e non interessa le aree dei dati esistenti.
[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
You can then use the vgcfgrestore command to restore the volume group's metadata.
[root@link-07 backup]# vgcfgrestore VG
  Restored volume group VG
Ora è possibile visualizzare i volumi logici.
[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)
I seguenti comandi attivano i volumi e visualizzano i volumi attivi.
[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)
Se i metadata LVM sul disco necessitano di una quantità minima di spazio uguale a quella sovrascritta, questo comando è in grado di ripristinare il physical volume. Se la quantità di spazio sovrascritto oltrepassa l'area dei metadata, allora i dati presenti sul volume potrebbero essere stati interessati da questo processo. Per recuperare i dati è possibile utilizzare il comando fsck.