Ursprünglich stammt der Logical Volume Manager (LVM) aus dem Server-Bereich. Die Entwickler verfolgten das Ziel, dem Administrator das Leben durch das dynamische Anpassen der Festplattenkapazität während der Laufzeit des Systems zu erleichtern.
Durch eine zusätzliche Abstraktionsebene unterhalb des Dateisystems erlaubt das LVM auf einer einzelnen Festplatte – oder über mehrere hinweg – das Erstellen von logischen Partitionen. Mit den passenden Programmen vergrößern oder verkleinern Sie diese virtuelle Datenträger fast nach Belieben.
Schon im Linux-Kernel 2.4 war der LVM in Version 1 vertreten [1]. In den aktuellen 2.6er-Kernel integrierten die Entwickler den LVM2, der einige Änderungen (siehe Kasten "LVM2") gegenüber der Vorgängerversion enthält. Alle Anweisungen in diesem Artikel beziehen sich auf LVM2, das sich abwärtskompatibel zu LVM1 verhält.
LVM2
Die wesentlichen Änderungen im LVM2 sind der Device Mapper, maximale LVM-Größen und die Konfigurationsdatei lvm.conf. Mit dem Device Mapper setzen Sie ein neues Block-Device auf ein existierendes Device auf. In diesem Fall zieht der Kernel damit die zusätzliche virtuelle Schicht zwischen Festplatte und Dateisystem ein.
Die maximale Device-Größe erhöhte sich mit LVM2 von 2 Terabyte auf 8 Exabyte bei 64-Bit-CPUs. Die Software verwendet nun die Konfigurationsdatei lvm.conf, die sie automatisch anlegt. Die Default Einstellungen darin reichen für einfache Anwendungen vollkommen aus. Im Fehlerfall setzen Sie zuerst hier den Loglevel hoch, um mehr Informationen über das Problem zu erhalten.
In einigen aktuellen Linux-Distributionen bietet das Setup schon bei der Neuinstallation an, einen Teil des Systems auf LVM2 zu installieren. Aber auch auf einem bestehenden System ist es möglich, LVM-Partitionen zu erzeugen. Hierzu stehen einige grafische Tools für KDE und Gnome bereit, mit denen Sie fast alle Administrationsaufgaben erledigen. Die Tabelle "Wichtige LVM-Kommandos" gibt einen Überblick über die wichtigsten Tools der Kommandozeile.
Wichtige LVM-Kommandos
| Befehl | Zweck |
|---|---|
pvcreate
|
Erzeugen eines Physical Volumes |
vgcreate
|
Erzeugen einer Volume Group |
lvcreate
|
Erzeugen eines Logical Volumes |
pvdisplay
|
Eigenschaften eines Physical Volumes anzeigen |
vgdisplay
|
Eigenschaften einer Volume Group anzeigen |
lvdisplay
|
Eigenschaften eines Logical Volumes anzeigen |
vgextend
|
Physical Volumes einer Volume Group hinzufügen |
lvextend
|
Logical Volume vergrößern |
lvreduce
|
Logical Volume verkleinern |
pvremove
|
Physical Volumes löschen |
vgremove
|
Volume Group löschen |
lvremove
|
Logical Volume löschen |
Mach's mit LVM
Auf dem heimischen Rechner spielt LVM2 bei Systemen mit stark wachsendem Datenbestand wie Datenbanken, MP3-Archiven, Videosammlungen oder Home-Verzeichnissen seine Stärken durch einfaches Verändern der Partitionen aus. Durch das Zusammenfügen von einzelnen Festplatten zu virtuellen Partition recyceln Sie zum Beispiel auch kleinere, ausrangierte Datenträger. Mit der Snapshot-Funktion erstellen Sie im laufenden Betrieb Backups eines definierten Zustands.
Bei stark belasteten Systemen bietet LVM die Möglichkeit, die Datenblöcke aufzuteilen und – ähnlich wie bei einem RAID 0 – die Schreib- und Lesezugriffe auf mehrere Platten zu verteilen (Striping), um mehr Performance zu erzielen. Datensicherheit beim Ausfall einer Platte zählt jedoch nicht zum Repertoire von LVM.
Ein solcher Ausfall kann ein über mehrere Festplatten gehendes Dateisystem auf LVM2-Basis völlig unbrauchbar machen. Daher empfiehlt sich, ein solches Konstrukt mit einem sicheren RAID 1 oder RAID 5 [2] zu kombinieren und regelmäßige Backups zu fahren. Um LVM anzuwenden und zu administrieren, sollten Sie zunächst sehr genau verstehen, was in den einzelnen Schichten passiert. Dabei hilft ein Überblick über die Anatomie von LVM2.
Auf dem Seziertisch
Ein LVM-System besteht aus drei Abstraktionsebenen: dem Physical Volume (PV), der Volume Group (VG) und dem Logical Volume (LV). Um etwas Licht in den Abkürzungsdschungel zu bringen, zeigt die Grafik in Abbildung 1 die einzelnen Schichten. Die Basis stellen dort in der Schicht 1 zwei IDE-Festplatten mit den drei Partitionen hda6, hda7 und hdb1 dar. Die drei Partitionen stellen für die Schicht 2 – das Physical Volume – je 300 MByte Speicherplatz bereit. Die Schicht 3 fasst die Physical Volumes logisch zu einem großen Speicherpool mit insgesamt 900 MByte zusammen.
Eine Volume Group darf neben realen Festplatten auch die Devices eines Software- oder Hardware-RAIDs enthalten. Es entsteht sozusagen eine virtuelle Festplatte – die Volume Group tim. Zu einer Volume Group dürfen Sie nachträglich noch neu angelegte Physical Volumes hinzufügen oder vorhandene entfernen.
Die Schicht 4 zeigt die Logical Volumes mp3 und doc. Ein Logical Volume ist mit einer virtuellen Partition vergleichbar. Es besteht aus einer oder mehreren normalen Partitionen und lässt sich wie eine Volume Group nachträglich vergrößern oder verkleinern. In der Schicht 5 liegt schließlich das Dateisystem (in diesem Fall Ext3).
Das Dateisystem Ext3 bringt den Vorteil mit, das Sie das LV während des Betriebes vergrößern oder verkleinern könnten. ReiserFS erlaubt dagegen online nur ein Vergrößern, das Verkleinern beherrscht es nur offline (bei nicht gemountetem Dateisystem).
LVM-Jargon
| Kürzel | Bedeutung |
|---|---|
| LE | Logical Extent |
| LV | Logical Volume |
| LVM | Logical Volume Manager |
| PE | Physical Extent |
| PV | Physical Volume |
| VG | Volume Group |
| VGDA | Volume Group Descritpion Area |



