Few days ago i made mistake and forced fsck to check partition that contain LVM instead of logic volume, as result i got broken LVM metadata. I was unable to see volume group an logic volumes.
pvs output looked like that:
# pvs -v Scanning for physical volume names Incorrect metadata area header checksum
I tried to run pvck but it did not help me, it founded corrupted metadata but did not repair LVM:
# pvck -d -v /dev/md5 Scanning /dev/md5 Incorrect metadata area header checksum Found label on /dev/md5, sector 1, type=LVM2 Found text metadata area: offset=4096, size=193024 Incorrect metadata area header checksum |
Finally i founded that it’s possible to make backups of LVM metadata and restore it when needed, but i think that i had only broken LVM with broken metadata.
It’s hard to describe how happy I was when I found that by default LVM create backups of metadata when you make any changes. I found it into /etc/lvm/backup dir, after that recovery become easy task, first i recreate physical volume:
pvcreate -u b3Lk2a-pydG-Vhf3-DSEJ-9b84-RLm9-UEr6r3 --restorefile /etc/lvm/backup/vg-320 /dev/md5
UUID can be founded in pv section into metadata file:
physical_volumes { pv0 { id = "<strong>b3Lk2a-pydG-Vhf3-DSEJ-9b84-RLm9-UEr6r3</strong>" device = "/dev/md5" # Hint only |
Next i restored volume group:
vgcfgrestore -f /etc/lvm/backup/vg-320 vg-320 |
After that logical volumes became visible:
# lvs LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert root vg-320 -wi-a--- 15.00g swap vg-320 -wi-a--- 1.00g var vg-320 -wi-ao-- 200.00g zoneminder vg-320 -wi-a--- 15.00g |
After reinitialization with vgscan -v && vgchange -ay commands, volume groups ready for fsck.