Linux RAID5 阵列错误

Linux RAID5 阵列错误

我有两个 RAID5 阵列,一个用于 ,/boot一个用于/。这两个阵列都由三个分区组成:
MD0:/boot
MD1:/

我的问题是,如果我分离了一个磁盘(消失),那么 mdadm 会打印出驱动器出错了。好的,没问题,但是这条消息只来自 MD1。而 MD0 什么也没说。看这个:

md1 : active raid5 sda2[3](F) sdb2[2] sdc2[1]
      7383040 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU]

md0 : active raid5 sda1[3] sdb1[2] sdc1[1]
      995328 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/3] [UUU]

sda 驱动器消失了,但只出现在 MD1 阵列中。我可以使用以下命令从 MD1 中分离驱动器:mdadm /dev/md1 -r detached。因为驱动器不存在。

但我无法脱离 MD0:

mdadm: hot remove failed for 8:1: Device or resource busy

因为 mdadm 没有提示 sda 驱动器出错了。但是为什么呢?

答案1

Linux 的 MD 堆栈在尝试读取或写入设备时会发现设备发生故障,操作失败。只要它没有尝试读取或写入/boot,它就可能不会发现设备sda1发生故障。

当它没有失败时,您无法将其分离,但您可以使用 手动强制它失败mdadm --manage /dev/md0 --fail /dev/sda1

相关内容