From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <legion@altlinux.ru>
X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on
 sa.local.altlinux.org
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham
 autolearn_force=no version=3.4.1
Date: Mon, 17 Feb 2020 16:23:13 +0100
From: Alexey Gladkov <legion@altlinux.ru>
To: Leonid Krivoshein <klark@basealt.ru>
Message-ID: <20200217152312.suvw3d3snuquenfz@comp-core-i7-2640m-0182e6>
Mail-Followup-To: Leonid Krivoshein <klark@basealt.ru>,
 Michael Shigorin <mike@altlinux.org>,
 Alexey Shabalin <shaba@basealt.ru>,
 =?utf-8?B?0JDQvdC00YDQtdC5INCn0LXRgNC10L/QsNC90L7Qsg==?= <cas@basealt.ru>,
 make-initrd@lists.altlinux.org
References: <f25ac057-0b29-b2a4-9bff-bdb94c093f4e@basealt.ru>
 <20200217104230.m2t7xvp4pv2f2lyq@comp-core-i7-2640m-0182e6>
 <b616e663-a19c-2716-707b-277553376b86@basealt.ru>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <b616e663-a19c-2716-707b-277553376b86@basealt.ru>
X-Mailman-Approved-At: Tue, 18 Feb 2020 10:30:07 +0300
Cc: make-initrd@lists.altlinux.org, Alexey Shabalin <shaba@basealt.ru>,
 =?utf-8?B?0JDQvdC00YDQtdC5INCn0LXRgNC10L/QsNC90L7Qsg==?= <cas@basealt.ru>
Subject: Re: [make-initrd]
 =?utf-8?q?=5Bdegraded_md-raid=5D_make-initrd_=D0=B2?=
 =?utf-8?b?IHA5INC4INCyINCh0LjQt9C40YTQtQ==?=
X-BeenThere: make-initrd@lists.altlinux.org
X-Mailman-Version: 2.1.12
Precedence: list
Reply-To: make-initrd@lists.altlinux.org
List-Id: <make-initrd.lists.altlinux.org>
List-Unsubscribe: <https://lists.altlinux.org/mailman/options/make-initrd>,
 <mailto:make-initrd-request@lists.altlinux.org?subject=unsubscribe>
List-Archive: <http://lists.altlinux.org/pipermail/make-initrd>
List-Post: <mailto:make-initrd@lists.altlinux.org>
List-Help: <mailto:make-initrd-request@lists.altlinux.org?subject=help>
List-Subscribe: <https://lists.altlinux.org/mailman/listinfo/make-initrd>,
 <mailto:make-initrd-request@lists.altlinux.org?subject=subscribe>
X-List-Received-Date: Mon, 17 Feb 2020 15:23:17 -0000
Archived-At: <http://lore.altlinux.org/make-initrd/20200217152312.suvw3d3snuquenfz@comp-core-i7-2640m-0182e6/>
List-Archive: <http://lore.altlinux.org/make-initrd/>

On Mon, Feb 17, 2020 at 02:27:30PM +0300, Leonid Krivoshein wrote:
> Привет, Алексей, ещё раз! :-)
> 
> 
> 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.
> > 
> > Он решает проблему и не решает какую проблему ?
> > Какие ещё проблемы есть ?
> 
> Не решает ни одну из двух проблем:

ok. Значит он перестал работать совсем.

Нужно будет написать тест про degraded raid. Я примерно понимаю как это
должно выглядеть. А вот с read-auto сложнее. Что это ?

Можно тебя попросить написать тест (я готов ответить на любые вопросы про
новые end-to-end тесты) ?

> - не "чинит" 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 для любых обнаруживаемых
> блочных дисков, а не только для тех, на которых корень, аккуратно пытаться
> исправить приведёнными командами. Очевидно, обработка должна находиться не
> здесь, а где-то ещё.
> 
> Сейчас я воспроизведу на виртуалке и отпишу более детально...

Было бы здорово, если бы ты выложил это куда-нибудь, чтобы мне можно тоже
было посмотреть.

-- 
Rgrds, legion