Warum wird es nicht empfohlen, die Startpartition auf lvm zu setzen?

12

Ich habe irgendwo gelesen, dass es nicht empfehlenswert ist, die Startpartition auf eine lvm-basierte Partition zu setzen. Aber ich mache es trotzdem. Dann ist das einzige Problem, mit dem ich konfrontiert bin, manchmal, wenn ich eine neue Linux-Distribution installiere und die Boot-Partition auf lvm lege, grub kann sie nicht erkennen. Der grub-mkconfigBefehl macht normalerweise einen Fehler beim Erzeugen der grub.cfgDatei. Aber wenn dies das einzige Problem auf einer lvm-basierten Bootpartition ist, denke ich, dass es in Ordnung ist. Da ich weiß, wie man das Problem behebt, muss nur der vorgesehenen Startpartition eine richtige Adresse zum Starten zugewiesen werden, und dann funktioniert alles einwandfrei.

Gibt es etwas anderes als das, das Probleme verursachen kann? Denn meiner Meinung nach ist lvm sehr flexibel und hat das System nicht verlangsamt.

Mas Bagol
quelle

Antworten:

13

Es ist kein Leistungsproblem, sondern ein Problem bei der Fehlerbehebung und -behebung. /bootist der Bootstrap-Speicherort - darin befinden sich einige Dateien, die alles andere in Ihrem System auslösen.

Und manchmal muss man sich dort umsehen, um ein Problem zu beheben (z. B. grub config oder ähnliches).

Wenn Sie dies tun müssen, ist es nützlich, ein Dateisystem mit dem kleinsten gemeinsamen Nenner zu haben, um es so einfach wie möglich zu machen, wenn Sie z. B. das Laufwerk entfernen und es in eine andere Box legen müssen, um eine Konfigurationsdatei zu bearbeiten.

Wenn Sie sich in dieser Position befinden, möchten Sie nicht, dass Sie Ihre LVM ins Leben rufen müssen, nur um sie lesen zu können :).

Sobrique
quelle
1
Oder einfach, dass ältere Versionen von GRUB LVM nicht verstehen.
Tgharold
ein guter punkt, auch zu erwähnen, dass lvm ein komplexes setup ist, das möglicherweise mehrere festplatten umfasst. Wenn Ihr Bootloader von LVM abhängt, können Sie beispielsweise nicht im Einzelbenutzermodus booten, um ein Problem mit LVM zu beheben (einschließlich solcher banaler Probleme als
fehlerhafter
3

Wenn grub, wie Sie sagen, Ihr LVM- /bootDateisystem nicht erkennen kann und grub-mkconfig normalerweise beim Generieren einen Fehler macht grub.cfg, scheint mir dies Grund genug, diese Konfiguration zu vermeiden und zu etwas zu wechseln, das grub besser unterstützt. Wenn Sie sagen "Geben Sie der vorgesehenen Startpartition nur eine richtige Adresse", dann weiß ich nicht, was Sie unter "Adresse" verstehen oder was Sie genau tun, um dies zu umgehen, aber ehrlich gesagt klingt es nach einem beängstigenden und fragilen Hack.

Als grundlegende und praktisch notwendige Funktion kann der Bootloader auf ein einfaches Dateisystem auf einer einfachen Festplattenpartition zugreifen und von dort aus die nächste Stufe laden. Das ist alles, was es wirklich tun muss. Weitere Funktionen im Bootloader, wie das Analysieren von Containern wie LVM und das Jonglieren mehrerer Festplatten in der Pre-Boot-Umgebung, bedeuten nur, dass mehr Linux- (Kernel-) Funktionen in grub dupliziert werden müssen (mehr Code, mehr Fehler), aber nie ganz genau arbeiten in beiden Umgebungen gleich (mehr Verwirrung) und insgesamt komplexer. Je einfacher das Bootstrapping, desto besser.

Celada
quelle
Was ich unter Adresse verstehe, ist der Gerätepfad. In Kali Linux wurde grub-mkconfigder Fehler gemacht, den Root-Pfad anzugeben, /dev/dm-0da er nicht dauerhaft ist. Also habe ich es in den richtigen Pfad geändert, der /dev/mapper/lvm-kali--bootin meinem Fall ist.
Mas Bagol
Aha. Das ist anders. Dies ist der Pfad des Root-Dateisystems (der der Kernel-Befehlszeile als hinzugefügt wird root=<path>) und hat nichts mit der Position zu tun /boot. grub-mkconfigsollte auf keinen Fall falsch verstanden werden. Sie sollte der Ausgabe von entsprechen grub-probe --target=device /.
Celada
Entschuldigung, ich meine /dev/mapper/lvm-kali--rootnicht boot. Tippfehler
Mas Bagol
Oh, ich hatte den Tippfehler nicht einmal bemerkt. Ich las zuerst /dev/mapper/lvm-kali--root!
Celada
Sie können eine seltenere Option (mindestens außerhalb der fips = 1-Welt) verwenden: boot = / dev / mapper / $ UUID oder $ lvm-name
linuxdev2013
1

Ich verwende das Verzeichnis "/ boot" im LVM-Dateisystem "/" seit Jahren unter Fedora und hatte nie Probleme.

Sie müssen nur darauf achten, dass die einzige physische Festplatte, auf der sich „/“ befindet, die einzige in Ihrer Datenträgergruppe ist. Ich habe eine "vgmain" -Datenträgergruppe für dieses physische Laufwerk und eine "vgdata" für den Rest. Dies ist wichtig, wenn Sie Ihr Laufwerk in einer Fehlerbehebungssituation zu einem anderen Computer transportieren müssen. LVM funktioniert nicht, wenn es aus mehreren physischen Laufwerken besteht. Aber es wird, wenn es nur aus einem besteht.

Aber ich musste diese Fehlersuche nie durchstehen.

Bei den neuesten Fedora-Installationen können Sie dies nicht automatisch tun. Während der Installation muss "/ boot" in einer regulären Partition abgelegt werden. Anschließend wird normal gebootet und der Inhalt manuell in das LVM-Dateisystem "/" verschoben. Stellen Sie sicher, dass Sie die Dinge so reorganisiert haben, dass sie unter LVM „/“ als einfaches Verzeichnis und „/ boot2“ als alte Boot-Partition aussehen, und führen Sie dann eine „grub install / dev / sda“ oder ähnliches aus. Starten Sie das „/ boot2“ -Dateisystem neu und löschen Sie es. Fügen Sie die Partition wieder in LVM ein, damit sie verwendet werden kann.

Avibrazil
quelle