服务器停电导致虚拟机一块硬盘丢失

今天重启虚拟机,发现虚拟机一块磁盘“消失”了attachments-2016-06-yKl9sT7Q5767569981fc

赶快到hypersupisor上面加载下。

[root@INTER ~]# virsh attach-disk db-master /dev/sda18 vdd


在到虚拟机器上pvs下发现丢失的磁盘回来了

attachments-2016-06-ockHPcjE576757307513

沾沾自喜的时候,发现

attachments-2016-06-NJdEMkgx576757b22c4e

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

lvdislay的时候发现

attachments-2016-06-1H5YMHRI576758314d72

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

attachments-2016-06-p0VUX6Vb576758880200

又提示拒绝执行,让使用“部分激活模式” activationmode partial

有没缺胳膊少腿,activationmode partial个毛啊,

使用vgcfgbackup 导出lvm的元数据文件,导出的文件默认位于 /etc/lvm/backup下面,打开此文件

vim /etc/lvm/backup/webdata       发现

attachments-2016-06-pGws43J0576759cc2e40

有两个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 下的逻辑卷中的信息。


attachments-2016-10-g5KaSfTd5816f2f5460f看到了吗,不但丢了一个/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,见下图:

attachments-2016-10-5KW9axMa5816f529da80

attachments-2016-10-5KW9axMa5816f529da80

这也没啥大关系,既然不属于逻辑卷webdata ,那就加入吧。执行命令

vgextend /dev/vdd  webdata

好吧现在 pv(/dev/vdd) 已经属于逻辑卷 webdata,但LV丢了,做这些没有毛线用啊。并且webdata 这个信息之前也没有备份过。活着好无望的赶脚~~~~~~~~~

无望中,随便浏览下etc/lvm/archive目录,这下面都是之前数次突然停电的时候,lvm的归档信息,虽然都有点小缺陷,但至少LV的信息是完整的。只要LV信息完整就可以恢复丢失的LV

了,突然间精神抖擞,能量满满的。

attachments-2016-10-mTN4auqj5816f8feae7c

找到一个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,我的数据又回来了,我胡汉山回归了。

请先 登录 后评论
  • 0 关注
  • 0 收藏,510 浏览
  • 石天 提出于 2016-06-20 10:53

相似问题