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

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

3 min read Системное администрирование Обновлено 09 Oct 2025
RAID1: замена диска и проверка
RAID1: замена диска и проверка

Кратко

Краткое руководство по симуляции сбоя диска в RAID1, замене диска и проверке восстановления массива. Содержит точные команды, выводы команд и контрольные чек‑пойнты для администратора.

Что делает эта инструкция

  • Показывает, как смоделировать отказ диска (/dev/sda или /dev/sdb).
  • Описывает восстановление: копирование таблицы разделов, очистку меток RAID, добавление нового диска и синхронизацию.
  • Даёт проверки состояния и установку загрузчика GRUB на оба диска.

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

Шаг 1 — Симуляция сбоя диска

Не важно, какой диск вы пометите как сбойный — /dev/sda или /dev/sdb. В примере предполагается, что отказал /dev/sdb.

Можно физически извлечь диск после выключения системы или мягко пометить его как отказавший:

mdadm --manage /dev/md0 --fail /dev/sdb1  
mdadm --manage /dev/md1 --fail /dev/sdb2  
mdadm --manage /dev/md2 --fail /dev/sdb3

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

mdadm --manage /dev/md0 --remove /dev/sdb1  
mdadm --manage /dev/md1 --remove /dev/sdb2  
mdadm --manage /dev/md2 --remove /dev/sdb3

Выключите систему, если планируете физическую замену диска:

shutdown -h now

После установки нового диска загрузите систему — система должна стартовать нормально.

Шаг 2 — Проверка состояния массива

Проверьте текущее состояние:

cat /proc/mdstat

Ожидаемый пример вывода при деградации:

[root@server1 ~]# cat /proc/mdstat  
Personalities : [raid1] [raid6] [raid5] [raid4]  
md0 : active raid1 sda1[0]  
      104320 blocks [2/1] [U_]  
  
md1 : active raid1 sda2[0]  
      513984 blocks [2/1] [U_]  
  
md2 : active raid1 sda3[0]  
      4618560 blocks [2/1] [U_]  
  
unused devices:   
[root@server1 ~]#

Проверьте таблицы разделов:

fdisk -l

(В исходном примере показаны диски /dev/sda и /dev/sdb, где /dev/sdb ещё не содержит таблицы разделов.)

Шаг 3 — Копирование таблицы разделов

Скопируйте таблицу разделов с рабочего диска на новый диск:

sfdisk -d /dev/sda | sfdisk /dev/sdb

Если появится ошибка с сигнатурой, попробуйте принудительный режим:

sfdisk -d /dev/sda | sfdisk --force /dev/sdb

Пример вывода успешной записи таблицы:

[root@server1 ~]# sfdisk -d /dev/sda | sfdisk /dev/sdb  
Checking that no-one is using this disk right now ...  
OK  
  
Disk /dev/sdb: 652 cylinders, 255 heads, 63 sectors/track  
  
sfdisk: ERROR: sector 0 does not have an msdos signature  
 /dev/sdb: unrecognized partition table type  
Old situation:  
No partitions found  
New situation:  
Units = sectors of 512 bytes, counting from 0  
  
   Device Boot    Start       End   #sectors  Id  System  
/dev/sdb1   *        63    208844     208782  fd  Linux raid autodetect  
/dev/sdb2        208845   1237004    1028160  fd  Linux raid autodetect  
/dev/sdb3       1237005  10474379    9237375  fd  Linux raid autodetect  
/dev/sdb4             0         -          0   0  Empty  
Successfully wrote the new partition table  
  
Re-reading the partition table ...  
  
If you created or changed a DOS partition, /dev/foo7, say, then use dd(1)  
to zero the first 512 bytes:  dd if=/dev/zero of=/dev/foo7 bs=512 count=1  
(See fdisk(8).)  
[root@server1 ~]#

Шаг 4 — Очистка меток старого RAID и добавление нового диска

Удалите остатки старых superblock’ов на новом диске:

mdadm --zero-superblock /dev/sdb1  
mdadm --zero-superblock /dev/sdb2  
mdadm --zero-superblock /dev/sdb3

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

mdadm -a /dev/md0 /dev/sdb1  
mdadm -a /dev/md1 /dev/sdb2  
mdadm -a /dev/md2 /dev/sdb3

Проверка статуса восстановления:

cat /proc/mdstat

Ожидаемый вывод во время синхронизации:

[root@server1 ~]# cat /proc/mdstat  
Personalities : [raid1] [raid6] [raid5] [raid4]  
md0 : active raid1 sdb1[1] sda1[0]  
      104320 blocks [2/2] [UU]  
  
md1 : active raid1 sdb2[1] sda2[0]  
      513984 blocks [2/2] [UU]  
  
md2 : active raid1 sdb3[2] sda3[0]  
      4618560 blocks [2/1] [U_]  
      [===>.................]  recovery = 15.4% (715584/4618560) finish=4.9min speed=13222K/sec  
  
unused devices:   
[root@server1 ~]#

Подождите, пока восстановление завершится; затем /proc/mdstat покажет все устройства [UU].

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

Запустите grub и установите загрузчик на оба HDD:

grub

В интерактивной сессии grub выполните:

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

После этого система загрузится с любого диска, если другой выйдет из строя.

Быстрая проверка и отладка

  • Если /proc/mdstat показывает [U_], значит один из членов отсутствует — проверьте sfdisk, udev и dmesg на предмет ошибок.
  • Убедитесь, что partition UUID и метки совпадают, особенно если используются конфигурации с UUID в /etc/fstab.
  • Если sfdisk жалуется на сигнатуру, –force обычно помогает, но внимательно проверьте новую таблицу перед применением.

Чек‑лист для администратора

  • Сделать резервную копию важных данных.
  • Смоделировать отказ (mdadm –fail).
  • Проверить /proc/mdstat и fdisk -l.
  • Копировать таблицу разделов: sfdisk -d /dev/sda | sfdisk /dev/sdb.
  • mdadm –zero-superblock для новых разделов.
  • mdadm -a для добавления в массив.
  • Дождаться завершения синхронизации.
  • Установить GRUB на оба диска.

Критерии приёмки

  • Все md устройства в /proc/mdstat имеют статус [UU].
  • Загрузчик установлен на обоих дисках; при отключении одного диск будет загружать систему.
  • Нет ошибок при чтении таблиц разделов и при добавлении членов массива.

Краткое глоссарий (1‑строчно)

  • mdadm — утилита для управления программными RAID в Linux.
  • sfdisk — утилита для работы с таблицами разделов (скриптовая).
  • superblock — метаданные RAID, хранящиеся в начале раздела.

Когда этот подход не подходит

  • Если используется аппаратный RAID-контроллер — управление делается через контроллер, а не mdadm.
  • Если диски имеют разные размеры/структуры разделов — простая копия sfdisk может привести к проблемам; проверьте совместимость.

Ссылки

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

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

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство