mdadm可以将RAID5转换成RAID1吗?

我有一个由3个磁盘组成的RAID5,其中一个坏了。 我想知道是否可以将这两个磁盘转换为RAID1,而不会丢失数据,也不需要在别处备份数据。

你只剩下一半的容量,所以如果文件系统已经超过了一半,那将是不可能的。 即使有足够的可用空间,操作也需要调整文件系统的大小,这需要对文件系统有深入的了解。

另外,将普通的resize工具应用于劣化的RAID5,然后再将其转换为RAID1,这意味着对于大部分操作,您将会执行大量写入降级RAID5的操作。 在该操作过程中出现的另一个磁盘故障将使您几乎没有机会恢复您的数据(即使您以某种方式设法使第一个故障磁盘再次活动)。

安全地执行操作必须首先识别RAID5的哪些数据磁盘具有空闲块的区域。 所有这些空闲块以及两个空闲块的奇偶校验可以在转换操作期间用作暂存空间。

如果可以识别出足够的这种暂存空间,原则上可以首先执行一系列“安全”写入以重新获得冗余,然后从这一点开始转换为RAID1。

执行这项任务的软件将是复杂的,很less使用,因此没有得到很好的testing。 即使我们能find这样的软件,我也不会相信任何重要的数据。

我从这个结论是,如果数据是重要的,你得到一个新的磁盘ASAP。

没有适当的备份绝对不要尝试类似的事情。 我甚至不鼓励你在没有完全备份的情况下更换损坏的磁盘:如果在重build期间第二块磁盘出现故障,你将会遇到麻烦。

所以, 首先要做的是对所有数据进行连贯的备份。 然后,如果你真的想RAID1超过RAID5,更安全的赌注是摧毁arrays,重新创buildRAID1,并在这里恢复您的数据。