From: Alexey Gladkov <gladkov.alexey@gmail.com> To: make-initrd@lists.altlinux.org Subject: Re: [make-initrd] I: pipeline feature Date: Thu, 18 Feb 2021 20:37:04 +0100 Message-ID: <20210218193704.zfa6fl4j75il7xw7@example.org> (raw) In-Reply-To: <21e48a26-3031-1ffa-cf83-3c524c20cf52@gmail.com> On Thu, Feb 18, 2021 at 09:18:46PM +0300, Leonid Krivoshein wrote: > > 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. Правильное указание этих параметров > > должно решать описанную проблему. > > Не помогло (см. в баге). Это не помогло так как initrd не ждал эти разделы [1] и как только корень был смонтирован, то сразу же загрузка пошла дальше. Можно указать, чтобы монтировал все указанные рейды, но тогда initrd их смонтирует. Это конечно не то, что ожидается. Проблема в том, что mdadm.conf берётся из системы и содержит все рейды. > Уже немного разобрался, почему так происходит и > даже придумал временный объезд. Возможно, простой способ ПРАВИЛЬНО решить > проблему -- иметь два _РАЗНЫХ_ /etc/mdadm.conf на такие случаи, когда рейды > используются не для корня. Главное, чтобы эти рейды с данными не начинал > собирать интеллект в initramfs (ограничить DEVICES=...), тогда в обычной > системе правила udev сами его соберут. Я тоже мыслю в эту сторону [2]. Я подумываю о том, как бы сгенерировать mdadm.conf только для MOUNTPOINTS. К сожалению, я не уверен, что это можно хорошо сделать. Именно поэтому я и не сделал этого сразу для фичи mdadm. > Сейчас проблема в том, что процесс assembly запускается, но успевает > отрабатывать лишь для простого RAID1 с корнем, а остальные RAID6 с кучей > дисков просто не успевают собраться и, как я полагаю, состояние inactive во > второй стадии мешает их собрать штатным правилам udev. Грубо говоря, наличие > второго конфига типа /etc/mdadm-initrd.conf решило бы проблему -- если такой > файл есть, тянут в initramfs его, если нет, тянуть обычный конфиг. Я согласен. Вопрос в том, как получить конфиг для mountpoints'а. > Однако, есть одно сомнение: make-initrd монтирует только корень или что-то > ещё из /etc/fstab? make-initrd генерирует себе fstab с тем, что его попросили смонтировать. Соответственно ждёт он всех из своего fstab (если не сказали rootonly при загрузке). > Если он монтирует всё, то предложенный воркэраунд не > поможет. Тогда хорошо бы скармливать какими-нибудь параметрами, каких ещё > дисков (событий) следует дождаться до pivot_root... [1] https://github.com/osboot/make-initrd/blob/master/data/lib/initrd/boot/scripts/mountpoints [2] https://bugzilla.altlinux.org/show_bug.cgi?id=29831 [3] https://github.com/osboot/make-initrd/blob/master/features/rootfs/bin/create-fstab -- Rgrds, legion
next prev parent reply other threads:[~2021-02-18 19:37 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 2021-02-18 19:37 ` Alexey Gladkov [this message] 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=20210218193704.zfa6fl4j75il7xw7@example.org \ --to=gladkov.alexey@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