不知哪个狗日的又把服务器给弄断电了,这台服务器上跑了好几个虚拟机,开机后,进入虚拟机里面,挂载数据的一个lvm找不到。

还是上班的时候给弄断电的,

本来还以为,通过vgcfgbackup 把LVM的元数据导出来,把出问题的地方修改后,通过 vgcfgrestore -f /etc/lvm/backup/webdata 给导回去就行了,结果一直报一个莫名其妙的错误:
can't recover LVM volume: Please specify a *single* volume group to restore
其实想想也对,此时通过pvdisplay查看,如下图:

两个pV都是处于unkonw状态,通过 vgcfgrestore -f /etc/lvm/backup/webdata恢复肯定是不行的,原来只所以可以是因为,PV都是正常的,只是vg的元数据里面有些选项是missing而已
如图:

应为pV Name为Uknow device,如果必须通过pvcreate重新创建该PV,如果直接重建的话,每次的UUID都是不一样的,原来磁盘的数据可能会丢失,所以还需要知道原来的pv的UUID
这些数据可以从/etc/lvm/backup中得到,系统一般会隔一段时间会有备份,如果你重来没有备份过,那就惨了,所以,/dev/lvm/backup的元数据备份也很重要哦
(信息大概就相当于整个VG的元数据,这个文件非常重要,我们就是通过这个文件来恢复整个VG的信息的)
通过 vgcfgbackup 导出一份VG的备份,这份元数据里面的pvname也是unkonw device的,通过原来的备份可以补全。

然后通过 pvcreate /dev/vdc -u 7WhNcy-kCjx-nNLp-FN8c-0Of5-dCyP-mNs7sZ --restorefile /etc/lvm/backup/webdata
其中的 -u 指定UUID,也就是,/dev/vdc 使用原来的UUID:7WhNcy-kCjx-nNLp-FN8c-0Of5-dCyP-mNs7sZ ,后面的--restorefile 是必须提供的,因为要恢复PV,只提供
uuid还不够,里面的容量,位置信息,--restorefile的解析见下图:

运行后,提示创建成功,pv恢复成功,

通过同样的方式,把另外一个pv恢复:如图:

不过此时的lvdispay显示lv status还是not available状态,通过lvchange -ay /dev/webdata/vol001 激活,然后mount -a 挂载,ok 搞定,收工。。。。。。。。。。。。。。。。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!