raid5 交换 3 个硬盘中的 1 个

rao*_*oul 3 mdadm raid5

我想更换一个处于故障前状态的硬盘驱动器(一些重新分配的扇区),它用于具有 3 个磁盘的 raid5 阵列(带有 的软件 raid mdadm)。

是否可以将新硬盘设置为热备用并初始化从故障到备用驱动器的接管?

一些方法建议添加驱动器,然后设置驱动器故障命令。据我所知,在这种状态下,raid5 降级,驱动器故障最终会......

那么是否有可能将数据实时(或重建raid)从故障驱动器“复制”到备用驱动器(不去除其奇偶校验功能),并且在复制或重建过程完成后,移除故障驱动器。

Ans*_*ann 5

是的,您可以(前提是您有3.2+ 内核)。首先,添加一个新驱动器作为备用:

mdadm /dev/md0 --add /dev/sdc1
Run Code Online (Sandbox Code Playgroud)

(分别用 RAID 和磁盘设备替换md0sdc1)。

然后,像这样启动一个复制替换操作:

echo want_replacement > /sys/block/md0/md/dev-sdd1/state 
Run Code Online (Sandbox Code Playgroud)

哪里又md0是您的 RAID 设备,又sdd1是故障驱动器。(实际上,sdd1 是故障驱动器上的一个分区——我更喜欢在分区上而不是在原始磁盘上创建 RAID 集)。

系统会将所有可读块从 复制sdd1sdc1。如果遇到不可读的块,它将从奇偶校验重建它。操作完成后,之前的备用sdc1驱动器(此处:)将变为活动状态,故障驱动器将标记为故障 (F),以便您可以将其移除。