Замена сбойного диска в 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.
Ссылки
- The Software-RAID Howto: http://tldp.org/HOWTO/Software-RAID-HOWTO.html
- Mandriva: http://www.mandriva.com
Итого: после выполнения всех шагов вы восстановите RAID1 до полноценного состояния и обеспечите загрузку с обоих дисков.
Похожие материалы

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

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

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

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

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