четверг, 8 декабря 2022 г.

Gentoo не грузится с деградировавшего зеркала mdadm.

Невозможно "автоматически" загрузиться с degraded raid1. На этапе initramfs массив остается в статусе inactive. Rootfs не найден, предлагается запустить shell для исправления ситуации.

В аварийном shell можно продолжить загрузку после серии команд:

mdadm --stop /dev/mdX

mdadm --assemble /dev/mdX --run

Причина:

Сборка всех массивов mdadm происходит через udev-правила. По мере обнаружения каждого блочного устройства (/dev/sd*) происходит попытка добавить его в массив через mdadm --incremental. Соответственно, когда первый диск из raid1 обнаруживается, то создается /dev/mdX в статусе inactive (MD_STARTED=unsafe). Второй диск умер (отключен), соответственно никаких больше действий не происходит, и /dev/mdX остается неактивным.

Решение:

Нужно дописать в файл

/usr/share/genkernel/defaults/initrd.scripts в начало функции start_volumes:

        if [ "${USE_MDADM}" = '1' ]

        then

                run mdadm --stop --scan

                run mdadm --assemble --scan --run

        fi


Затем genkernel initramfs

В итоге массивы стартуют в degraded. После возврата второго диска, те, что не монтировались, собираются полностью, те, что монтировались, остаются в degraded - раздел нужно добавить ручками в массив.


Комментариев нет:

Отправить комментарий