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:
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
- 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.
- 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.
- 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.
- 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.
- 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
- Wenn man LVM sehr ausreizen will muss man LVM per Konsolbefehlen administrieren. Die Standardadministration kann aber über GUIs vorgenommen werden.
- 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.
- 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.
- 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.
- openSuSE: YAST beinhaltet einen LVM editor
- Debian, Ubuntu, Redhat, Mint, Fedora, Centos: system-config-lvm


