我在 LVM 中有三个驱动器:一个 2 TB 驱动器和两个 1 TB 驱动器(后来添加)。其中一个 1 TB 驱动器(我相信是第三个)已经坏了。跨越所有三个驱动器的是一个 XFS 分区。
阅读:http://www.novell.com/coolsolutions/appnote/19386.html我发现处理这个问题的一种方法是更换坏掉的驱动器并复制元数据。但是,我目前没有 1 TB 的驱动器,而且无法轻易获得。
鉴于此,我有什么选择?驱动器上没有什么重要的东西(如果有的话,我会将它们放在 RAID 1 中),但我不介意尝试恢复。有没有一种简单的方法可以强制 LVM 只使用两个驱动器,而将其他任何东西都 NUL?(这样 fsck 就可以发挥作用了。)
答案1
您可以使用 dmsetup 创建一个假的 ioerror 设备,该设备每次读取时都会返回错误。然后使用lvm -P
将允许您在工作设备上进行操作,并将 /dev/ioerror 替换为丢失的设备。这将允许您获取位于工作驱动器上的数据,并使用 IO 错误获取位于丢失驱动器上的部分。
看http://e2salvage.sourceforge.net/florian2.html了解创建 /dev/ioerror 的分步说明。从那里开始,正常使用 lvm,但使用 -P 表示可以接受部分成功。