从LVM镜像的一个PV恢复数据


3

包含一个分区的1TB磁盘是包含一个LV的VG中唯一的PV,在没有报告任何错误的情况下变得无法忍受地失败。我的第一个想法是尝试使用LVM将数据镜像到另一个磁盘并继续不间断,所以我这样做:

  1. 1TB磁盘在同一台机器中设置的系统镜像中失败
  2. 将该磁盘添加到故障磁盘的VG
  3. 改变LV有一面镜子

我在一夜之间留下来复制,之后它报告复制了0.05%的数据。考虑到这是一个失败,我买了两个替换1TB磁盘考虑到这一点:

  1. 将第一个新磁盘添加到mdadm阵列(完成,没问题)
  2. 将备份还原到从mdadm集中删除的正常磁盘上的替换LV(完成,没有问题,缺少大约一天的更改)
  3. 克隆从故障磁盘到第二个新磁盘的任何可读内容(在备用计算机中完成,ddrescue表示在重试后完全成功)
  4. 挂载克隆并将更改与从备份恢复的旧版本复制(粘贴在此处)
  5. 将第二个新磁盘添加到替换VG并镜像替换LV

问题是我无法弄清楚如何让LVM让我访问故障磁盘的克隆。

LVM发现VG中缺少PV,并且不会让我激活VG,包括使用--partial或进行任何更改,包括lvconvert -m0lvconvert --repair,直到找到丢失的设备。 man vgreduce表示vgreduce --removemissing将删除LV,而不仅仅是丢失PV上的镜像。至少有一个消息来源建议可以通过替换丢失的PV来使其可访问pvcreate --uuid,这需要将一个好的磁盘从mdadm阵列物理地移动到备用机器(或购买另一个新的),并且显然需要备份LVM VG的元数据(我没有)。

访问克隆LV的最直接的方法是什么?
可以在没有将另一个磁盘添加到备用计算机的情况下完成吗?


UPDATE

我确实将另一个磁盘移动到备用机器中,并试图重新创建丢失的PV。LVM似乎不支持自动娱乐,所以我基本上都不知所措,直到我以某种方式成功地使LV可用。它上面的ext4 FS被无法识别 - e2fsck反复尝试修复它。

我再次尝试,使用ddrescue从故障磁盘复制到相同的好磁盘(这次报告一些错误),这次LVM让我可以在没有任何额外磁盘的情况下使用卷(就像我预期的那样) 。这次FS基本上完好无损,我能够恢复我希望恢复的一切。

我不知道为什么LVM拒绝在第一个副本上激活VG,并且在第二个副本上按预期工作。谷歌没有回复任何解释,也没有答案,我担心LVM卷的恢复是不可靠的,不使用它可能会更好。


我不确定我是否完全理解这个问题,但是vgextend --restoremissing VG NEWPV不允许您将带有恢复数据的新磁盘添加到VG中?
火星人

在我遇到困难的时候,没有恢复的数据,只有失败驱动器的无法访问的克隆。 --restoremissing仅用于重新连接LVM未能自动重新连接的PV,但具有0.05%镜像的磁盘已重新调整用途(在步骤2中)以更换发生故障的驱动器。
ShadSterling
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.