From: Alex Gladkov <gladkov.alexey@gmail.com>
To: "Leonid Krivoshein" <klark@basealt.ru>,
"Michael Shigorin" <mike@altlinux.org>,
"Alexey Shabalin" <shaba@basealt.ru>,
"Андрей Черепанов" <cas@basealt.ru>,
make-initrd@lists.altlinux.org
Subject: Re: [make-initrd] [degraded md-raid] make-initrd в p9 и в Сизифе
Date: Thu, 27 Feb 2020 21:10:03 +0100
Message-ID: <20200227201003.mjh46m7ibmk4vkpf@comp-core-i7-2640m-0182e6> (raw)
In-Reply-To: <20200217152312.suvw3d3snuquenfz@comp-core-i7-2640m-0182e6>
On Mon, Feb 17, 2020 at 04:23:13PM +0100, Alexey Gladkov wrote:
> On Mon, Feb 17, 2020 at 02:27:30PM +0300, Leonid Krivoshein wrote:
> > Привет, Алексей, ещё раз! :-)
Я попытался исправить проблему с таймаутом при медленной инициализации
дисков [1]. Эта проблема может как-то затрагивает и описанное здесь.
Суть фикса [2] это использовать не фиксированный таймаут для инициализации
рейдовых дисков, а сделать его скользящим. Таймаут отчитывается от
появления последнего raid-member. По умолчанию новый таймаут выставлен в
10 секунд т.е. если через 10 секунд после появления последнего
raid-member есть рейды в состоянии inactive, то выполняется mdadm -IRs.
Также бага [1] открыла ещё одну проблему, которую не очень понятно как
лечить автоматически: если в /etc/mdadm.conf описан не только корень, а
целый букет разных рейдов, то все они попадут в initrd, но при этом initrd
не будет ждать сборки их всех. Пока лучшей идеи, чем указание кастомного
mdadm.conf в такой ситуации у меня нет.
Не могли бы заинтересованные люди потестировать фикс [2] на реальном
железе ? У меня есть возможность протестировать в qemu, что не есть айс в
этой ситуации.
[1] https://bugzilla.altlinux.org/show_bug.cgi?id=37737
[2] http://git.altlinux.org/people/legion/packages/make-initrd.git?p=make-initrd.git;a=shortlog;h=refs/heads/fix-mdadm-timeout
> >
> > 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
>
> _______________________________________________
> Make-initrd mailing list
> Make-initrd@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/make-initrd
--
Rgrds, agladkov
next prev parent reply other threads:[~2020-02-27 20:10 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-02-17 11:27 ` Leonid Krivoshein
2020-02-17 15:23 ` Alexey Gladkov
2020-02-17 15:28 ` Michael Shigorin
2020-02-18 0:51 ` Leonid Krivoshein
2020-02-17 15:59 ` Leonid Krivoshein
2020-02-17 19:21 ` Leonid Krivoshein
2020-02-18 20:08 ` Michael Shigorin
2020-02-18 20:42 ` Leonid Krivoshein
2020-02-27 20:10 ` Alex Gladkov [this message]
2020-02-27 20:30 ` Michael A. Kangin
2020-02-27 21:35 ` Leonid Krivoshein
2020-02-27 22:05 ` Alexey Gladkov
2020-02-27 22:12 ` Michael A. Kangin
2020-02-27 23:34 ` Alexey Gladkov
2020-03-06 20:32 ` Michael Shigorin
2020-02-27 21:26 ` Leonid Krivoshein
2020-02-27 23:27 ` Alexey Gladkov
2020-02-28 0:17 ` Leonid Krivoshein
2020-02-28 13:33 ` Alexey Gladkov
2020-02-28 21:43 ` Leonid Krivoshein
2020-02-28 23:39 ` Alexey Gladkov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200227201003.mjh46m7ibmk4vkpf@comp-core-i7-2640m-0182e6 \
--to=gladkov.alexey@gmail.com \
--cc=cas@basealt.ru \
--cc=klark@basealt.ru \
--cc=make-initrd@lists.altlinux.org \
--cc=mike@altlinux.org \
--cc=shaba@basealt.ru \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Make-initrd development discussion
This inbox may be cloned and mirrored by anyone:
git clone --mirror http://lore.altlinux.org/make-initrd/0 make-initrd/git/0.git
# If you have public-inbox 1.1+ installed, you may
# initialize and index your mirror using the following commands:
public-inbox-init -V2 make-initrd make-initrd/ http://lore.altlinux.org/make-initrd \
make-initrd@lists.altlinux.org make-initrd@lists.altlinux.ru make-initrd@lists.altlinux.com
public-inbox-index make-initrd
Example config snippet for mirrors.
Newsgroup available over NNTP:
nntp://lore.altlinux.org/org.altlinux.lists.make-initrd
AGPL code for this site: git clone https://public-inbox.org/public-inbox.git