昨日去我们的一个用户那里解决VG突然丢失问题。
用户电话中声称:刚开始还是好好的,用HA的命令停止服务后,两个正在使用的VG
不见了。
用pvscan命令,得到的结果是能找到四个VG,但是另外两个报的是类似下面的信息:
/dev/sde belongs to unknown volumn group "vgoradata"
最开始做LV的机器重新安装了,因此找不到创建时的备份文件。
从硬件层次也考虑,依然无效。
而这两个VG是做过vgexport工作的。因而能在/etc/lvmconf/文件下面看到以这两
个VG名字命名的后缀为conf的文件。
后经高人指点,得知可以考虑使用vgcfgrestore命令。
man了一把,先采用
vgcfgrestore -f ./vgoradata.conf -n vgoradata -t /dev/sdb
的命令测试了一下,发现还能读出相关信息,觉得有戏。
因此开始考虑做实际的恢复(得知用户有数据备份,如果不成功,数据不会有影响)
遂执行下面的命令
vgcfgrestore -f ./vgoradata.conf -n vgoradata -v /dev/sdb
vgcfgrestore -f ./vgoradata.conf -n vgoradata -v /dev/sdc
vgcfgrestore -f ./vgoradata.conf -n vgoradata -v /dev/sdd
都报成功。
然后在用pvscan,正常,vgscan,正常,vgchange -ay vgoradata,mount一切ok!
于是采用同样的方法恢复另外一个,也ok。
这是在有备份文件的情况下能这样做。而这两个文件应该是做vgexport生产的,但
是VG出故障之前,也就只做了
vgexport,vgimport命令,这是这两个命令带来了好处,还是坏处呢?
为了以防万一,接下来给他们做了备份,命令如下:
vgcfgbackup vgoradata -v
这样把四个VG的信息都做了备份。