我有一个卷组,它由三个硬盘和几个逻辑卷(var、tmp、root、swap)组成。其中一个硬盘最近崩溃了,但我急需逻辑卷 var 中的一些数据。因此,在重新启动没有崩溃磁盘的机器后,我运行
vgchange -D -a y volGroup0
以激活卷组并挂载逻辑卷。但是,该命令返回
Cannot activate XXX. All segments are missing
...
0 logical volume(s) in volume group "volGroup0" now active.
这是什么意思?所有数据都丢失了吗?下一步该怎么做才能挽救一些数据?
答案1
为了恢复数据(请注意,故障磁盘上的任何数据都是丢失的),您需要用新磁盘替换故障磁盘并重建 LVM。否则,您将无法挂载该组。
为此,您需要使用 了解故障磁盘的 UUID pvscan
。它会说缺少 UUID,而这正是您所需要的。
然后,当服务器中有新磁盘时,输入:pvcreate --uuid uidhere /dev/sdc
其中“uidhere”是您从 pvscan 获取的 UUID,/dev/sdc
是新的磁盘设备。
然后,输入 volgroupname vgcfgrestore volgroupname
,其中 volgroupname 是给予卷组的名称 (so vgcfgrestore volGroup0
)。
然后,键入vgscan
以恢复卷组。最后,vgchange -ay volGroup0
激活该组。如果受影响的分区无法读取,您可能需要恢复e2fsck
受影响的分区。
参考:http://www.novell.com/coolsolutions/appnote/19386.html#DiskPermanentlyRemoved