我有一台使用了 3 年的服务器,有两个相同的磁盘。我打算在它们失效之前将它们替换掉。我可以在 raid 中再添加两个新磁盘并(重建后)最终删除两个旧磁盘吗?或者哪种方法是最好的?谢谢
答案1
因此,假设您正在使用 mdadm,您可以完全按照您的建议进行操作。唯一需要注意的是,raid 监控实用程序通常一次仅处理一个磁盘,并且通常当您将一个磁盘标记为故障时。此外,您只需要确保在从 raid 阵列中删除旧磁盘之前已完成数据复制,否则您最终将删除“活动”磁盘,而新磁盘上没有任何内容,并会损坏您的阵列。
您会发现对于执行此操作有用的命令如下:
要将新磁盘添加到阵列:
# mdadm /dev/<mddevice> --add /dev/<newdisk>
查看状态和恢复过程:
cat /proc/mdstat
要将旧磁盘标记为“失败”并将其从阵列中删除:
# mdadm /dev/<mddevice> --fail /dev/<olddisk> --remove /dev/<olddisk>
我建议第一次一次执行一个磁盘,并在从阵列中删除第二个(可能是唯一可用的磁盘)之前通过 mdstat 检查 raid 阵列的状态。我提出这一建议的唯一原因是经验告诉您采取几个小步骤而不是一个大步骤并面对全面的灾难恢复。预防远胜于治疗。
答案2
我不明白在一般情况下如何同时添加两个磁盘并迁移过来。 (我知道如果您将 LVM 用于 RAID1,您可以使用 LVM 技巧来完成类似的操作。)
看起来在任何情况下它都应该起作用是这样的:
- 拉老HD2
- 插入新的HD2
- 等待 RAID 通过将旧 HD1 复制到新 HD2 来处理 HD2 的故障
- 拉老HD1
- 插入新的HD1
- 等待 RAID 通过将新 HD2 复制到新 HD1 来处理 HD1 的故障
但我不是一个系统专家,所以对此持保留态度。请记住,由于我们这里有故障转移事件,因此我认为即使新硬盘比旧硬盘更大,您也不会通过执行此操作获得容量升级。