Назад | Перейти на главную страницу

Linux MD RAID с зависанием btrfs и потреблением 100% ЦП

Проблема

В течение последних нескольких недель у меня возникала неприятная проблема на моем физическом сервере с программным обеспечением Linux RAID 6 (md, mdadm) с файловой системой btrfs на нем.

Раз в несколько дней (как я заметил, нерегулярно) md1_raid6 процесс начинает потреблять 100% одного ядра процессора и в течение этого времени весь доступ к файловой системе на btrfs поверх этого рейдового устройства зависает (процессы пользовательского пространства зависают в дисковый сон штат).

В большинстве случаев после нескольких действий "ввода-вывода", таких как список файлов (ls), доступ к информации btrfs (btrfs filesystem, btrfs subvolume) или доступ к устройству (dd и так) файловая система получает магически отклеенный и md1_raid6 процесс освобожден от "активной блокировки" (или чего-то еще, в чем он включен).

Иногда случается и худший случай, когда мне не удается это «волшебное отклеивание». Тогда я не могу даже убийство процессы застряли в дисковый сон состояние, и я вынужден перезагрузить систему.

Когда возникает моя проблема, я очень часто находил похожие сообщения в ядре dmesg журнал:

INFO: task md1_reclaim:910 blocked for more than 120 seconds.

с включенной трассировкой звонков.

Однако есть еще несколько «заблокированных» задач, например btrfs и btrfs-transaction с отслеживанием звонков также включены.

Вопросы

  1. Что должно быть причиной этой проблемы?
  2. Что мне делать, чтобы решить эту проблему?
  3. Может быть проблема с оборудованием? Как я могу это отследить?

Что я сделал до сих пор

Некоторые подробные факты

Информация об ОС

Информация об оборудовании

Информация о RAID

Информация об использовании

Другие операции ввода-вывода