Диагностика и замена дисков в RAID-массиве без остановки сервера

Диагностика и замена дисков в RAID-массиве без остановки сервера

Проблема

В современной серверной инфраструктуре отказ жёсткого диска это не вопрос «если», а вопрос «когда». RAID-массивы (особенно уровни 1, 5, 6, 10) создаются именно для того, чтобы пережить отказ одного или нескольких дисков без потери данных и остановки сервисов. Однако администратор сталкивается с двумя ключевыми проблемами. Во-первых, сам процесс замены диска: можно ли просто вытащить «красный» диск и вставить новый, или нужна дополнительная подготовка? Во-вторых, как убедиться, что после замены массив действительно восстановится, а новый диск правильно интегрируется и начнёт ребилд.

Работа с горячей заменой (hot swap) требует понимания, поддерживает ли её конкретный RAID-контроллер, как корректно извлечь отказавший диск, какие команды нужно выполнить вручную (для программных RAID) и как контролировать процесс восстановления. В этой статье мы разберём пошаговые инструкции для самых распространённых типов RAID-систем: программный RAID Linux (mdadm) и аппаратные контроллеры Dell PERC, HP Smart Array и LSI MegaRAID.

Решение

Горячая замена (hot swap) это возможность замены неисправного диска без выключения сервера и остановки ОС. Однако «просто вытащить и вставить» работает не всегда. Правильная процедура включает:

  1. Диагностику — определение, какой именно диск вышел из строя (по индикаторам или через ПО контроллера).
  2. Подготовку — принудительное переведение диска в статус Failed/OFFLINE (если контроллер не сделал это автоматически).
  3. Замену — физическое извлечение неисправного диска и установка нового (обязательно того же типа и объёма или большего).
  4. Интеграцию — команды для добавления нового диска в массив и запуска процесса ребилда.
  5. Мониторинг — контроль за скоростью восстановления и проверка целостности данных после завершения.

В этой статье мы рассмотрим три типа систем: аппаратные контроллеры (Dell PERC, HP Smart Array, LSI) и программный RAID (mdadm). Каждый раздел содержит готовые команды и пошаговые инструкции.

Пошаговая инструкция

1. Общая диагностика состояния дисков

Прежде чем менять диск, необходимо убедиться, что он действительно неисправен, а не «завис» или временно отключился.

1.1. Аппаратные RAID-контроллеры

Используйте штатные утилиты:

  • Dell PERCperccli (или старый MegaRAID Storage Manager).
  • HP Smart Arrayssacli (или hpssacli).
  • LSI MegaRAIDstorcli или 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_CtPending_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

  1. Определите слот неисправного диска через iDRAC или PERC BIOS (Ctrl+R при загрузке).
  2. Физически извлеките диск (световой индикатор должен гореть жёлтым/оранжевым).
  3. Вставьте новый диск того же типа (SAS/SATA) и объёма (или больше).
  4. Контроллер автоматически обнаружит новый диск и, если массив был в состоянии Degraded, начнёт ребилд.
  5. Статус ребилда можно отслеживать через perccli:
perccli /c0 /v0 show rebuild

Сценарий 2: Прогнозируемый сбой (Predictive Failure)

Если SMART предсказывает скорую смерть диска, но он ещё не отказал:

  1. В perccli пометьте диск как offline:
perccli /c0 /e251 /s2 set offline
  1. Затем следуйте процедуре замены как для failed-диска.

Официальная документация Dell PERC: подробные инструкции по замене дисков и настройке hot spares доступны в руководстве пользователя Dell PowerEdge RAID Controller.

4. Замена диска в HP Smart Array

Контроллеры HP Smart Array (P420i, P440ar, P840 и др.) также поддерживают горячую замену.

Процедура:

  1. Определите слот неисправного диска через HP System Management Homepage или ssacli:
sudo ssacli ctrl slot=0 pd all show status
  1. Физически извлеките диск.
  2. Вставьте новый диск.
  3. Если в массиве был настроен горячий резерв (hot spare), контроллер автоматически начнёт ребилд. Если нет — новый диск может остаться в состоянии unassigned. В этом случае его нужно вручную назначить как замену:
sudo ssacli ctrl slot=0 pd <slot> modify spare

Или через веб-интерфейс HP Smart Storage Administrator.

  1. Контроллеры HP Smart Array также автоматически запускают процесс перестроения, если новый диск вставлен в тот же слот.

Важно: перед заменой убедитесь, что у вас есть актуальная резервная копия данных. Это стандартная практика перед любыми манипуляциями с дисками.

5. Замена диска в LSI MegaRAID

Контроллеры LSI MegaRAID (например, 9260-8i, 9361-8i) широко используются в серверах Lenovo, Fujitsu и собственных сборках.

Процедура через утилиту storcli:

  1. Просмотр состояния дисков:
sudo storcli /c0 /eall /sall show
  1. Пометка неисправного диска как offline (если он ещё не в статусе Failed):
sudo storcli /c0 /e251 /s2 set offline
  1. Физическая замена диска.
  2. Добавление нового диска в массив:
sudo storcli /c0 /e251 /s2 add host_spare

Контроллер автоматически начнёт ребилд.

  1. Мониторинг ребилда:
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-команды и утилиты), но физическая процедура и логика работы одинакова. Главное правило: никогда не пренебрегайте резервным копированием перед заменой диска, даже если массив поддерживает горячую замену. И всегда держите под рукой совместимые запасные диски это минимизирует время простоя в аварийной ситуации.

3 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Популярные
Новые Старые

0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x
Menu