Гид по технологиям

Замена сбойного диска в RAID1 и тестирование

3 min read DevOps Обновлено 17 Oct 2025
Замена сбойного диска в RAID1 — тест и восстановление
Замена сбойного диска в RAID1 — тест и восстановление

Введение

Ниже — практическая инструкция по замене сбойного жёсткого диска в RAID1 с использованием mdadm, sfdisk и grub. Примеры предполагают, что вышел из строя /dev/hdb; если отказал /dev/hda — поменяйте роли местами.

Симулируем отказ диска

Вы можете физически извлечь диск или эмулировать отказ программно. В примере мы (soft-)помечаем разделы как «упавшие»:

mdadm --manage /dev/md0 --fail /dev/hdb1  
mdadm --manage /dev/md1 --fail /dev/hdb5  
mdadm --manage /dev/md2 --fail /dev/hdb6

Затем удаляем разделы из массива:

mdadm --manage /dev/md0 --remove /dev/hdb1  
mdadm --manage /dev/md1 --remove /dev/hdb5  
mdadm --manage /dev/md2 --remove /dev/hdb6

Завершите текущую сессию и выключите систему, если имитируете физическое извлечение:

shutdown -h now

После этого вставьте новый HDD на место вышедшего из строя (или подключите его как /dev/hdb) и загрузите систему. Система должна стартовать с деградированным RAID.

Проверка состояния массива

Проверьте статус массива:

cat /proc/mdstat

Ожидаемый результат (пример):

[root@server1 ~]# cat /proc/mdstat  
Personalities : [raid1]  
md1 : active raid1 hda5[0]  
      417536 blocks [2/1] [U_]  
  
md0 : active raid1 hda1[0]  
      176576 blocks [2/1] [U_]  
  
md2 : active raid1 hda6[0]  
      4642688 blocks [2/1] [U_]  
  
unused devices:   
[root@server1 ~]#

Также можно посмотреть таблицу разделов дисков:

fdisk -l

(в выводе показаны размеры дисков и отсутствие таблицы разделов на новом диске).

Копирование таблицы разделов с рабочего диска

Скопируйте таблицу разделов с /dev/hda на /dev/hdb:

sfdisk -d /dev/hda | sfdisk --force /dev/hdb

Пример вывода показывает подтверждение создания новых разделов на /dev/hdb и предупреждения о несовпадении границ цилиндров — это нормальная ситуация для современных дисков.

Важно: проверьте, что вы точно указали правильные устройства (/dev/hda и /dev/hdb), иначе потеря данных возможна.

Очистка остаточных метаданных RAID и добавление диска

Перед добавлением нового диска очистите суперблоки mdadm (если были старые метаданные):

mdadm --zero-superblock /dev/hdb1  
mdadm --zero-superblock /dev/hdb5  
mdadm --zero-superblock /dev/hdb6

Добавьте разделы нового диска в соответствующие массивы:

mdadm -a /dev/md0 /dev/hdb1  
mdadm -a /dev/md1 /dev/hdb5  
mdadm -a /dev/md2 /dev/hdb6

Синхронизация и проверка прогресса

Проверяйте прогресс синхронизации:

cat /proc/mdstat

Пример прогресса:

[root@server1 ~]# cat /proc/mdstat  
Personalities : [raid1]  
md1 : active raid1 hdb5[2] hda5[0]  
      417536 blocks [2/1] [U_]  
        resync=DELAYED  
  
md0 : active raid1 hdb1[1] hda1[0]  
      176576 blocks [2/2] [UU]  
  
md2 : active raid1 hdb6[2] hda6[0]  
      4642688 blocks [2/1] [U_]  
      [===========>.........]  recovery = 59.9% (2784512/4642688) finish=7.5min speed=4076K/sec  
  
unused devices:   
[root@server1 ~]#

Дождитесь, пока все массивы покажут [UU] и в /proc/mdstat не останется активных операций восстановления.

Установка загрузчика GRUB на оба диска

Чтобы система корректно загружалась с любого из HDD, установите GRUB на оба устройства. В интерактивной оболочке grub выполните:

grub

Затем внутри GRUB:

root (hd0,0)  
setup (hd0)  
root (hd1,0)  
setup (hd1)  
quit

После этого перезагрузите систему и убедитесь, что загрузчик работает с любого диска.

Краткая памятка для оператора

  • Всегда делайте резервную копию важных данных перед изменениями на дисках.
  • Убедитесь, что вы оперируете правильными устройствами (/dev/hda vs /dev/hdb).
  • Не прерывайте процесс синхронизации RAID без крайней необходимости.

Чеклист (роль: системный администратор)

  • Определить вышедший из строя диск.
  • Уведомить заинтересованные стороны о плановом вмешательстве.
  • Симулировать или извлечь диск.
  • Скопировать таблицу разделов: sfdisk -d | sfdisk –force.
  • Очистить superblock: mdadm –zero-superblock.
  • Добавить разделы в массив: mdadm -a.
  • Отслеживать /proc/mdstat до состояния [UU].
  • Установить GRUB на оба диска.
  • Тестовая перезагрузка и проверка работоспособности.

Типичные проблемы и способы решения

  • Массив не начинает восстановление: проверьте флаги partition type (fd) и наличие суперблока.
  • sfdisk жалуется на подпись MBR: это нормально для пустого диска; убедитесь, что новые разделы записаны.
  • Ошибка при установке GRUB: проверьте, смонтирован ли /boot и доступны ли устройства (hd0/hd1 соответствуют нужным дискам).

Короткий глоссарий

  • mdadm — утилита для управления программными RAID-массивами.
  • sfdisk — инструмент для пакетного управления таблицами разделов.
  • superblock — метаданные RAID, хранящиеся в разделе для идентификации массива.
  • /proc/mdstat — виртуальный файл для мониторинга состояния RAID в Linux.

Ссылки

Итого: после выполнения всех шагов вы восстановите RAID1 до полноценного состояния и обеспечите загрузку с обоих дисков.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Апгрейд старого Mac: что менять и как
Апгрейд Mac

Апгрейд старого Mac: что менять и как

Windows перезагружается вместо выключения — что делать
Windows

Windows перезагружается вместо выключения — что делать

Как получить Серебряные Листья в Destiny 2
Игры

Как получить Серебряные Листья в Destiny 2

Как разблокировать аккаунт Facebook быстро
Социальные сети

Как разблокировать аккаунт Facebook быстро

QR‑коды для роста и масштабирования бизнеса
Маркетинг и технологии

QR‑коды для роста и масштабирования бизнеса

VeePN обзор: конфиденциальность и функции
VPN

VeePN обзор: конфиденциальность и функции