Восстановление raid 1 в Linux. mdadm

Имеется два диска /dev/sda и /dev/sdb в RAID1:

/dev/sda1, /dev/sdb1 = /dev/md0
/dev/sda5, /dev/sdb5 = /dev/md1

Допустим диск /dev/sda вышел из строя, проверяем состояние рейда командой

# cat /proc/mdstat

или

# mdadm --detail /dev/md0

Если вместо [UU] видим [U_], то целостность одного из дисков нарушена.

Необходимо извлечь сбойный диск sda из массива, помечаем его сбойным для всех массивов:

# mdadm --manage /dev/md0 --fail /dev/sda1
# mdadm --manage /dev/md1 --fail /dev/sda5

Теперь удаляем сбойный диск sda из массивов:

# mdadm --manage /dev/md0 --remove /dev/sda1
# mdadm --manage /dev/md1 --remove /dev/sda5

После этого можно физически извлечь диск и заменить новым.

После подключения нового диска, нужно на нем создать такую же разметку, как и на соседнем диске, копируем разметку командой:

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

Сверяем таблицы на дисках:

# fdisk -l | grep dev

Добавим новый диск в массив:

# mdadm --manage /dev/md0 --add /dev/sda1
# mdadm --manage /dev/md1 --add /dev/sda5

Начнется синхронизация, проверить состояние можно командами, которые приведены вначале статьи.

Теперь нужно установить загрузчик на новый диск:

# grub-install /dev/sda
# update-grub

Восстановление raid 1 в Linux. mdadm: 3 комментария

  1. А grub на новый диск ставить не надо? Когда отвалится второй система не загрузится. Статья для наживания гемороя.

  2. Спасибо за статью.
    Дополнение: fdisk не умеет работать с GPT. Только с MBR. Лучше использовать gdisk, который умеет работать как с GPT, так и с MBR.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *