Почему не рекомендуется ставить загрузочный раздел на lvm?

12

Я где-то читал, что не рекомендуется помещать загрузочный раздел в раздел на основе lvm. Но я все равно это делаю. Тогда единственная проблема, с которой я столкнулся, это то, что когда я устанавливаю новый дистрибутив Linux и помещаю его загрузочный раздел в lvm, grub не может его обнаружить. Команда grub-mkconfigобычно допускает ошибку при создании grub.cfgфайла. Но, если это единственная проблема в загрузочном разделе на основе lvm, я думаю, что все в порядке. Поскольку я знаю, как это исправить, просто дайте правильный адрес нужному загрузочному разделу для загрузки, и тогда все будет хорошо.

Итак, есть ли что-то кроме этого, что lvm может вызвать проблемы? Потому что, на мой взгляд, lvm очень гибок и не замедляет работу системы.

Мас Баголь
источник

Ответы:

13

Это не проблема производительности, это проблема устранения неполадок и исправления ошибок. /bootэто местоположение начальной загрузки - там есть несколько файлов, которые запускают все остальное в вашей системе.

И иногда вам нужно тыкать туда, чтобы решить проблему (например, grub config или подобное).

Если вам нужно сделать это, полезно иметь файловую систему с наименьшим общим знаменателем, чтобы сделать ее максимально простой, например, если вам нужно извлечь диск и поместить его в другое поле для редактирования файла конфигурации.

Если вы находитесь в таком положении, вам не нужно «выдумывать» свой LVM из жизни, чтобы просто прочитать его :).

Sobrique
источник
1
Или просто, что старые версии GRUB не понимают LVM.
Тгарольд
Хороший момент, также стоит упомянуть, что lvm - сложная установка, потенциально включающая несколько дисков. Если ваш загрузчик зависит от LVM, то, например, вы не можете загрузиться в однопользовательском режиме, чтобы решить проблему с LVM (включая такие банальные проблемы, как сбой диска)
asdmin
3

На мой взгляд, если, как вы говорите, grub не может обнаружить вашу /bootфайловую систему LVM и grub-mkconfig обычно допускает ошибку при генерации grub.cfg, это кажется достаточной причиной, чтобы избежать этой конфигурации и переключиться на что-то, что grub поддерживает лучше. Когда вы говорите «просто дайте правильный адрес предполагаемому загрузочному разделу», я не знаю, что вы подразумеваете под «адресом» или что именно вы делаете в качестве обходного пути, но, честно говоря, это звучит как страшный и хрупкий взлом.

Как основная и практически необходимая функция, загрузчик может получить доступ к простой файловой системе на простом разделе диска и оттуда загрузить следующий этап. Это все, что действительно нужно сделать. Дополнительные функции в загрузчике, такие как синтаксический анализ контейнеров, таких как LVM и манипулирование несколькими дисками в предзагрузочной среде, просто означают больше возможностей Linux (ядра), которые необходимо дублировать в grub (больше кода, больше ошибок), но никогда не получится точно работать одинаково в обеих средах (больше путаницы) и общей сложности. Для начальной загрузки чем проще, тем лучше.

Celada
источник
Под адресом я подразумеваю путь к устройству. В kali linux grub-mkconfigдопустили ошибку, указав корневой путь, /dev/dm-0поскольку он не является постоянным. Итак, я изменил его на правильный путь, который находится /dev/mapper/lvm-kali--bootв моем случае.
Мас Баголь
Понимаю. Это другое. Это путь к корневой файловой системе (который добавляется в командную строку ядра как root=<path>) и не имеет никакого отношения к тому, где /bootнаходится. grub-mkconfigопределенно не должен ошибаться. Это должно соответствовать выводу grub-probe --target=device /.
Селада
Извините, я имею в виду /dev/mapper/lvm-kali--rootнет boot. Опечатка
Mas Bagol
О, я даже не заметил опечатку. Я читаю /dev/mapper/lvm-kali--rootдля начала!
Селада,
вы можете использовать менее распространенный (вне мира fips = 1 вариант) параметр boot = / dev / mapper / $ UUID или $ lvm-name
linuxdev2013
1

Я использую каталог «/ boot» внутри файловой системы LVM «/» в течение многих лет в Fedora, и у меня никогда не было проблем.

Вам просто нужно позаботиться о том, чтобы этот единственный физический диск, на котором «/» находился, был единственным в вашей группе томов. У меня есть группа томов «vgmain» для этого физического диска и «vgdata» для всех остальных. Это важно, если вам нужно перенести диск на другой компьютер в ситуации устранения неполадок. LVM не будет работать, если он состоит из нескольких физических дисков. Но это будет, если он состоит только из одного.

Но мне никогда не приходилось проходить через эту ситуацию устранения неполадок.

Последние установки Fedora не позволят вам сделать это автоматически. Вам нужно будет поместить ваш / / boot в обычный раздел во время установки, затем загрузиться нормально и затем вручную переместить содержимое в файловую систему LVM «/». Убедитесь, что вы реорганизовали вещи так, чтобы они выглядели как «/ boot» как простой каталог в LVM «/», и «/ boot2» как старый загрузочный раздел, а затем создайте «grub install / dev / sda» или что-то подобное. Перезагрузите и затем удалите файловую систему «/ boot2» и включите раздел обратно в LVM, чтобы его можно было использовать.

avibrazil
источник