Bewertung: 5 / 5

Stern aktivStern aktivStern aktivStern aktivStern aktiv
 

LVM (Logical volume manager) ist eine Softwarekomponente, die Festplatten bzw Partitionen als physikalische Partition (PV) in Volume Gruppen (VG) zusammenfast und es erlaubt daraus dynamisch logische Volumes (Partitions) (LV) zu erstellen und im laufenden System ihre Größe zu modifizieren. Linux, Aix, OS2, Solarix, FreeBSD u.a. untersützen LVM. Windows2000 und höher hat ein ähnliches Konzept, ist aber mit LVM nicht kompatibel.  Linuxdistributionen wie z.B. Debian, Mandrake, Mint, Ubuntu, Redhat, Slackware und openSuSE bieten zwar während der Installation an das Linux unter LVM zu installieren. Nur leider ist der Standardfall immer noch, dass kein LVM benutzt wird. Im Folgenden wird im Detail beschrieben, was die Fähigkeiten und Vorteile von LVM sind und warum auch jeder  Linux Benutzer LVM benutzen sollte.

 
 

Was kann LVM und warum sollte man LVM benutzen 

 

Logische Teile von LVM und deren Zusammenhänge 

 

Begriffe

 

PV: Physical volume - ein physikalische Platte oder Partition einer Platte

PE: Physical extent partition - eine Speichereinheit einer PV

LV: Logical volume - eine Zusammenfassung von mehreren PEs. Entspricht einer Partition in einem nicht LVM verwalteten System.

LE: Logical extent - eine logische Speichereinheit einer LV die auf ein physische Speichereinheit einer PV, der PE verweist

VG: Volume group - eine Zusammenfassung von mehreren PVs und den darin definierten LVs

  

Bild der LVM Zusammenhänge:

 
lvm.jpg
   

Die PVs /dev/sda1, /dev/sda2 usw besitzen physische extents (PE). Mehrere Platten werden zu einer volumegroup (VG) dataVG zusammengefasst. In dieser volumengroup dataVG sind logische volumes (LV) /dev/LV1 und /dev/LV2 definiert. Sie besitzen logische Extents (LE), die auf phyische Extents in det PV zeigen. Dabei können sich die PEs auf mehreren unterschiedlichen Platten verteilen.(/dev/LV2 PEs auf PV /dev/sda1, /dev/sdb1 und /dev/sdb2). Auf diesen logischen Volumes erstellt man dann ein Filesystem (FS) (ext3 bzw ext4) und mountet dieses im Betriebssystem mit dem mountpoint (MP) /home bzw als /.

 

Der Umstieg von der alten nicht LVM basierten Welt in die LVM Welt geht am leichtesten wenn man sich folgende Dinge merkt:

 

  • Eine LV unter LVM ist einfach eine PlattenPartition im alten Sinne.
  •  Eine VG ist einfach eine Zusammenfassung von mehreren Platten. 
 

Vor- und Nachteile

 

 Vorteile eines LVM

  1. Sollte eine LV zu klein werden kann man sie i.d.R. im laufenden System vergrößern. Verkleinern von LVs geht ebenso. D.h. also man kann sehr einfach eine Partition (im alten Sinne) vergößern und verkleinern ohne gparted benutzen zu müssen um die Partitionen zu ändern.
  2. Sollte eine VG zu klein werden und kam kann keine LVs mehr vergößern kann man im laufenden System eine weitere Platte oder Partition (PV) in die VG einbinden und damit die VG vergößern. D.h. also, wenn eine Partition (im alte Sinne) nicht mehr vergrößert werden kann, da die Platte, auf der sich die Partition befindet, voll ist, kann man einfach eine weitere physikalische Platte in die VG hinzufügen und dann die LV (Partition im alte Sinne) vergrößern.
  3. Sollte man neue Partitionen benötigen, .z.b. um ein weiteres Betriebssystem zu installieren, kann man im laufenden System eine neue Partition (LV) anlegen und darin das neue Betriebssystem installieren. Wenn man eine Partition (LV) nicht mehr benötigt kann man sie wieder löschen und der Speicherplatz steht wieder in der VG zur Verfügung.
  4. Sollte man irgendwelche LVs sichern wollen um sie z.B. für Tests zu benutzen und immer wieder auf den alten LV Stand zurückgehen um Tests erneut zu wiederholenkann man Snapshots für LVs anlegen. Das ist keine totale Kopie einer LV in seiner ganzen Größe sondern es werden nur die Änderungen auf der Ursprungs LV in der Snapshot LV angelegt. Etwas kritisch ist die Tatsache, dass der Snapshot verschwindet, wenn die Änderungen an der Ursprungs LV die Göße der Snapshot LV übersteigt. Wer sichergehen will legt die Snapshot LV genauso gross an wie die Original LV. Dann kann der Snapshot nicht verschwinden.
  5. Will man Ausfallsicherheit einer LV kann man sie spiegeln. Wenn eine LV ausfallen sollte (z.B. durch Plattencrash) springt der Spiegel ein und die LV kann weiterhin genutzt werden.

 

Nachteile eines LVM

  1. Wenn man LVM sehr ausreizen will muss man LVM per Konsolbefehlen administrieren. Die Standardadministration kann aber über GUIs vorgenommen werden.
  2. Windows kann nicht auf LVM LVs installiert werden. Wenn man LVM benutzt und eine parallele Windowsinstallation betreiben will muss dafür eine dedizierte Partitionen, die nicht unter LVM Kontrolle steht, bereitstellen.
  3. Die Versuchung ist gross eine Menge physischer Platten in einer VG zusammenzuschliessen und damit eine riesige logische Platte zu haben. Je mehr Platten man zusammenschliesst desto größer wird das Risiko, dass eine Platte ausfällt und damit die gesamte VG. Ein RAID bietet davor Schutz.
  4. Eine gesamte Platte (z.B. /dev/sda) sollte man nicht als PV benutzen (im Gegensatz dazu eine Partition /dev/sda1 auf der Platte die die gesamte Platte umfasst), weil andere Betriebssysteme wie Windows diese Platte nicht als LVM Platte erkennt und sie dann als frei ansieht und sie schnell mal aus Versehen überschrieben wird.

 


Graphische Oberflächen für LVM

Die graphischen Oberflächen erlauben nur die wichtigsten Dinge wie PV/VG/LV anlegen und löschen sowie LV zu vergrößern. Will man tiefergehende und umfangreichere Dinge mit LVM machen muss man auf der Konsole entsprechende Befehle abgeben.

  1. openSuSE: YAST beinhaltet einen LVM editor
  2. Debian, Ubuntu, Redhat, Mint, Fedora, Centos: system-config-lvm
 
 Zusammenfassung  
LVM ist für einen jeden Systemadministratoren ein Muss. Es erlaubt flexible Bereitstellung und GrößenÄnderung von Partitionen was in einem Serverumfeld immer notwendig ist. Aber auch ein normaler Heimanwender von Linux profitiert von LVM. In der heutigen Zeit der riesigen Platten > 1TB kann man sicherlich immer noch die Platten auf die alte Art und Weise ohne LVM in Partitionen unterteilen und auch per gparted oder ähnlichen Tools deren Größe bei Bedarf ändern. Es ist aber wesentlich sinnvoller und einfacher zu administrieren wenn man die eine grosse Platte unter LVM Verwaltung stellt und dann dynamisch neue Partitionen erstellt. Besonders hilfreich ist das wenn man parallele Betriebssysteme installiert hat oder auch wenn man einfach nur parallel zu einer alten Betriebssystemversion eine neue aktuelle Version installieren möchte.Oftmals kauft man sich später noch eine oder zwei Platten dazu weil das Plattenplatz knapp wird. Mit einem LVM kann man die Platten sehr schnell integrieren. Allerdings muss man sich bewusst sein, dass dadurch die Ausfallwahrscheinlichkeit einer VG steigt und sollte geeignete Backupstrategien und -prozeduren auf externe USB Platten oder NAS Gerätehaben.
Die Snapshots sind auch eine hilfreiche Funktion, denn damit kann man einfach auf Knopfdruck ein Backup einer Partition erstellen. Hilfreich ist es auch, wenn man einen Betriebssystemupgrade testen möchte. Einfach einen Snapshot erstellen und auf dem den Upgrade durchführen. Dann Testen und wenn alles zufriedenstellend funktioniert fährt man den Rechner mit diesem Snapshot. Funktioniert es nicht dann löscht man den Snapshot und geht wieder auf die alte Version zurück. Bleibt man auf der neuen Version muss aber immer die alte Version beibehalten werden da ja der Snapshot immer nur die Änderungen zum alten LV beinhaltet.
 

Liste von den wichtigsten LVM Konsolenbefehlen

 
Erstellen einer PV:
pvcreate /dev/sdb1
 
Erstellen einer VG:
vgcreate neuVG /dev/sda1 /dev/sdb1
 
Erweiterung einer VG um eine neue PV:
vgextend neuVG /dev/sdc1
 
Erstellung einer LV neuLV von 2G in einer VG neuVG:
lvcreate -L2G -nneuLV neuVG
 
Vergrößerung einer LV neuLV um 10G:
lvextend -L+10G /dev/neuVG/neuLV
 
Kommentar schreiben

*** Hinweis ***

Kommentare sind erwünscht. Aber um lästige Spamposts abweisen zu können gibt es ein paar Dinge die zu beachten sind:
  1. Kommentare mit dem Text http werden sofort zurückgewiesen mit der Meldung Sie sind nicht berechtigt den Tag zu verwenden. zz
  2. Kommentare werden manuell überprüft und es dauert deshalb in der Regel einen Tag bis sie veröffentlicht werden.

    Kommentare   
    #14 framp 2017-05-06 21:31
    Moin Sebastian,

    jetzt werden auch die Erstellungsdaten der Artikel angezeigt. :-)

    Cu framp
    Zitieren
    #13 Sebastian 2017-05-06 21:17
    Achduje, ich hatte nur gelesen wann der Artikel aktualisiert wurde. Trotzdem gut zu wissen und danke für die hilfreiche Antwort. Dann will ich mal nicht an die gute Praxis rühren und beide Tools ihre ureigene Aufgabe verrichten lassen.

    Sebastian
    Zitieren
    #12 framp 2017-05-06 17:16
    Moin Sebastian,

    zitiere Sebastian:
    ... aber trifft das auch noch zu, wenn es mittlerweile mirrored LVs gibt? Wo liegt der Unterschied?
    Der Artikel stammt aus dem Jahre 2011 wo es mirrored LVMs noch nicht gab. Ich habe mal ein wenig gegoogelt. LVM benutzt mittlerweile auch mdadm Code. Somit sollte es möglich sein wie Du sagst. Good practice ist aber immer noch LVM auf einem mdadm RAID1 aufzusetzen um damit die Fähigkeiten beider Tools zu kombinieren. Es scheint so dass LVM nicht so zuverlässig ist wenn es Stromausfälle gibt.

    Cu framp
    Zitieren
    #11 Sebastian 2017-05-06 15:54
    Hallo framp

    Du schreibst, dass nur ein RAID1 (mit mdadm) ein LVM vor Ausfall einer Platte schützt. Das leuchtet ein, aber trifft das auch noch zu, wenn es mittlerweile mirrored LVs gibt? Wo liegt der Unterschied? Liefe ein LVM mit mirrored LVs auch dann noch weiter, wenn eine der Platten bzw. PVs ausfällt?

    Mit wissbegierigem Gruß

    Sebastian
    Zitieren
    #10 framp 2016-12-27 15:52
    Moin Kurt,

    ja, das ist richtig. Danke für den Hinweis auf den Typo. Habe es eben korrigiert :-)

    Cu framp
    Zitieren
    #9 Kurt 2016-12-27 15:46
    Muss hier der Befehl nicht pvcreate heißen?
    Zitat:
    Erstellen einer PV:
    vcreate /dev/sdb1
    Zitieren
    #8 framp 2016-01-01 22:09
    Moin megamediker,

    mit einem Live Linux CD kann man sicherlich das LVM auflösen um die Fehlermeldung beim Booten von den Installations CD zu beseitigen. Vermutlich reicht es auch einfach die Platten noch mal neu zu formatieren um das LVM zu beseitigen.

    Cu framp
    Zitieren
    #7 megamediker 2016-01-01 19:10
    Danke für den Beitrag,
    Frage: Ich habe einen XServer 225 und habe Suse installiertm, nachdem ich das LVM mit dem IBM Setup und Installations CD eingerichtet habe. 0,1 als RAID, 2,3.4.5 als einzelne Platten. Dann habe ich Suse installiert. Später habe ich eine 21'' Monitor angehangen, mit dem Suse nicht mehr zurechtkam und wollte Debian installieren.
    Jetzt kann ich von den Server Installations CD's nicht mehr starten. Eine mögliche Installation würde auf einer X-beliebigen Platte landen und der Grub Eintrag in den Platten 0-1 kann nicht bearbeitet werden. Installation im Nirvana. Was kann man tun um das Prob. zu lösen.

    Ginge es unter Knoppix das LVM aufzulösen und dann neu zu installieren?
    Danke vorab
    Zitieren
    #6 framp 2015-12-17 11:36
    Moin Kaze,

    das ist kein Hund sondern ein eingeschneites Erdmännchen :lol: . Der wackelt jedes Jahr ab erstem Advent bis Weihnachten hier rum. Anschliessend verschwindet er wieder bis zum nächsten Jahr :lol:

    CU framp
    Zitieren
    #5 Kaze 2015-12-17 11:32
    da fliegt ein Hund über die Seite - bring den doch mal ins Tierheim, damit der hier nicht so rumnervt!
    aber ansonsten ne nette Zusammenfassung
    Zitieren
    +1 #4 framp 2015-02-13 19:03
    Entweder die Partitionen auf ein RAID legen oder ein regelmässiges Backup von dem Snapshot ziehen.
    Zitieren
    #3 Marek 2015-02-12 22:27
    Das ist das Problem - was tun, wenn die Festplatte kaputt geht und das Original somit nicht mehr verfügbar ist?
    Zitieren
    #2 framp 2015-02-12 20:10
    Moin Marek,

    so ganz verstehe ich Deine Frage nicht. Wenn Du vom Snapshot eine Kopie auf eine Platte machst wird dort alles gesichert. Die Daten, die sich nicht geaendert haben werden vom Original gelesen.

    Cu framp
    Zitieren
    #1 Marek 2015-02-12 11:10
    Hallo, danke für die ausführliche Darstellung. Wenn ich es aber recht verstehe, ist ein Snapshot ein inkrementelles Backup - ohne die ursprüngliche Partition nicht zu gebrauchen. Wie aber kann ich eine Partition mit Snapshots gegen Festplattenausfall sichern, d.h .mit Speicherung auf einem externen Medium?
    Zitieren