Linux MD Raid 同一设备检测

Linux MD Raid 同一设备检测

如果多个设备共享同一个父设备,Linux md raid 驱动程序会延迟多个设备的恢复/验证。

我们已设置磁盘通过设备映射器进行分区,它们使用 bcache 等,最后使用 md 进行 raid。不幸的是,这意味着 md 驱动程序无法识别它们共享相同的物理父级。当自动验证开始时,这会导致严重的 I/O 拥塞(每个物理磁盘上都有 10 个 raid)。

我试图找到有关如何检测同一个父级的机制的任何文档,但失败了。

有什么方法可以“提示” md 驱动程序哪些 raid 位于哪些物理磁盘上或哪些 md raid 共享同一个父级?

另一个选项是禁用自动验证并编写我自己的“逐个”验证脚本,或者可能已经有某种守护进程可以执行此操作。但我觉得让检测工作起来是更好的方法...

(我不想改变设置,因为其他方面我们已经非常满意了)

编辑:这是一个 Fedora Linux(准确地说是版本 19)

答案1

我假设是一个基于 Red Hat 的系统,因为您没有指定(这可能很重要):

快速修复方法是编辑/etc/sysconfig/raid-check并设置MAXCONCURRENT=1。这将导致所有 RAID 阵列被顺序检查。

至于算法,/usr/sbin/raid-check只是一个 shell 脚本,您可以轻松阅读它以了解它在做什么。

相关内容