![mdadm 可以将 RAID5 转换为 RAID1 吗?](https://linux22.com/image/656421/mdadm%20%E5%8F%AF%E4%BB%A5%E5%B0%86%20RAID5%20%E8%BD%AC%E6%8D%A2%E4%B8%BA%20RAID1%20%E5%90%97%EF%BC%9F.png)
我有一个由 3 个磁盘组成的 RAID5,其中一个磁盘坏了。我想知道是否可以将这两个磁盘转换为 RAID1,而不会丢失数据,也不必在其他地方备份数据。
答案1
您将只剩下一半的容量,因此如果文件系统已经占满一半以上,则无法执行此操作。即使有足够的可用空间,该操作也涉及调整文件系统的大小,这需要对文件系统有深入的了解。
此外,在将降级的 RAID5 转换为 RAID1 之前对其应用普通的调整大小工具意味着,在操作的大部分时间里,您将对降级的 RAID5 执行大量写入操作。如果在此操作期间发生另一个磁盘故障,您几乎没有机会恢复数据(即使您设法让第一个故障磁盘恢复正常)。
要安全地执行此操作,首先必须确定 RAID5 中两个数据磁盘都有空闲块的区域。所有这些空闲块以及两个空闲块的奇偶校验都可以在转换操作期间用作暂存空间。
如果可以识别出足够的此类临时空间,则原则上可以首先执行一系列“安全”写入以重新获得冗余,然后从那时开始转换为 RAID1。
执行该任务的软件很复杂,很少使用,因此没有经过充分测试。即使我们能找到这样的软件,我也不会相信它能处理任何重要数据。
我的结论是,如果数据很重要,你应该尽快获得一个新磁盘。
答案2
当然不是在没有正确备份的情况下尝试类似的事情。我甚至不鼓励你在没有先进行完整备份的情况下更换损坏的磁盘:如果重建过程中第二个磁盘发生故障,你就会遇到麻烦。
所以,首先要做的事情是对所有数据进行连贯备份。然后,如果您确实想要 RAID1 而不是 RAID5,更安全的做法是销毁该阵列,将其重新创建为 RAID1 并在此处恢复数据。