[make-initrd] [degraded md-raid] make-initrd в p9 и в Сизифе

Leonid Krivoshein klark at basealt.ru
Mon Feb 17 14:27:30 MSK 2020


Привет, Алексей, ещё раз! :-)


17.02.2020 13:42, Alexey Gladkov пишет:
> On Sun, Feb 16, 2020 at 08:31:37PM +0300, Leonid Krivoshein wrote:
>> Всем привет!
>>
>>
>> На p8 была попытка исправить проблему загрузки с деградированного массива:
>>
>> http://git.altlinux.org/gears/m/make-initrd.git?p=make-initrd.git;a=commitdiff;h=9f1bee4172c43ae7208855c6cb991e0e415d7f08
>>
>> В коде исправлялось сразу две проблемных ситуации (inactive и read-auto),
>> но, если не ошибаюсь, исправить удалось только одну из них, вторую надо было
>> лечить где-то в другом месте. Однако в новом коде такого файла (050-mdstart)
>> больше нет, есть только это:
>>
>> http://git.altlinux.org/gears/m/make-initrd.git?p=make-initrd.git;a=blob;f=features/mdadm/data/lib/uevent/extenders/100-mdstart;h=3df8f9ea40654d2eeb5551ad14f7358834c03396;hb=c52b3398d8547c8d00412c153c0679968af8a58a
>>
>> Две ситуации исправляются руками тривиально: в случае inactive одного из
>> дисков просто mdadn -IRs разово, в случае read-auto (что типично для корня
>> или свопа на рейде) -- перевести его обратно в режим чтения/записи командой
>> mdadm -w /dev/MDDEV. В старом коде make-initrd была задержка в 1/3 времени
>> таймаута, то есть, 1 минута, которая запускает этот траблешуттер, если
>> корень не обнаружился. В новом -- я вообще не понимаю, как должно работать,
>> но по факту никак не работает. Система не грузится даже с только что
>> созданного рейда, который не досинхронизирован до конца. Плюс к тому: shaba@
>> что-то говорил, что в новом LVM другой принцип обработки обнаруженных томов
>> (это уже про ситуацию, когда LVM поверх MD).
>>
>> Ещё такой момент: ситуацию хорошо бы исправлять для всех дисков на раннем
>> этапе, а не только если корень не нашёлся. Да и неправильно это ждать минуту
>> не пойми чего, когда диск который часть рейда или LVM нашёлся, о нём уже всё
>> известно. Есть какие-нибудь идеи, камрады?
> Вы много написали, но я явно не в контекте. Давайте по порядку.
>
> Есть features/mdadm/data/lib/uevent/extenders/100-mdstart.
>
> Он решает проблему и не решает какую проблему ?
> Какие ещё проблемы есть ?

Не решает ни одну из двух проблем:

- не "чинит" MD-устройства в состоянии "read-auto", поэтому после 
перехода в stage2 корень на RAID нельзя перемонтировать в режим 
чтения-записи.

- по сравнению с make-initrd0.8.x, теперь вообще нельзя загрузиться с 
MD-RAID, который в состоянии "degraded", хотя для больших дисков это 
норма сразу после инсталляции -- они просто ещё не успели 
до-синхронизироваться. В старой версии отрабатывал troubleshutter by 
mike@, который я перетянул из p7/c7 в p8 и c8/c8.1. Во времена p7 ты 
утянул этот troubleshutter в тогдашний Сизиф, но видимо теперь оно 
совсем нерабочее.

В идеале решать обе проблемы в новом make-initrd2 для любых 
обнаруживаемых блочных дисков, а не только для тех, на которых корень, 
аккуратно пытаться исправить приведёнными командами. Очевидно, обработка 
должна находиться не здесь, а где-то ещё.

Сейчас я воспроизведу на виртуалке и отпишу более детально...


-- 
С уважением,
Леонид Кривошеин.



More information about the Make-initrd mailing list