今天重启虚拟机,发现虚拟机一块磁盘“消失”了
赶快到hypersupisor上面加载下。
[root@INTER ~]# virsh attach-disk db-master /dev/sda18 vdd
在到虚拟机器上pvs下发现丢失的磁盘回来了

沾沾自喜的时候,发现

每个PV都是正常的啊,VG竟然不存在。why???why?发疯了要。
lvdislay的时候发现

LV竟然是不可用的状态,那就赶快启用啦

又提示拒绝执行,让使用“部分激活模式” activationmode partial
有没缺胳膊少腿,activationmode partial个毛啊,
使用vgcfgbackup 导出lvm的元数据文件,导出的文件默认位于 /etc/lvm/backup下面,打开此文件
vim /etc/lvm/backup/webdata 发现

有两个pv的flag标签竟然都是MISSING状态,问题就出在这里了,这个可能是以前使用 --activationmode partial 留下的后遗症,
把上面flag修改正常,也就是 flags = [] 样式,后然,
[root@db-master backup]# vgcfgrestore -f /etc/lvm/backup/webdata webdata
然后再次 mount -a 熟悉的分区终于又出现了。哈哈,心情大好!
昨天又停电了,这台数据库机器照例出问题(这样停电下去,机器硬盘早晚得OVER),这次LV的逻辑分区都找不到了(2016-10-31日),先看下/etc/lvm/backup/webdata 下的逻辑卷中的信息。
看到了吗,不但丢了一个/dev/vdd 的pv信息,连一个LV的信息都没有了,敲入 vgs -o +devices 和lvs -o +devices 都没有任何回应。这该如好是好,好吧,不管三七二十一,既然丢了pv 先把pv补回来,再225的母机上执行virsh attach-disk db-master /dev/sda18 vdd ,到252 上,看到 分区/dev/vdd 回来了。但 /dev/vdd 不属于任何VG,见下图:


这也没啥大关系,既然不属于逻辑卷webdata ,那就加入吧。执行命令
vgextend /dev/vdd webdata
好吧现在 pv(/dev/vdd) 已经属于逻辑卷 webdata,但LV丢了,做这些没有毛线用啊。并且webdata 这个信息之前也没有备份过。活着好无望的赶脚~~~~~~~~~
无望中,随便浏览下etc/lvm/archive目录,这下面都是之前数次突然停电的时候,lvm的归档信息,虽然都有点小缺陷,但至少LV的信息是完整的。只要LV信息完整就可以恢复丢失的LV
了,突然间精神抖擞,能量满满的。

找到一个lv完整的归档文件,这里是webdata_00019-671656155.vg
然后通过 vgcfgrestore -f /etc/lvm/archive/webdata_00019-671656155.vg webdata ,OK成功执行恢复。
然后lvs -o +devices ,熟悉的回应出现了,这个时候通过lvdisplay 查看,LV status 还是不可用的状态,执行 lvchange -ay /dev/webdata/vol001 顺利成功,mount -a
thank goodness,我的数据又回来了,我胡汉山回归了。