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.
 
Logische Teile von LVM und deren Zusammenhänge 
 
LVM benutzt folgende 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
  
Das folgende Bild zeigt sehr gut die einzelnen Teile, die LVM ausmacht und ihre 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.  
 
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.
 
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:
vcreate /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

Spam Kommentare sind sinnlos !
Vor der Publizierung wird jeder Beitrag auf Spam geprüft. Leider dauert es deswegen bis ein Kommentar sichtbar wird. Dafür erhält aber kein Subscriber Spam eMails.
Die eMail ist optional und nicht öffentlich sichtbar. Sie ist notwendig um eMail Benachrichtigungen zu Antworten auf Kommentare zu erhalten und wird u.U. genutzt um offline zu kommunizieren.

Spam comments are useless !
Any comment will be reviewed first and checked for spam. Unfortunately this delays the publishing of comments but will protect subscribers from spam.
eMail is optional and hidden and is required get update notifications for any comments and may be used to contact you offline


Kommentare   

0 #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
0 #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
0 #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
0 #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
0 #4 framp 2015-02-13 19:03
Entweder die Partitionen auf ein RAID legen oder ein regelmässiges Backup von dem Snapshot ziehen.
Zitieren
0 #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
0 #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
0 #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 Festplattenausf all sichern, d.h .mit Speicherung auf einem externen Medium?
Zitieren