Einstieg: LVM (Logical Volume Manager) unter Linux

Das Kürzel LVM ist insbesondere im Serverumfeld zu hören – Doch was steckt dahinter? Es steht für Logical Volume Manager. Oder anders gesagt: Ein Verfahren, um Speicherplatz intern über mehrere Festplatten zu verteilen. Und zwar möglichst flexibel. Man kann mehrere Partitionen zu einer logischen Volumen-Gruppe (Volume Group) zusammenführen. Darauf lassen sich wiederum neue logische Partitionen erstellen. Man kann sich den LVM als zusätzliche Abstraktionsschicht zwischen den Partitionen und dem Dateisystem vorstellen.

Welche Vorteile bietet der LVM?

Kurz gesagt sind sie deutlich flexibler, als klassische Partitionen:

  • Die Kapazität mehrere Festplatten kann zusammengefasst werden
  • Es ist möglich, die Größe im laufenden Betrieb flexibel zu vergrößern oder zu verkleinern
  • Man verhindert präventiv Probleme, welche durch falsche Partitionierung entstehen können
  • Snapshots speichern verschiedene Versionen von Dateien, wodurch die Datensicherung vereinfacht werden kann
  • LVM selbst beeinträchtigt die Systemleistung kaum, bietet dafür einen größeren Datendurchsatz

Aus diesen Gründen ist der Einsatz vor allem in Servern interessant – sowohl im geschäftlichen als auch heimischen Umfeld.

Wichtige Begriffe

Nicht zu leugnen ist, dass LVM die Komplexität etwas erhöht – vor allem zu Beginn. Um den Überblick zu behalten und Verwechslungen vorzubeugen, sollte man daher die folgenden vier Begriffe unterscheiden können.

Physisches Volume (Physical Volume)

Der echte Datenspeicher, welcher dem LVM zugrunde liegt. Meist handelt es sich um eine physische Festplatte. Es kann aber auch eine Partition verwendet werden, die neben anderen auf einer physischen Festplatte befindet.

Volumen-Gruppe (Volume Group, kurz VG)

Eine Volumengruppe kann man sich als Container vorstellen, der wiederum mindestens ein physisches Volumen enthält. Um LVM verwenden zu können, ist mindestens eine Volumen-Gruppe notwendig.

Logisches Volume (Logical Volume, kurz Volume oder LV)

Hier handelt es sich um eine Art Partition, die auf einer Volumen-Gruppe erstellt wird. Sie verhält sich gegenüber dem Betriebssystemes wie eine normale Partition: Man kann darauf Dateisysteme erstellen und sie einhängen. Intern muss ihr aber keine einzelne Festplatte zugrunde liegen, wie bei klassischen Partitionen. Stattdessen kann die Volumen-Gruppe, auf der sie liegt, auch aus z.B. mehreren Festplatten bestehen.

Alle drei Elemente können im laufenden Betrieb vergrößert und verkleinert werden. Zumindest, sofern das darin liegende Dateisystem diese Skalierbarkeit auch unterstützt. Die Vergrößerung im laufenden Zustand kann, mit Ausnahme von ReiserFS, von allen verbreiteten Linux-Dateisystemen durchgeführt werden. Verkleinern ist dagegen ohne Aushängen bei keinem Dateisystem möglich.

Grundlegende LVM-Befehle

Um den LVM unter Ubuntu/Debian nutzen zu können, genügt die Installation des Paketes lvm2 mittels

apt-get install lvm2

Alle Befehle besitzen ein Präfix, das als Abkürzung für die obigen drei Typen dient:

pv: Physikalische Volumen

vg: Volumen-Gruppen

lv = Logische Volumen

Darüber hinaus existiert die Namenskonvention, dass mit angehängtem s alle verfügbaren Elemente aufgelistet werden. Der Befehl pvs listet daher beispielsweise alle physikalischen Volumen auf.

Befehl Beschreibung
pvcreate /dev/sdb1
Erzeugt ein physisches Volumen auf der Partition/Festplatte /dev/sdb1
Achtung: Muss vorher ausgehangen werden. Alle Dateien werden dabei gelöscht!
vgcreate vhd1 /dev/sdb1
Erzeugt eine neue Volumen-Gruppe namens vhd1 auf dem physikalischen Volumen /dev/sdb1
vgdisplay
 Zeigt Infos über Volumengruppen, physische Volumen (pvdisplay) oder logische Volumen (lvdisplay) an
lvcreate -n my-volume -L 30g my-group
Erzeugt ein 30 GB großes Volumen namens my-volume auf der Volumen-Grouppe namens my-group (ermitteln über vgdisplay)
mkfs -t ext4 /dev/my-group/my-volume
Formatiert das im vorherigen Schritt erzeugte logische Volume mit dem EXT4-Dateisystem

Leave a Reply