我有一个带有4 + 1个磁盘的软件RAID5arrays,其中2个磁盘出现故障。 我希望通过一些冲击式维护,我可能会让其中一个失效的磁盘再次工作足够长的时间,以便进行块级别的复制来closures映像。
计划是用dd制作4个(或全部5个)磁盘的映像,然后尝试在这些映像上重buildarrays。
有没有什么东西,我错过了,这将使这不可能? 如果不是,我将如何:
显然,有很多事情可能会导致数据损坏,但是有理由认为4个磁盘上的实际数据可能是完整的:
一般来说,这种方法是可行的。 只要你有工作磁盘(你不希望他们失败),你也可以使用设备映射器创build覆盖快照,而不是完全复制磁盘上的数据(可能是一个好东西,副本作为备份,虽然)。
一旦你有图像文件,你将需要创build回环块设备
losetup /dev/loopX /path/to/imagefileX
完成后,您可以使用回送块设备组装您的arrays。 如果您无法恢复最新的故障磁盘,冗余磁盘映像上的时间戳将与其他磁盘映像中的时间戳不同,则arrays将拒绝组装。 只要您确实只对失败之前写入的数据感兴趣,请查看内核RAID文档的“恢复失败的软件RAID”部分。 它应该帮助你通过组装至less一些可恢复的数据。