ALT Linux Sisyphus discussions
 help / color / mirror / Atom feed
From: Alexey Gladkov <legion@altlinux.ru>
To: ALT Linux Sisyphus discussions <sisyphus@lists.altlinux.org>
Subject: Re: [sisyphus] make-initrd
Date: Wed, 17 Jun 2020 18:15:25 +0200
Message-ID: <20200617161525.kq4wdme76dsq7nok@comp-core-i7-2640m-0182e6> (raw)
In-Reply-To: <CAO+nvQCZ3inPfCTT6-YCZ3gq0O8LvgeS76ahmSBiUxuXx+Ncxw@mail.gmail.com>

On Tue, Jun 16, 2020 at 08:53:45PM +0300, Игорь Андросов wrote:
> > > Эм... Может я неверно выразился, но:
> > > kernel/Documentation/admin-guide/devices.txt
> > > --
> > >    0 Unnamed devices (e.g. non-device mounts)
> > >   0 = reserved as null device number
> > > See block major 144, 145, 146 for expansion areas.
> > > -- cut --
> > >
> > > btrfs это файловая система, она вроде как не устройство, она может быть
> > > собрана из н-цати "устройств", разделов дисков и тд. и сказать кто в нее
> > > входит может только она.
> >
> > Это не так. Обратите внимание, что показала утилита stat. Это те же major
> > и minor устройства.
> >
> Эм, мы у него и попросили их, указав конкретный, существующий device.
> 
> >
> > Тут скорее findmnt запутался из-за того что запрос информации об
> > устройстве был по точке монтирования и выдал чушь. На моих тестах он вёл
> > себя корректно.
> >
> findmnt по умолчанию берет данные из /proc/self/mountinfo, там тот же major
> = 0, и эту информацию дает ядро:
> 
> Я еще раз поясню свою мысль на примере (пример извращенный но возможный):
> btrfs = (sda1, sdb, nvme1) то есть она собрана из нескольких физ устройств,
> режим single то есть размер файловой система - весь суммарный объем
> устройств
> для того что бы btrfs "собралась" должны быть доступны все устройства, если
> драйвера для того или иного устройства не будет/не будет устройства и fs
> "не соберется", если на этой fs расположен корень - мы не можем загрузиться.
> Не через btrfs я не знаю способ как можно посмотреть какие устройства для
> нее нужны, везде я вижу только одно устройство (подозреваю первое по
> алфавиту найденное по uuid? у остальных uuid тайкой же). через команду
> "btrfs filesystem show /" я вижу что в составе этой fs 3 устройства.
> 
> >
> > > Соответственно и возникает устройство с Major 0,
> > > так монтируем не конкретное устройство, а некую точку из того что есть в
> > > btrfs, имхо схоже с nfs,proc,sys и подобными.
> >
> > В случае виртуальной файловой системы major и minor не имеет смысла.
> >
> > Я переделаю способ получения этой информации о точке монтирования.
> >
> Мое мнение: для того чтобы обеспечить загрузку с корнем на btrfs нужно
> знать какие устройства в нее входят, и соответственно включать в initrd
> драйвера необходимые для каждого. В моем случае btrfs состоит из одного
> device, была у меня конфигурация где было 5 дисков, на 2 разных sata
> контроллерах, благо не корень ) Возможность на лету добавить устройство в
> btrfs и убрать позволяет создать корень на любой вариации аппаратных, и не
> только, носителей...
> 
> Прошу прощения за разведенную дискуссию.

После вашего письма я понял, что у меня существует пробел в знаниях о
btrfs. Я знал, что можно использовать несколько дисков, но мне казалось,
что при объединении дисков в одну файловую систему будет создано
устройство (device mapper или что-то своё).

Теперь я понимаю о чём вы говорите. Получается до перехода на findmnt
make-initrd работал чудом (если работал) с btrfs. Сейчас оно сломалось
окончательно.

Похоже для btrfs нужно делать `btrfs filesystem show /` и получать оттуда
полный список devid.

-- 
Rgrds, legion



  parent reply	other threads:[~2020-06-17 16:15 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-16  9:16 ` Alexey Gladkov
2020-06-16 12:30     ` Alexey Gladkov
2020-06-16 16:04         ` Alexey Gladkov
2020-06-17 16:15             ` Alexey Gladkov [this message]
2020-06-17 18:25                 ` Alexey Gladkov
2020-06-17 18:53                   ` Михаил Новоселов
2020-06-20 19:06               ` Leonid Krivoshein
2020-06-20 19:44                 ` 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=20200617161525.kq4wdme76dsq7nok@comp-core-i7-2640m-0182e6 \
    --to=legion@altlinux.ru \
    --cc=sisyphus@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

ALT Linux Sisyphus discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/sisyphus/0 sisyphus/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 sisyphus sisyphus/ http://lore.altlinux.org/sisyphus \
		sisyphus@altlinux.ru sisyphus@altlinux.org sisyphus@lists.altlinux.org sisyphus@lists.altlinux.ru sisyphus@lists.altlinux.com sisyphus@linuxteam.iplabs.ru sisyphus@list.linux-os.ru
	public-inbox-index sisyphus

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.sisyphus


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git