RAID恢复后重buildLVM

我有4个磁盘RAID-5ed创buildmd0,另外4个磁盘RAID-5ed创buildmd1。 然后这些通过LVM组合来创build一个分区。

在我离开的时候发生了停电事故,当我回来的时候,看起来好像md1中的一个磁盘不同步 – mdadm一直声称只能find4个驱动器中的3个。 我唯一能做的就是在这四个磁盘上使用mdadm --create ,然后让它重build数组。 这对我来说似乎是一个不好的主意,但我所拥有的所有东西都是非常重要的(尽pipe这需要一段时间才能完全恢复),某个地方的某个主题声称这样可以解决问题。 如果这个数据全部丢失了,那么我想你可以停止阅读,只是告诉我。

等待了四个小时的arrays重build,md1看起来很好(我猜),但是lvm抱怨无法find具有正确UUID的设备,大概是因为md1更改了UUID。 我使用了这里logging的pvcreatevgcfgrestore命令。 试图运行一个lvchange -ay它,但是,给了我一个resume ioctl failed消息。

我有什么希望恢复我的数据,或者我已经完全搞砸了吗?


我的LV线性设置。 似乎我应该能够通过使用类似于TestDisk的至less恢复从md0的数据。 但是, 示例显示了TestDisk中列出的LVM分区,而我只能看到sda,sdb等。 和md0和md1。

 [$]> lvdisplay --- Logical volume --- LV Name /dev/VolGroup/lvm VG Name VolGroup LV UUID b1h1VL-f11t-TGJv-ajbx-4Axn-wi89-fReUKu LV Write Access read/write LV Status suspended # open 0 LV Size 6.14 TiB Current LE 1609648 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:0 [$]> lvchange -ay /dev/VolGroup/lvm device-mapper: reload ioctl failed: Invalid argument 

我担心,通过将两个(RAID)磁盘组合成一个LVM卷,然后删除并重新创build其中一个磁盘,实际上已经丢失了您的数据。 如果你使用LVM条纹,他们肯定没了,因为你的所有文件都在那个磁盘上。 在线性模式下,您可以使用某些磁盘恢复软件重新获得部分文件。

可惜,因为你的基本configuration是明智的。 由于RAID5,即使缺less一个磁盘,您也应该可以访问该卷。 我已经build议在“mdadm –create”之前进行备份…

下一次,你有两个select…要么你可以手动尝试组装raid使用mdadm –assemble而不是–create。 或者你可以使用类似于文件系统检查的“ckraid”,但对于RAID 5arrays。 (Linux软件Raid如何提到后者)。

就个人而言,如果你使用没有UPS的SW Raid,我会亲自去Raid 10而不是5或6,因为它应该更加宽容电源问题。