如何取消标记“失败”的 md 设备?

如何取消标记“失败”的 md 设备?

为了清除 md 中的软件错误,我使用以下命令将 RAID 的一半(RAID1 中的 /dev/sda1 和 /dev/sdb1)标记为有故障:

mdadm /dev/md2 --fail /dev/sdb1
mdadm /dev/md2 --remove /dev/sdb1

但是现在我想使用“失败”的那一半。也就是说,/dev/sda1我不想使用,而是想使用/dev/sdb1,但是 mdadm 拒绝将其联机:

mdadm --stop /dev/md2
mdadm -A /dev/md2 /dev/sdb1 --run --force

这是失败的,因为它认为它是/dev/sdb1一个“备用”而不再是阵列的实际成员。

答案1

您正在使用-A哪个--assemble,但您应该使用-a哪个--add

如果我没记错的话,添加到现有阵列的设备(重新)总是作为备用设备添加,然后不久之后内核就会发现该阵列既已降级又有备用设备,然后它将开始重新镜像。您可以使用 来查看这一点watch cat /proc/mdstat

答案2

假设数组未组装或运行(OP 显示为未运行),则应该运行的整个命令是下列命令之一:

如果阵列未运行:

mdadm --assemble /dev/md2 /dev/sdb1

但是如果阵列正在运行:

mdadm --manage /dev/md2 -a /dev/sdb1

答案3

我认为取消标记分区的最简单方法是将其重新添加到阵列中。顺便说一句,如果您需要进行测试,请不要从阵列中移除驱动器。将其标记为有故障,如果您重新启动,它将返回到另一个分区。

mdadm /dev/md2 --add /dev/sdb1

相关内容