Lvm常见的故障主要是pv出现异常,有以下几种情况
- 一个是pv所在的磁盘发生了lvm的元数据损坏
- 一个是系统无法识别到pv所在的磁盘
- 一个是系统异常,断电等导致重启后盘符发生变化,也就是系统识别的磁盘uuid发生变化,但是wwid还是可以对应,所以要利用wwid对应磁盘
- 一种是磁盘物理坏,且系统可以识别,但是pv是无法使用
故障现象
1. 系统卡在Control-D to continue界面
系统启动过程中有报错,磁盘挂载不上,去掉该磁盘挂载系统可以启动正常
2. /dev/sdb1对应的LVM信息丢失
pvs vgs lvs 发现无之前的相应的PV,VG,LV
恢复复盘过程
1. 检查lvm元数据备份
cd /etc/lvm/backup/ && ls -lh
# 列出备份文件
vgcfgrestore --list vgdata
# 查看备份文件
cat /etc/lvm/backup/vgdata
2. 恢复物理卷PV
# 给磁盘分区
fdisk /dev/sdb
# 恢复物理卷 pv
pvcreate /dev/sdb1 --test -ff --uuid "8Dh7rF-whbO-mrcU-8T0x-lrWo-AGMv-USNs73" --restorefile /etc/lvm/backup/vgdata
pvcreate /dev/sdb1 -ff --uuid "8Dh7rF-whbO-mrcU-8T0x-lrWo-AGMv-USNs73" --restorefile /etc/lvm/backup/vgdata
# 查看物理卷PV
pvs
3. 恢复卷组VG
# 恢复卷组VG
vgcfgrestore --test -f /etc/lvm/backup/vgdata vgdata
vgcfgrestore -f /etc/lvm/backup/vgdata vgdata
# 查看vg
vgs
4. 尝试挂载
lsblk -f
mount /dev/mapper/vgdata-lvdata /data
此时可以正常挂载 恢复完成,故障修复完成。
参考资料:
https://www.cnblogs.com/zcyy/articles/16834848.html
LVM文件系统格式丢失_lvm丢失_IwoP的博客-CSDN博客
# 参考命令
dd if=/dev/zero bs=1k count=2 of=/dev/sdb1
sync
pvcreate /dev/sdb1 --test --uuid "ffigvg-1Ygs-wBq7-mLYP-dYdu-CQ4L-LTdzY8" --restorefile /etc/lvm/backup/testvg -vv
pvcreate /dev/sdb1 --uuid "ffigvg-1Ygs-wBq7-mLYP-dYdu-CQ4L-LTdzY8" --restorefile /etc/lvm/backup/testvg -vv
vgcfgrestore --force testvg
vgchange -ay testvg
xfs_repair -L /dev/mapper/testvg-testlv
mount /dev/testvg/testlv /u02
参考资料:
https://serverfault.com/questions/1016772/lvm-cannot-restore-volume-group-with-1-pvs-marked-as-missing-couldnt-find-de
https://www.cnblogs.com/zcyy/articles/16834848.html
https://www.golinuxcloud.com/recover-lvm2-partition-restore-vg-pv-metadata/#:~:text=%205%20easy%20steps%20to%20recover%20LVM2%20partition,,to%20recover%20LVM2%20partition.%20After%20we...%20More%20
【复盘】记一次LVM元数据丢失的恢复过程