Драйвер Linux md raid задерживает восстановление / проверку нескольких устройств, если они используют одно и то же родительское устройство.
У нас есть настройка, в которой диски проверяются через устройство сопоставления, они используют bcache и т. Д. И, наконец, на них совершается набег с помощью md. К сожалению, это означает, что драйвер md не распознает их как имеющих один и тот же физический родительский элемент. И это приводит к массивной перегрузке ввода-вывода при запуске автоматической проверки (на каждом физическом диске происходит около 10 рейдов).
Я попытался найти какую-либо документацию о механизме обнаружения одного и того же родителя, но мне это не удалось.
Есть ли способ «намекнуть» драйверу MD, какие рейды на каких физических дисках или какие рейды MD имеют одного и того же родителя?
Другой вариант - отключить автоматическую проверку и написать сценарий моей собственной «индивидуальной» проверки, или, возможно, для этого уже есть какой-то демон. Но я считаю, что лучше заставить обнаружение работать ...
(Я не хочу менять настройку, так как мы полностью удовлетворены другими способами)
РЕДАКТИРОВАТЬ: это Fedora Linux (точнее, версия 19)
Я предполагаю, что это система на основе Red Hat, поскольку вы не указали (и это может быть важно):
Быстрое исправление - отредактировать /etc/sysconfig/raid-check
и установить MAXCONCURRENT=1
. Это приведет к последовательной проверке всех ваших RAID-массивов.
Что касается алгоритма, /usr/sbin/raid-check
это просто сценарий оболочки, и вы можете легко прочитать его, чтобы увидеть, что он делает.