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
next prev 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