Ай Лайн
Связаться
Отдел продаж +7 (812) 385-74-84
Время работы пн-пт с 9:00 до 18:00

Восстановление mdadm в live/rescue режиме

Вводные - есть сервер, на нем linux, на нем mdadm raid 1 из 2 дисков. Один диск выходит из строя, загрузиться со 2го не получается, нужно восстановить работу после замены диска на новый.

  • Грузимся в Live CD (при восстановлении использовался https://grml.org/)

  • Для начала нужно смонтировать рейд

    mdadm --assemble --scan

В этом режиме mdadm смотрит диски, видит на них разделы рейда и собирает рейды в неполном режиме, т.е. 1 диск на месте, другого нет

  • Смотрим разделы дисков, чтобы понять названия дисков

    lsblk -f

    Увидим, что 1 диск чистый, другой с разделами

  • Чтобы нам собрать обратно - нужно перенести файловую структуру с исправного диска на новый

    sfdisk -d /dev/sdX | sfdisk /dev/sdY

где sdX - исправный диск с разделами, а sdY - новый диск, куда нужно перенести разметку

  • Дальше начинаем собирать наш рейд обратно. Для начала смотрим статус

    cat /proc/mdstat

    Вывод примерно такой должен быть

    Вывод примерно такой должен быть

  • Нам нужно добавить в соответствующие рейды нужные разделы. На скрине выше нужно было бы добавить sda4 или sdb4 к рейду md125, sda5 или sdb5 к md126 и так далее, в зависимости от того, какой диск выжил

  • Добавляем командой

    mdadm --manage /dev/mdX --add /dev/sdY

    где mdX - целевой рейд, sdY - раздел с нового диска

  • После того как добавим во все рейды разделы с нового диска - начнется ребилд рейда, нужно дождаться конца процесса

    Дальше нужно накатить загрузчик на новый диск

  1. Монтируем наш корень / с рейда (как правило самый большой раздел) в каталог на лайв системе, например в /mnt

    mount /dev/mdX /mnt

    где mdX - рейд с корнем нашей системы

  2. Монтируем раздел с UEFI в /boot нашей системы

    mount /dev/mdY /mnt/boot

    где mdY - рейд с UEFI (пример раздела - /dev/sdb2 4096 2101247 2097152 1G Linux extended boot , но иногда может быть просто Linux RAID отображать)

  3. Прокидываем системные разделы с девайсами, чтобы нормально прописать загрузчик

    mount --bind /dev /mnt/dev

    mount --bind /proc /mnt/proc

    mount --bind /sys /mnt/sys

  4. Меняем корень системы на наш, чтобы действия происходили в нем и указываем путь до оболочки консоли

    chroot /mnt /bin/bash

  5. Ставим загрузчик

    grub-install /dev/sdY

    update-grub

    где sdY - новый диск

  6. Выходим из нашего рута, ребутаемся, грузимся в нашу систему

    exit

    reboot

Если все сделали правильно, то система загрузится

Оставить заявку