md: raid1: disk failed, degrading array — Восстановление софтверного RAID в Linux
Архитектура ошибки и симптомы сбоя
Сообщение «md: raid1: disk sda failed, degrading array» генерируется подсистемой Software RAID (md / Multiple Device) ядра Linux. Ошибка означает, что один из участников массива (в данном случае sda) вернул ошибку ввода-вывода или перестал отвечать на запросы записи. Драйвер md исключил сбойный накопитель из состава массива и перевел RAID в деградированное состояние (Degraded), продолжая работу на оставшихся накопителях без избыточности.
Диагностическая таблица параметров сбоя
| Параметр | Значение | Инженерный смысл сбоя |
|---|---|---|
| md / mdadm | Linux Software RAID | Программный массив накопителей уровня RAID 1/5/6/10. |
| Degraded State | Fault Tolerance Lost | Массив функционирует, но повторный сбой любого другого диска приведет к полному отказу. |
| Faulty Flag [F] | Device Marker | Метка ядра, запрещающая дальнейшие операции ввода-вывода со сбойным диском. |
Пошаговое дерево решений и сценарии траблшутинга
Сценарий 1: Проверка статуса деградированного массива
# Просмотр статуса всех массивов md в реальном времени:
cat /proc/mdstat
# Детальная диагностика конкретного массива (например, md0):
sudo mdadm --detail /dev/md0В выводе вы увидите статус State : clean, degraded и отсутствие сбойного диска в активном списке.
Сценарий 2: Удаление сбойного накопителя и подготовка нового диска
# Пометить диск как сбойный и удалить его из массива:
sudo mdadm /dev/md0 --fail /dev/sda1
sudo mdadm /dev/md0 --remove /dev/sda1
# Физически замените накопитель на новый (той же или большей емкости).Сценарий 3: Клонирование разметки GPT/MBR и запуск ребилда (Rebuild)
# Клонирование таблицы разделов с живого диска sdb на новый sda (для GPT):
sudo sgdisk -R /dev/sda /dev/sdb
sudo sgdisk -G /dev/sda # Генерация новых уникальных GUID
# Добавление нового раздела в массив для запуска перестроения (resync):
sudo mdadm /dev/md0 --add /dev/sda1
# Установка загрузчика GRUB на новый диск:
sudo grub-install /dev/sdaITSTM выполнит бережную замену дисков, контроль скорости перестроения (sync speed) и переустановку загрузчиков без остановки работы сервисов.
Частые вопросы (FAQ)
Как ускорить процесс перестроения (rebuild / resync) массива mdadm?
Увеличьте минимальную скорость синхронизации в ядре: echo 50000 | sudo tee /proc/sys/dev/raid/speed_limit_min. Это выделит больше ресурсов I/O на процесс перестроения.
Можно ли перезагружать сервер во время процесса перестроения массива?
Да, процесс mdadm resync является транзакционным и сохраняет прогресс в суперблоке. После перезагрузки синхронизация продолжится с точки остановки.
Почему после замены диска сервер не загружается при отключении второго?
Синхронизация массива mdadm копирует только разделы данных. Загрузчик GRUB (Master Boot Record / EFI System Partition) необходимо вручную установить на новый диск командой grub-install.
Как настроить отправку email-оповещений при деградации RAID?
Укажите директиву MAILADDR your-email@domain.com в файле /etc/mdadm/mdadm.conf и убедитесь, что служба mdmonitor запущена (systemctl enable --now mdmonitor).