我想更换 10 个磁盘 raid6(linux 软件 raid)中的所有磁盘。
我可以通过拉磁盘来做到这一点,让阵列重建,冲洗,重复。
但这将花费很长时间,并导致 10 次重建,这很可能会给所有 10 个磁盘带来更多压力,而不仅仅是读取每个磁盘一次。
我的问题是:
我可以关闭阵列,将每个旧磁盘添加到新磁盘,然后使用 10 个新磁盘启动阵列吗?
在理想世界中,我会建立另一台服务器并通过网络复制数据,但这不是理想世界。
我想更换 10 个磁盘 raid6(linux 软件 raid)中的所有磁盘。
我可以通过拉磁盘来做到这一点,让阵列重建,冲洗,重复。
但这将花费很长时间,并导致 10 次重建,这很可能会给所有 10 个磁盘带来更多压力,而不仅仅是读取每个磁盘一次。
我的问题是:
我可以关闭阵列,将每个旧磁盘添加到新磁盘,然后使用 10 个新磁盘启动阵列吗?
在理想世界中,我会建立另一台服务器并通过网络复制数据,但这不是理想世界。
假设您没有更改磁盘的大小(即,新磁盘必须至少与旧磁盘一样大),
dd
用于复制每个驱动器是完全有效的(并且可能是最好的主意)。我自己已经使用ddrescue
坏/脾气暴躁的驱动器来修复失败的阵列。您也可以直接 dd 到新驱动器。确保设置bs=1M
或类似的东西以减少复制所需的时间。您首先要停止阵列,并将其从您的
md
配置中删除,以防止它被自动重新组装。假设您只有 10 个驱动器的空间,您可以一次更换 5 个。我建议使用screen
它来防止终端断开连接(特别是通过 SSH),并允许您同时启动所有 5 个命令。让它运行,然后切换到另一组 5 个旧的和 5 个新的并做同样的事情。将所有新的放回并重新组装您的md
阵列。