Make-initrd development discussion
 help / color / mirror / Atom feed
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 18:38:13 +0100
Message-ID: <20210218173722.dkyamp42c6gpdigk@example.org> (raw)
In-Reply-To: <88e0982a-556a-55eb-7cf2-e4bfb5fea450@gmail.com>

On Thu, Feb 18, 2021 at 07:55:31PM +0300, Leonid Krivoshein wrote:
> Привет!
> 
> 
> 21.05.2020 16:36, Alexey Gladkov пишет:
> > On Fri, May 08, 2020 at 01:40:12PM +0200, Alexey Gladkov wrote:
> > > Привет!
> > > 
> > > Я закоммитил новую фичу для поиска рута не основанного на локальных
> > > устройствах. Проблема в том, что make-initrd достаточно хорошо умеет
> > > работать с локальными устройствами, но если нужно скачать и смонтировать
> > > образ (или несколько их), то такие операции не вписываются в локальную
> > > схему.
> > > 
> > > Pipeline позволяет определить порядок стадий, которые нельзя завязать на
> > > udev и инициализацию устройств.
> > > 
> > > Сейчас реализовано всего несколько таких стадий: getimage, mountfs,
> > > overlayfs. Стадии могут повторяться т.е. смонтировать и объединить с
> > > помощью overlayfs можно не один squashfs из скачанного образа, а несколько.
> > > Скачать можно также несколько образов.
> > > 
> > > Пример cmdline:
> > > 
> > > root=pipeline pipeline=getimage,mountfs,overlayfs,rootfs \
> > >    getimage=http://ftp.altlinux.org/pub/people/mike/iso/misc/vi-20140918-i586.iso \
> > >    mountfs=rescue
> > > 
> > > initrd не будет смотреть на локальные диски, а скачает образ, смонтирует
> > > его как loopback, смонтирует поверх overlayfs и попробует загрузить из
> > > него систему т.е. поискать там /sbin/init.
> > > 
> > > Эта фича экспериментальная. Она ещё не закончена и, возможно, с ней может
> > > случиться что-то нехорошее в будущем.
> > > 
> > > P.S. Документации пока минимум, потому что пока не всё ещё закончено.
> > Исправил ошибки и теперь оно в каком-то виде точно работает. Сделал тест,
> > который берёт корень из squashfs из iso, который из /dev/cdrom.
> > 
> 
> Получится ли использовать эту фичу, чтобы дождаться сборки других рейдов, не
> связанных с корневым разделом? Дело в том, что сейчас make-initrd всеми
> правдами может собрать рейд, на котором есть корневой раздел, но если на
> внешней корзине много дисков и там несколько более сложных рейдов, с корнем
> не связанных, они собраться не успевают до pivot_root, так что правила
> systemd во второй стадии загрузки их тоже не могут собрать, так как там
> стоит защита от состояния "inactive". Грубо говоря, в простом случае тут
> хватило бы какой-то простой задержки, иначе начальная загрузка ломает
> собираемость больших рейдов с данными.

Эта фича не про рейды совсем. Попросить make-initrd смонитровать не только
корнефой раздел можно другими методами.

Я не очень понял описанную проблему.

"Всеми правдами" это вы имеете в виду стандартные правила сборки рейда из
самого mdadm ?

Если не хватает времени, то есть rootdelay=X, который можно выставить хоть
в сутки. Также есть параметр raid-member-delay=X через который можно
отключить получение degraded raid. Правильное указание этих параметров
должно решать описанную проблему.

-- 
Rgrds, legion



  reply	other threads:[~2021-02-18 17:38 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 [this message]
2021-02-18 18:18       ` Leonid Krivoshein
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=20210218173722.dkyamp42c6gpdigk@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