
Es scheint, dass ich erfolgreich ein pvcreate auf einem Raw-Blockgerät ausführen kann, ohne jemals eine Partitionstabelle erstellen zu müssen. Ich kann dann eine Volume-Gruppe, ein logisches Volume und schließlich ein Dateisystem erstellen, es mounten und über dd testen.
Es scheint zu funktionieren, aber ich muss es noch einmal überprüfen. Ist das eine schlechte Idee?
Wie erstelle ich eine GPT- oder MBR-Partitionstabelle über einem Raw-Block-Gerät?
Wie kann ich mithilfe von parted anzeigen, welche Art von Partitionstabelle verwendet wird? Ich habe Folgendes versucht:
getrennt, wähle /dev/sdb, drucke und ich bekomme:
Fehler: /dev/sdb: nicht erkannte Datenträgerbezeichnung
Das Laufwerk wird derzeit jedoch verwendet und ich kann darauf lesen und schreiben. Ist das die erwartete Ausgabe, wenn LVM auf einem Raw-Blockgerät ohne Partitionstabelle ausgeführt wird? Irgendwelche Ideen?
Danke!
Antwort1
Auch wenn LVM selbst keine echte Partition benötigt, besteht ein Grund für die Erstellung dennoch darin, Partitionierungsprogramme darüber zu informieren, dass „da etwas ist“. Ein Albtraumszenario ist, wenn ein neuer Systemadministrator ein Bootproblem auf einem Server diagnostiziert, ein Partitionierungsprogramm startet, unpartitionierte Festplatten sieht und zu dem Schluss kommt, dass die Festplatte beschädigt ist.
Ich sehe keine Nachteile bei der Erstellung einer LVM-Partition. Und Sie?
Antwort2
Obwohl Sie einfach ein PV aus einem einfachen Blockgerät erstellen können, versuche ich dies normalerweise zu vermeiden, da es zu Verwirrung führen kann, wofür das Blockgerät verwendet wird. Es kann auch einige der automatischen Erkennungsroutinen beschädigen, die LVM verwenden kann, wenn die Konfigurationsdateien fehlen.
Hier ist ein Beispiel für die Verwendung von parted zum Erstellen einer GPT mit 1 Partition, die das gesamte Laufwerk umfasst, und zum Setzen des Partitionsflags auf lvm. Das mkpart erfordert, dass Sie ein Dateisystem angeben, erstellt das Dateisystem jedoch nicht. Scheint ein seit langem bestehender Fehler in parted zu sein. Außerdem soll der Startversatz von 1M sicherstellen, dass Sie eine korrekte Ausrichtung erhalten.
parted /dev/sdb
mklabel GPT
mkpart primary ext2 1M 100%
set 1 lvm on
Antwort3
Auch wenn ich früher MS-DOS-Disklabel oder GPT-Disklabel für PV verwendet habe, bevorzuge ich jetzt die direkte Verwendung von LVM auf dem Hauptblockgerät. Es gibt keinen Grund, 2 Disklabels zu verwenden, es sei denn, Sie haben einen sehr speziellen Anwendungsfall (wie eine Festplatte mit Bootsektor und Bootpartition).
Die Vorteile des direkten Einsatzes von LVM sind:
- Einfachheit - Sie müssen nicht 2 Werkzeugsätze verwenden
- Flexibilität - Sie können pvmove verwenden, um die Daten ohne Ausfallzeiten von einem Datenträger auf einen anderen zu verschieben. Sie können Snapshots und Thin Provisioning verwenden.
- Sie müssen partprobe oder kpartx nicht ausführen, um dem Kernel mitzuteilen, dass Sie ein Volume erstellt/verkleinert/gelöscht haben. Undpartprobe/kpartx könnte fehlschlagenwenn Partitionen verwendet werden und Sie möglicherweise einen Neustart durchführen müssen
- möglicherweise bessere Leistung im Vergleich zur Verwendung von LVM auf MS-DOS- oder GPT-Festplatten
- vermeidet eine mögliche Fehlausrichtung, wenn die mit fdisk erstellte Partition nicht mit den Extents auf dem zugrunde liegenden Volume (z. B. RAID-Array) ausgerichtet ist
Antwort4
Laut LVM-Handbuch von RedHat, Abschnitt 4.2.1 https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/logical_volume_manager_administration/physvol_admin
Sie sagten, die Partitionstabelle sei nicht erforderlich und schlugen uns sogar vor, sie zu zerstören, wenn wir die gesamte Festplatte für VG (Volume Group) verwenden, es sei denn, wir beabsichtigen, nur Teile davon (Partition) einzuschließen.