ubuntu18.04.2重装系统恢复LVM
ubuntu16.04更新18.04失败后无法启动,我的硬盘环境如下:
- 64G固态硬盘安装系统
- 2T机械硬盘和1T机械硬盘加入LVM卷组
- 卷组名VG0
- 有三个LV(data【ext4】、movie【xfs】、temp【xfs】)
先说结果,什么都不用做,重装系统到固态硬盘中,安装LVM(非最小安装模lvm2是默认安装的)、xfs文件系统,用pvscan扫描PV后,vgdisplay可以看到vg(我在pvscan之前使用vgdisplay所以不知道直接用vgdisplay是否可以发现vg),只不过没有激活,用vgchange -ay vg0激活vg0就可以挂载。
以下情况为物理盘没有问题,只是LVM2信息丢失的情况:
- 先做一个模拟pv损坏的环境,使用命令【dd if=/dev/zero of=/dev/sdb bs=512 count=1 seek=1】清除硬盘LVM信息。
- 重启计算机,不重启计算机的话,信息还在内存中,LVM不会认为VG有问题。重启机算机后会进入emergency mode。
- 使用PVS(或lvs\vgs)会提示:WARNING: DEVICE FOR pv tvB6G2-7Cai-BAms-gFwP-XiG3-NRUB-oGfsT6 not found or rejected by a filter. 上面的uuid是根据自己机器产生的。
- 使用命令【pvcreate –ff –uuid tvB6G2-7Cai-BAms-gFwP-XiG3-NRUB-oGfsT6 –restorefile /etc/lvm/backup/vg0 /dev/sdb】修复/dev/sdb上的LVM2信息,提示:【couldn’t find device with uuid tvB6G2-7Cai-BAms-gFwP-XiG3-NRUB-oGfsT6 not found or rejected by a filter. Physical volume “/dev/sdb” succesfully create.】
- 这时再执行lvs就不会有错误警告。
上面应该注意到–restorefile后面的参数/etc/lvm/backup/vg0,vg0文件是VG名,其中包含了VG的信息。所以如果要恢复LVM2的信息,重点在于备份该文件,使用【sudo vgcfgbackup -f <备份文件>】使用之后会提示:【Volume group “vg0” successfully backed up.】
http://ju.outofmemory.cn/entry/69969 我是参照这个人的网站做的。