Ситуация (для примера): с помощью mdadm собран программный RAID1(зеркало) /dev/md0 из 2-х разделов /dev/sda1 и /dev/sdb1.
Задача: заменить сбойный диск /dev/sdb.
Прежде всего, смотрим диагностику:
1 | cat /proc/mdstat |
или
1 | mdadm --detail /dev/md0 |
Если вместо [UU] видим [U_], то дело плохо, целостность одного из дисков нарушена — нужно менять диск.
Помечаем раздел как сбойный:
1 | mdadm --manage /dev/md0 --fail /dev/sdb1 |
Отключаем раздел (удаляем из RAID1):
1 | mdadm --manage /dev/md0 --remove /dev/sdb1 |
Выключаем машину, меняем диск.
Создаем через cfdisk или fdisk идентичные разделы, или c помощью sfdisk автоматически копируем структуру разделов первого диска /dev/sda:
1 | sfdisk -d /dev/sda | sfdisk /dev/sdb |
Этим способом можно пользоваться, поскольку в нашем примере «зеркальный» RAID1. При других уровнях (raid level), нужно разбить диск на раздел(ы) и пометить его(их) типом ФС «Linux raid autodetect».
Добавляем раздел в RAID1 массив:
1 | mdadm --manage /dev/md0 --add /dev/sdb1 |
Ждем синхронизации массива:
1 | watch cat /proc/mdstat |
Ссылки:
http://avreg.net/howto_software-raid-replacing-faulty-drive.html