From: Leonid Krivoshein <klark.devel@gmail.com>
To: make-initrd@lists.altlinux.org
Subject: Re: [make-initrd] I: pipeline feature
Date: Thu, 18 Feb 2021 21:18:46 +0300
Message-ID: <21e48a26-3031-1ffa-cf83-3c524c20cf52@gmail.com> (raw)
In-Reply-To: <20210218173722.dkyamp42c6gpdigk@example.org>
18.02.2021 20:38, Alexey Gladkov пишет:
> On Thu, Feb 18, 2021 at 07:55:31PM +0300, Leonid Krivoshein wrote:
>> Привет!
>>
>>
>> [...]
>> Получится ли использовать эту фичу, чтобы дождаться сборки других рейдов, не
>> связанных с корневым разделом? Дело в том, что сейчас make-initrd всеми
>> правдами может собрать рейд, на котором есть корневой раздел, но если на
>> внешней корзине много дисков и там несколько более сложных рейдов, с корнем
>> не связанных, они собраться не успевают до pivot_root, так что правила
>> systemd во второй стадии загрузки их тоже не могут собрать, так как там
>> стоит защита от состояния "inactive". Грубо говоря, в простом случае тут
>> хватило бы какой-то простой задержки, иначе начальная загрузка ломает
>> собираемость больших рейдов с данными.
> Эта фича не про рейды совсем.
Понял.
> Попросить make-initrd смонитровать не только
> корнефой раздел можно другими методами.
Отлично! Об этом смотри в самом конце..
> Я не очень понял описанную проблему.
https://bugzilla.altlinux.org/39695
> "Всеми правдами" это вы имеете в виду стандартные правила сборки рейда из
> самого mdadm ?
Имел ввиду, что в make-initrd есть "лекарство" для загрузки с read-only
и деградированных рейдов, т.е. когда с ними не всё в порядке, но данные
в принципе доступны.
http://git.altlinux.org/gears/m/make-initrd.git?p=make-initrd.git;a=blob;f=features/mdadm/data/lib/uevent/handlers/md-raid-member/100-timeout;h=96e07da66ee6e7e0ecac6b34359e861a6c0d2d9b;hb=4731c727c756c15776a020780828fa5e33ddef7a
То есть, рейд с корнем он соберёт даже в довольно плохом случае.
> Если не хватает времени, то есть rootdelay=X, который можно выставить хоть
> в сутки. Также есть параметр raid-member-delay=X через который можно
> отключить получение degraded raid. Правильное указание этих параметров
> должно решать описанную проблему.
Не помогло (см. в баге). Уже немного разобрался, почему так происходит и
даже придумал временный объезд. Возможно, простой способ ПРАВИЛЬНО
решить проблему -- иметь два _РАЗНЫХ_ /etc/mdadm.conf на такие случаи,
когда рейды используются не для корня. Главное, чтобы эти рейды с
данными не начинал собирать интеллект в initramfs (ограничить
DEVICES=...), тогда в обычной системе правила udev сами его соберут.
Сейчас проблема в том, что процесс assembly запускается, но успевает
отрабатывать лишь для простого RAID1 с корнем, а остальные RAID6 с кучей
дисков просто не успевают собраться и, как я полагаю, состояние inactive
во второй стадии мешает их собрать штатным правилам udev. Грубо говоря,
наличие второго конфига типа /etc/mdadm-initrd.conf решило бы проблему
-- если такой файл есть, тянут в initramfs его, если нет, тянуть обычный
конфиг.
Однако, есть одно сомнение: make-initrd монтирует только корень или
что-то ещё из /etc/fstab? Если он монтирует всё, то предложенный
воркэраунд не поможет. Тогда хорошо бы скармливать какими-нибудь
параметрами, каких ещё дисков (событий) следует дождаться до pivot_root...
--
Best regards,
Leonid Krivoshein.
next prev parent reply other threads:[~2021-02-18 18:18 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-08 11:40 Alexey Gladkov
2020-05-08 14:20 ` Michael Shigorin
2020-05-08 14:43 ` Alexey Gladkov
2020-05-09 13:08 ` Leonid Krivoshein
2020-05-09 14:28 ` Alexey Gladkov
2020-05-10 16:04 ` Alexey Gladkov
2020-05-21 13:36 ` Alexey Gladkov
2021-02-18 16:55 ` Leonid Krivoshein
2021-02-18 17:38 ` Alexey Gladkov
2021-02-18 18:18 ` Leonid Krivoshein [this message]
2021-02-18 19:37 ` Alexey Gladkov
2021-02-18 20:29 ` Leonid Krivoshein
2021-02-19 10:49 ` Alexey Gladkov
2021-02-19 13:40 ` Leonid Krivoshein
2021-02-20 9:58 ` Leonid Krivoshein
2021-02-20 10:31 ` Alexey Gladkov
2021-02-20 11:05 ` Leonid Krivoshein
2021-02-20 11:33 ` Alexey Gladkov
2021-02-20 14:29 ` Michael Shigorin
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=21e48a26-3031-1ffa-cf83-3c524c20cf52@gmail.com \
--to=klark.devel@gmail.com \
--cc=make-initrd@lists.altlinux.org \
/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