Массив в состоянии degraded: выпал диск
Массив с выпавшим диском продолжает работать, и службы этого не замечают. Опасность в том, что запас исчерпан: следующий отказ диска означает потерю данных. Уведомление о таком событии настраивается отдельно.
Вероятные причины
По порядку: сверху то, что встречается чаще.
-
Диск выпал из массива
Ошибки чтения или отключение диска выводят его из массива. Массив переходит в состояние с сокращённой избыточностью.
-
Уведомления о состоянии массива не настроены
Служба наблюдения за массивом умеет отправлять письма. Без настройки о выпадении диска никто не узнает.
-
Восстановление идёт и нагружает диски
После замены массив синхронизируется, и это заметно замедляет службы. Иногда это принимают за отдельную проблему.
Диагностика
Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.
Состояние всех массивов и прогресс восстановления.
cat /proc/mdstatПодробности по массиву: диски, состояние, события.
sudo mdadm --detail /dev/md0 | head -25Сообщения ядра о массиве.
journalctl -k -b --no-pager | grep -iE "md/raid|md0" | tailРешение
Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.
- Почему происходит
- Ошибки чтения или отключение диска выводят его из массива. Массив переходит в состояние с сокращённой избыточностью.
- Как проверить
-
Посмотрите состояние массивов.
cat /proc/mdstat sudo mdadm --detail /dev/md0 2>/dev/null | head -20
- Как исправить
- Замените диск и добавьте его в массив. До завершения восстановления система уязвима: не стоит тянуть.
- Почему происходит
- Служба наблюдения за массивом умеет отправлять письма. Без настройки о выпадении диска никто не узнает.
- Как проверить
-
Посмотрите состояние службы наблюдения и настройки.
systemctl is-active mdmonitor 2>/dev/null || systemctl is-active mdadm 2>/dev/null grep -i mailaddr /etc/mdadm/mdadm.conf 2>/dev/null
- Как исправить
- Настройте уведомления и проверьте их тестовым сообщением. Мониторинг состояния массива стоит вынести и во внешнюю систему.
- Почему происходит
- После замены массив синхронизируется, и это заметно замедляет службы. Иногда это принимают за отдельную проблему.
- Как проверить
-
Посмотрите прогресс восстановления.
cat /proc/mdstat
- Как исправить
- Дождитесь завершения. Скорость восстановления можно ограничить, чтобы службы страдали меньше — но тогда уязвимое окно дольше.
Пример вывода
Массив работает без одного диска. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.
kernel: md/raid1:md0: Disk failure on sdb1, disabling device.
kernel: md/raid1:md0: Operation continuing on 1 devices.
$ cat /proc/mdstat
md0 : active raid1 sda1[0] sdb1[1](F)
976630464 blocks super 1.2 [2/1] [U_]
Связанные ошибки
- Input/output error в журнале службы Ошибка ввода-вывода: проблемы носителя, отвалившийся сетевой ресурс, повреждённая файловая система. Что проверять срочно.
- Файловая система перешла в режим только для чтения на ходу Служба работала и вдруг перестала писать: ядро перемонтировало раздел после ошибки. Срочные действия.
- fsck failed: проверка файловой системы остановила загрузку Проверка файловой системы при загрузке завершилась неудачей. Как прочитать причину, запустить проверку вручную и что делать с корневым разделом.
- File corrupted or uncleanly shut down, renaming and replacing Журнал повреждён после жёсткой перезагрузки: что означает сообщение и когда нужно вмешательство.
- I/O error, dev sda, sector N: ошибка носителя Ядро сообщает об ошибке чтения или записи на устройстве. Что делать со службой и данными.
- Mount process exited, code=exited, status=32: не найдено устройство Монтирование не проходит: устройство или UUID не найдены, неверная файловая система, недоступен сетевой ресурс. Код 32 от команды mount.
- You are in emergency mode: система не загрузилась Загрузка остановилась в аварийном режиме. Что проверять: fstab, файловые системы, цель по умолчанию. Как войти и починить.
- smartd: устройства не найдены, наблюдение за дисками не работает Служба наблюдения за дисками запущена, но ничего не проверяет: устройства не определились или скрыты контроллером.
Источники
-
mdadm(8)
Состояния массива и уведомления. -
Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
Воспроизведено отключением диска в тестовом массиве.