Restauration d'un VG si un disque perd son uuid
Booter en mode rescue (mode par défaut proposé par linux si une partition ne monte pas).
Remonter la racine en RW
# mount -o remount /
Voir le volume en cause :
# pvscan
Couldn't find device with uuid yF12vQ-Pcsb-MDXA-D85j-02ci-ivJd-yR92mi
PV /dev/sda2 VG VGRoot lvm2 [24,59 GB / 0 free]
Total: 1 [24,59 GB] / in use: 1 [24,59 GB] / in no VG: 0 [0 ]
PV /dev/sdb1 VG VGData lvm2 [249,88 GB / 0 free]
Total: 1 [249,88 GB] / in use: 1 [249,88 GB] / in no VG: 0 [0 ]
Ici, bien qu'affiché tout de suite, le message concerne le second volume /dev/sdb1.
Lister les sauvegardes (automatiques) de la configuration LVM :
# vgcfgrestore --list VGData
File: /etc/lvm/archive/VGData_00000.vg
VG name: VGData
Description: Created *before* executing '/sbin/vgs --noheadings -o name'
Backup Time: Wed Oct 5 17:13:17 2011
File: /etc/lvm/backup/VGData
VG name: VGData
Description: Created *after* executing '/sbin/vgs --noheadings -o name'
Backup Time: Wed Oct 5 17:13:17 2011
On recrée le volume physique en forçant l'UUID. A priori, cette opération ne touche pas aux données de la partition, mais on ne peut jamais être sûr... C'est donc sans garantie.
# pvcreate /dev/sdb1 --uuid yF12vQ-Pcsb-MDXA-D85j-02ci-ivJd-yR92mi --restorefile /etc/lvm/backup/VGData
Couldn't find device with uuid yF12vQ-Pcsb-MDXA-D85j-02ci-ivJd-yR92mi.
Writing physical volume data to disk "/dev/sdb1"
Physical volume "/dev/sdb1" successfully created
On vérifie les UUIDs :
# pvs -o +uuid
PV VG Fmt Attr PSize PFree PV UUID
/dev/sda2 VGRoot lvm2 a-- 25,59g 18,62g AYR30X-PoeE-4dZi-iexU-XqWw-I9OB-ewOdyx
/dev/sdb1 lvm2 a-- 250,48g 931,51g yF12vQ-Pcsb-MDXA-D85j-02ci-ivJd-yR92mi
On restore définitivement le groupe de volumes :
# vgcfgrestore VGData
Restored volume group VGData
On vérifie que les groupes de volumes ne renvoient plus d'erreurs :
# vgscan
Reading all physical volumes. This may take a while...
Found volume group "VGRoot" using metadata type lvm2
Found volume group "VGData" using metadata type lvm2
On active le groupe de volumes qui vient d'être restauré :
# vgchange -ay
1 logical volume(s) in volume group "VGRoot" now active
3 logical volume(s) in volume group "VGData" now active
Il reste à remonter le ou les volumes logiques :
# mount /dev/mapper/VGData-LVData /data