记一次Linux磁盘逻辑卷丢失的问题
服务器异常断电,重启服务器之后,开机自启动的服务全部都无法启动,最后发现,服务所在的磁盘丢失,逻辑卷也不存在。很诡异的一个问题,目前还未找到逻辑卷丢失的原因。先把解决方法记录下。
现象:
lvm信息看不到或者无法使用
1)刚创建完vg,无法挂载;
2)lv是挂载且正在使用的场景(/dev目录下能看),但pvs、vgs、lvs都看不到相关信息,当遇到主机故障、系统重启等场景,会没有办法挂载使用
我的情况是第二种
解决办法如下:
1、尝试重启Linux系统,看是否能看到vg pv lv信息,能否挂载使用
也不必担心重启可能会导致问题更加严重,如果不重启,无法恢复lvm信息,因为pv、vg、lv在/dev/目录下会存在一部分,重启后才能完全消失
2、重启后不能恢复,按照如下步骤处理
2.1、执行以下命令查看lvm配置文件备份内容:
more /etc/lvm/backup/datavg
2.2、执行以下命令进行恢复(使用原来的PV UUID来创建PV,并使用lvm配置备份文件来恢复信息):
pvcreate /dev/sdb -u 【physical_volums中pv0中的id,而且是丢失的逻辑卷(盘)的】 --restorefile /etc/lvm/backup/datavg
2.3、恢复datavg的vg信息:vgcfgrestore datavg
注意:执行vgcfgrestore恢复vg信息后不能立即使用,执行lvdisplay显示lv信息,会处于NOT available状态,需要执行vgchange -ay激活vg
2.4、激活之前先检查vg、pv、lv信息是否都已恢复:vgs && pvs && lvs
2.5、如果已经都恢复了,进行激活:vgchange -ay datavg
2.6、挂载使用:mount /dev/datavg/lv_app /app
最后启动服务,都正常了
拓展小知识:
1、Linux的LVM会存储用户对PV/VG/LV的每一步操作,并自动把当前的VG的信息备份到一个文件里面,该文件为/etc/lvm/backup/VG名
2、该文件内记录的内容跟vgdisplay/pvdisplay/lvdisplay输出的信息一致,里面包含关于恢复VG信息至关重要的PVUUID
Emmm,当时的问题忘记截图了,后续再补充吧