Когда в Linux-системе или на VPS выходит из строя диск, входящий в программный RAID, паниковать не стоит. Массив рассчитан на отказ отдельных накопителей, и задача администратора — правильно заменить вышедший диск и вернуть систему в рабочее состояние. Ниже — практическая инструкция.
Введение
Software RAID (softRAID) под Linux с использованием mdadm — надёжное решение, позволяющее объединить несколько физических дисков в массив для отказоустойчивости или увеличения скорости. Но даже в такой системе отдельный диск может выйти из строя. Важно действовать последовательно: правильно подготовить новый диск и корректно добавить его в массив, чтобы не потерять данные и не спровоцировать сбой ядра.
Этапы замены диска в RAID
Подготовка нового диска. Новый накопитель чаще всего определяется системой под тем же именем (например, /dev/sdc). Если это новый «чистый» диск, его нужно отформатировать:
mkfs.ext4 /dev/sdc
Копирование таблицы разделов. Если структура массива предполагает несколько разделов, скопируйте разметку с рабочего диска:
sfdisk -d /dev/sda | sfdisk --force /dev/sdc
Альтернативный способ — использовать dd, что бывает полезно при дисках разного размера:
dd if=/dev/sda of=/dev/sdc bs=512 count=2
Добавление нового диска в массив. После разметки диск нужно включить обратно в массив. Для примера — три раздела:
mdadm /dev/md0 --add /dev/sdc1
mdadm /dev/md1 --add /dev/sdc2
mdadm /dev/md2 --add /dev/sdc3
Важный момент при перезагрузке. Если вы заменили диск и решили перезагрузить сервер, обязательно предварительно удалите отказавший диск из массива. В противном случае возможен kernel panic:
mdadm /dev/md0 --fail /dev/sdc1
mdadm /dev/md0 --remove /dev/sdc1
Проверка синхронизации массива
После того как новый диск добавлен, начинается процесс синхронизации данных. Он может занимать от нескольких минут до нескольких часов, в зависимости от размера массива и скорости дисков. За процессом удобно наблюдать командой:
cat /proc/mdstat
Здесь отображается текущее состояние RAID: какие устройства участвуют в массиве, сколько данных уже скопировано и остаётся ли резервная синхронизация. До завершения этого процесса производительность массива может быть снижена. Важно дождаться окончания синхронизации и убедиться, что все диски отображаются в статусе active sync. Это гарантирует, что массив полностью восстановлен и готов к работе без риска потери данных.
Обновление конфигурации mdadm
Чтобы после перезагрузки система корректно «подняла» массив с новым диском, стоит обновить конфигурационный файл mdadm. Для этого выполните:
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
Эта команда добавит актуальную информацию о RAID-массиве в конфигурацию. После этого рекомендуется пересобрать initramfs:
update-initramfs -u
Так вы застрахуете систему от ситуации, когда после рестарта массив не будет найден или подключится некорректно.
Проверка состояния массива
Регулярный мониторинг позволяет заранее выявить неполадки и избежать критических ситуаций. Убедиться в том, что все диски работают корректно, можно командой:
mdadm --detail /dev/md0
Так администратор всегда будет видеть текущее состояние массива, процесс синхронизации и возможные ошибки. Это помогает вовремя заменить проблемный диск и не доводить ситуацию до полной деградации RAID.
Заключение
Замена диска в Linux Software RAID не представляет больших трудностей, если действовать последовательно. Подготовка нового накопителя, копирование структуры разделов и корректное добавление в массив позволяют сохранить стабильность и работоспособность системы. Главное — выполнять все шаги внимательно и не спешить: именно аккуратность гарантирует, что массив будет восстановлен без риска для данных.
Читайте в блоге:
- Как установить и использовать Snap и Flatpak в Ubuntu 24.04
- Настройка Fail2ban на Ubuntu 24.04 LTS и защита от брутфорса
- Fail2ban и UFW: настройка базовой защиты сервера Ubuntu 24.04 LTS