仅使用 2 个磁盘即可组装并运行四磁盘 md raid10-far,并且以“干净、降级”状态运行。是错误还是我遗漏了什么?

仅使用 2 个磁盘即可组装并运行四磁盘 md raid10-far,并且以“干净、降级”状态运行。是错误还是我遗漏了什么?

今天,我正在解决 raid10-far 上带有四个磁盘的 raid 故障。一个磁盘发生故障,另一个磁盘在硬重启后未重新添加。mdadm -D 报告它很干净,并且只使用四个磁盘中的两个运行。当我尝试使用 dd if=/dev/md1 of=/dev/null 读取 md 阵列时,读取在 1.5MB 后立即失败,dmesg 中显示“设备 md1、逻辑块 XXX 上的缓冲区 I/O 错误”。假设我使用默认的 512KB 块,那么不可避免的事情发生了:根据 raid10-FAR 中的块分布,位于两个丢失磁盘之一上的每四个块都不可用http://goo.gl/5Xl7k

阵列可以以如此糟糕的方式组装,这是否有某种目的,或者这是 md-raid10-far 实现中的一个错误?在某些情况下,Raid10-near 可以以这种方式组装,所以也许开发人员忘记修改决定是否可以组装的代码?

我使用 Ubuntu Server 12.04、内核 3.2.0-26-generic、mdadm v3.2.3

相关内容