В течение последних нескольких недель у меня возникала неприятная проблема на моем физическом сервере с программным обеспечением 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
с отслеживанием звонков также включены.
Я поддерживаю систему в актуальном состоянии, с последним стабильным ядром, предоставляемым пакетами Debian
Я управляю обоими btrfs scrub
и fsck.btrfs
чтобы исключить проблему с файловой системой btrfs.
Я прочитал все физические диски (с dd
команда) и выполните самотестирование SMART, чтобы исключить проблему с дисками (хотя чтение / запись badblocks
еще не проверялись).
Я также переместил все файлы из пораженной файловой системы, создал новая файловая система btrfs (с недавним btrfs-progs
) и переместил файлы обратно. Эта проблема все же появилась снова.
Я пытался прикрепить strace
ездить на велосипеде md1
процесс, но безуспешно (возможно ли вообще strace
работает поток ядра?)
Конечно, я пытался найти похожие проблемы в Интернете, но мне это не удалось.
Информация об ОС
Информация об оборудовании
Информация о RAID
md0
) md1
) Информация об использовании
rsnapshot
rsnapshot
настроен на использование снимки btrfs для ежечасного и ежедневного резервного копирования и rsync
копировать новые резервные копииДругие операции ввода-вывода
iostat
внутренне контролировать ввод / вывод