一、故障现象
1)、系统卡在Control-D to continue界面
服务器(虚拟机在迁移完成后)重新启动,启动后发现磁盘有异常,技术人员先注释掉/etc/fstab中有异常的那个磁盘挂载项,先让系统正常启动
(图片点击放大查看)
输入密码后,先注释掉/etc/fstab中有异常的那个磁盘挂载项
然后重启进入系统
(图片点击放大查看)
2)、/dev/sdb1对应的LVM信息丢失
pvs vgs lvs 发现无之前的相应的PV,VG,LV
(图片点击放大查看)
二、恢复过程复盘
下面为VMware虚拟机中模拟当时的故障情况
1、cd /etc/lvm/backup/
列出在Linux中恢复LVM元数据的备份文件
vgcfgrestore --list vgdata
(图片点击放大查看)
cat /etc/lvm/backup/vgdata
(图片点击放大查看)
2、恢复PV(物理卷)
pvcreate /dev/sdb1 --test --uuid "8Dh7rF-whbO-mrcU-8T0x-lrWo-AGMv-USNs73" --restorefile /etc/lvm/backup/vgdata
(图片点击放大查看)
fdisk /dev/sdb
(图片点击放大查看)
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 pvs
(图片点击放大查看)
(图片点击放大查看)
3、恢复VG
vgcfgrestore --test -f /etc/lvm/backup/vgdata vgdata vgcfgrestore -f /etc/lvm/backup/vgdata vgdata vgs
(图片点击放大查看)
4、尝试挂载
lsblk -f mount /dev/mapper/vgdata-lvdata /data
(图片点击放大查看)
(图片点击放大查看)
发现这时可以正常挂载 恢复完成,故障修复
三、实际故障时的恢复步骤
以上在虚拟机中复盘恢复的过程
与当时故障发生并恢复时的步骤略有差异
1、以下是当时恢复的主要命令汇总
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
(图片点击放大查看)
2、过程截图
(图片点击放大查看)
(图片点击放大查看)
(图片点击放大查看)
(图片点击放大查看)
(图片点击放大查看)
(图片点击放大查看)
3、恢复过程参考如下链接完成
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%20re