Проблема
В современной серверной инфраструктуре отказ жёсткого диска это не вопрос «если», а вопрос «когда». RAID-массивы (особенно уровни 1, 5, 6, 10) создаются именно для того, чтобы пережить отказ одного или нескольких дисков без потери данных и остановки сервисов. Однако администратор сталкивается с двумя ключевыми проблемами. Во-первых, сам процесс замены диска: можно ли просто вытащить «красный» диск и вставить новый, или нужна дополнительная подготовка? Во-вторых, как убедиться, что после замены массив действительно восстановится, а новый диск правильно интегрируется и начнёт ребилд.
Работа с горячей заменой (hot swap) требует понимания, поддерживает ли её конкретный RAID-контроллер, как корректно извлечь отказавший диск, какие команды нужно выполнить вручную (для программных RAID) и как контролировать процесс восстановления. В этой статье мы разберём пошаговые инструкции для самых распространённых типов RAID-систем: программный RAID Linux (mdadm) и аппаратные контроллеры Dell PERC, HP Smart Array и LSI MegaRAID.
Решение
Горячая замена (hot swap) это возможность замены неисправного диска без выключения сервера и остановки ОС. Однако «просто вытащить и вставить» работает не всегда. Правильная процедура включает:
- Диагностику — определение, какой именно диск вышел из строя (по индикаторам или через ПО контроллера).
- Подготовку — принудительное переведение диска в статус Failed/OFFLINE (если контроллер не сделал это автоматически).
- Замену — физическое извлечение неисправного диска и установка нового (обязательно того же типа и объёма или большего).
- Интеграцию — команды для добавления нового диска в массив и запуска процесса ребилда.
- Мониторинг — контроль за скоростью восстановления и проверка целостности данных после завершения.
В этой статье мы рассмотрим три типа систем: аппаратные контроллеры (Dell PERC, HP Smart Array, LSI) и программный RAID (mdadm). Каждый раздел содержит готовые команды и пошаговые инструкции.
Пошаговая инструкция
1. Общая диагностика состояния дисков
Прежде чем менять диск, необходимо убедиться, что он действительно неисправен, а не «завис» или временно отключился.
1.1. Аппаратные RAID-контроллеры
Используйте штатные утилиты:
-
Dell PERC:
perccli(или старыйMegaRAID Storage Manager). -
HP Smart Array:
ssacli(илиhpssacli). -
LSI MegaRAID:
storcliилиMegaCLI. - Просмотр логов контроллера и состояния виртуальных дисков.
1.2. Программный RAID (Linux mdadm)
cat /proc/mdstat
sudo mdadm --detail /dev/md0
В выводе /proc/mdstat неисправный диск будет помечен как (F) (failed) или (S) (spare). В выводе mdadm --detail статус диска будет faulty или removed.
1.3. SMART-диагностика дисков
Даже если диск ещё не отказал полностью, S.M.A.R.T.-атрибуты могут предсказать его скорую смерть.
# Установка smartmontools
sudo apt install smartmontools # Debian/Ubuntu
sudo dnf install smartmontools # RHEL/Rocky
# Проверка общего статуса диска
sudo smartctl -H /dev/sda
# Детальный просмотр всех атрибутов
sudo smartctl -a /dev/sda
Особое внимание уделите атрибутам Reallocated_Sector_Ct, Pending_Sector и Uncorrectable_Sector_Ct. Если они растут — диск пора менять. Для NVMe-дисков используйте sudo smartctl -a /dev/nvme0n1.
2. Замена диска в программном RAID (Linux mdadm)
Программный RAID требует ручного управления: после физической замены диска необходимо вручную добавить его в массив и запустить ребилд. Рассмотрим процедуру на примере RAID 1 (зеркало) на Ubuntu.
Исходные данные:
- RAID-массив:
/dev/md0 - Неисправный диск:
/dev/sda - Новый диск:
/dev/sdb(уже физически установлен)
Шаг 1: Пометить неисправный диск как failed (если ещё не помечен)
sudo mdadm /dev/md0 --fail /dev/sda1
Шаг 2: Удалить неисправный диск из массива
sudo mdadm /dev/md0 --remove /dev/sda1
Шаг 3: Разметить новый диск
Скопируйте таблицу разделов с работающего диска (/dev/sdb) на новый:
sudo sfdisk -d /dev/sdb | sudo sfdisk /dev/sdc
Или создайте разделы вручную через fdisk / gdisk.
Шаг 4: Добавить новый диск в массив
sudo mdadm /dev/md0 --add /dev/sdc1
Шаг 5: Мониторинг ребилда
cat /proc/mdstat
watch -n 1 cat /proc/mdstat
После завершения ребилда (статус [UU]) массив снова полностью работоспособен.
Примечание: Для RAID 5/6 процесс аналогичен, но после добавления нового диска он сначала будет помечен как spare, а затем автоматически начнётся ребилд на его место.
3. Замена диска в Dell PERC
Контроллеры Dell PERC (H310, H330, H730, H740P и др.) поддерживают горячую замену. Процедура зависит от того, есть ли в массиве горячий резерв (hot spare) и как именно отказал диск.
Сценарий 1: Диск уже в статусе Failed
- Определите слот неисправного диска через iDRAC или PERC BIOS (Ctrl+R при загрузке).
- Физически извлеките диск (световой индикатор должен гореть жёлтым/оранжевым).
- Вставьте новый диск того же типа (SAS/SATA) и объёма (или больше).
- Контроллер автоматически обнаружит новый диск и, если массив был в состоянии Degraded, начнёт ребилд.
- Статус ребилда можно отслеживать через
perccli:
perccli /c0 /v0 show rebuild
Сценарий 2: Прогнозируемый сбой (Predictive Failure)
Если SMART предсказывает скорую смерть диска, но он ещё не отказал:
- В
perccliпометьте диск как offline:
perccli /c0 /e251 /s2 set offline
- Затем следуйте процедуре замены как для failed-диска.
Официальная документация Dell PERC: подробные инструкции по замене дисков и настройке hot spares доступны в руководстве пользователя Dell PowerEdge RAID Controller.
4. Замена диска в HP Smart Array
Контроллеры HP Smart Array (P420i, P440ar, P840 и др.) также поддерживают горячую замену.
Процедура:
- Определите слот неисправного диска через HP System Management Homepage или
ssacli:
sudo ssacli ctrl slot=0 pd all show status
- Физически извлеките диск.
- Вставьте новый диск.
- Если в массиве был настроен горячий резерв (hot spare), контроллер автоматически начнёт ребилд. Если нет — новый диск может остаться в состоянии
unassigned. В этом случае его нужно вручную назначить как замену:
sudo ssacli ctrl slot=0 pd <slot> modify spare
Или через веб-интерфейс HP Smart Storage Administrator.
- Контроллеры HP Smart Array также автоматически запускают процесс перестроения, если новый диск вставлен в тот же слот.
Важно: перед заменой убедитесь, что у вас есть актуальная резервная копия данных. Это стандартная практика перед любыми манипуляциями с дисками.
5. Замена диска в LSI MegaRAID
Контроллеры LSI MegaRAID (например, 9260-8i, 9361-8i) широко используются в серверах Lenovo, Fujitsu и собственных сборках.
Процедура через утилиту storcli:
- Просмотр состояния дисков:
sudo storcli /c0 /eall /sall show
- Пометка неисправного диска как offline (если он ещё не в статусе Failed):
sudo storcli /c0 /e251 /s2 set offline
- Физическая замена диска.
- Добавление нового диска в массив:
sudo storcli /c0 /e251 /s2 add host_spare
Контроллер автоматически начнёт ребилд.
- Мониторинг ребилда:
sudo storcli /c0 /v0 show rebuild
6. Использование горячего резерва (Hot Spare)
Горячий резерв (hot spare) это диск, который находится в режиме ожидания и автоматически заменяет отказавший диск в массиве. Это значительно ускоряет процесс восстановления.
Для mdadm:
sudo mdadm /dev/md0 --add /dev/sdd1
# Диск добавится как spare, а при отказе основного — автоматически начнёт ребилд
Для аппаратных контроллеров: через веб-интерфейс или CLI (например, perccli /c0 /e251 /s2 add hotsparedrive).
7. Скорость ребилда и её влияние на производительность
Ребилд ресурсоёмкий процесс, который может сильно нагрузить диски и контроллер. Для управления скоростью используйте специальные параметры.
mdadm: скорость ребилда ограничена параметром mdadm --grow --bitmap=internal и настройками в /sys/block/md0/md/sync_speed_min/max.
Аппаратные контроллеры: скорость ребилда настраивается в BIOS контроллера или через CLI (например, perccli /c0 set rebuildrate=30 30% от максимальной).
Устранение распространённых проблем
| Проблема | Вероятная причина | Решение |
|---|---|---|
| Новый диск не определяется контроллером | Диск несовместим (SAS/SATA), не той ёмкости, или контроллер не поддерживает hot swap | Проверить спецификации контроллера. Убедиться, что диск той же модели и прошивки. Перезагрузить сервер для переинициализации контроллера. |
| Ребилд не запускается автоматически | Неисправный диск не был корректно удалён, новый диск не добавлен в массив | Вручную пометить старый диск как failed, удалить его, добавить новый через CLI контроллера. |
| Ребилд запустился, но очень медленный | Ограничения скорости ребилда в настройках контроллера | Увеличить скорость ребилда через BIOS или CLI (например, до 50-70%). Но помните, что это увеличит нагрузку на сервер. |
| После замены диска массив остаётся в состоянии Degraded | Новый диск не был добавлен в массив, или он меньше по объёму | Убедиться, что новый диск добавлен в массив (через CLI). Если диск меньше — заменить на диск подходящего объёма. |
Ошибка mdadm: /dev/sdc1 not large enough to join array | Новый диск меньше по объёму, чем минимальный диск в массиве | Использовать диск того же или большего объёма. Для mdadm можно добавить диск большего объёма, но лишнее пространство не будет использоваться. |
| Контроллер не видит новый диск после физической замены | Проблема с backplane или кабелем, диск несовместим | Проверить физическое подключение. Обновить прошивку контроллера. Попробовать перезагрузить сервер. |
Горячая замена дисков в RAID-массиве это стандартная процедура, которая при правильном выполнении не требует остановки сервера и не приводит к потере данных. Ключевые моменты успешной замены: предварительная диагностика (через логи контроллера и S.M.A.R.T.), корректное удаление неисправного диска из массива, установка нового диска того же типа и объёма, а также контроль процесса ребилда.
Замена диска в raid без остановки возможна как на программном RAID (mdadm), так и на аппаратных контроллерах Dell PERC, HP Smart Array и LSI MegaRAID. Различия лишь в интерфейсах управления (CLI-команды и утилиты), но физическая процедура и логика работы одинакова. Главное правило: никогда не пренебрегайте резервным копированием перед заменой диска, даже если массив поддерживает горячую замену. И всегда держите под рукой совместимые запасные диски это минимизирует время простоя в аварийной ситуации.







