marrakeshh - Fotolia
So verwalten Sie Storage mit Logical Volume Manager
Logical Volume Manager (LVM) ermöglicht die dynamische Verwaltung von Partitionen über Datenträger hinweg. Dadurch lassen sich logische Einheiten bilden und Datenträger kombinieren.
Logical Volume Manager (LVM) stellt eine Technologie dar, mit der zwischen Datenträgern, Partitionen und Dateisystemen eine weitere Schicht eingebunden wird. Über diese Schicht lassen sich die Datenträger zusammenfassen und Partitionen dynamisch aufteilen.
Partitionen lassen sich mit LVM über mehrere, physische Datenträger ausdehnen. Auch das nachträgliche Vergrößern und Verkleinern von Partitionen ist mit LVM möglich. Daher wird LVM häufig als Alternative zur herkömmlichen Partitionierung von Datenträgern in Linux genutzt. Generell ist LVM Bestandteil in allen aktuellen Linux-Distributionen und wird häufig auf Desktop-Installationen aktiviert.
Einstieg in LVM – Bestandteile der Speicherverwaltung
LVM setzte auf Physical Volumes. Dabei handelt es sich um physische Festplatten, RAID-Systeme oder andere Speichergeräte, die zum Speichern genutzt werden. Volume Groups stellen im Grunde genommen die virtuellen Partitionen dar. Eine Volume Group bildet einen Speicherpool, und kann sich über mehrere Physical Volumes erstrecken. Eine Volume Group muss mindestens aus einem Physical Volume bestehen, kann aber jederzeit auf weitere Physical Volumes erweitert werden.
Volume Groups bestehen aus Physical Extents. Dabei handelt es sich um Speicherbereiche auf Physical Volumes. Die Physical Extents teilen die Physical Volumes in kleinere, physische Speicherbereiche auf und stellen damit die Grundlage für Volume Groups.
Logical Volumes sind wiederum Teilbereiche einer Volume Group. Die Logical Volumes einer Volume Group bestehen aus Physical Extens. Diese Logical Volumes werden im Betriebssystem gemountet und erhalten ein Dateisystem. Logical Volumes können jederzeit erweitert, ergänzt und im laufenden Betrieb angepasst werden.
Nachteil beim Einsatz von LVM
LVM bietet eine flexible Verwendung des physischen Speichers eines Computers. Es gibt aber einige Nachteile. Zunächst steigt natürlich die Ausfallwahrscheinlichkeit mit jedem Physical Volume, das über LVM an eine Volume Group angebunden wird.
Der mit LVM erstellt Speicher und dessen Metadaten reagieren teilweise empfindlich, und es besteht die Gefahr des Datenverlustes. Wird ein Physical Volume aus einer Volume Group entfernt, ist der gesamte Speicher nicht mehr zugreifbar. LVM ist in Dualboot-Systemen nicht sinnvoll, da weder Windows noch macOS mit LVM umgehen können. Dadurch besteht die Gefahr eines Datenverlustes bei Überschreibung durch Windows oder macOS. Natürlich kann LVM auch mit einem RAID-System zusammenarbeiten, bei dem die einzelnen Festplatten (Physical Volumes) wiederum vor Ausfall geschützt sind.
Einstieg in LVM
Um mit LVM zu beginnen, kann zunächst mit fdisk -l eine Liste der Physical Volumes angezeigt werden. Für die Befehle sind Root-Rechte notwendig, also kann hier mit sudo gearbeitet werden.
Auch lsblsk zeigt Informationen zu den eingebauten Datenträgern an und welche derzeit noch nicht in Verwendung sind. Auf dem Rechner des nächsten Bildes sind die beiden Datenträger sdb und sdc noch nicht in Verwendung.
Um einen Datenträger zu nutzen, wird er zu LVM hinzugefügt. Zu Beginn ist mindestens ein Datenträger notwendig. Mit dem folgenden Befehl werden beide freien Datenträger angebunden, also sdb und sdc:
pvcreate /dev/sdb /dev/sdc
Der Befehl pvcreate ist Bestandteil des Paketes für die Verwaltung von LVM. Ist das Paket noch nicht auf dem Computer verfügbar, kann es mit dem folgenden Befehl installiert werden:
apt install lvm2
Nach dem Hinzufügen der beiden Datenträger zu LVM, kann der Vorgang mit pvs überprüft werden. Die Physical Volume sind jetzt in LVM integriert. Um eine Volume Group zu erstellen, verwenden Sie in diesem Beispiel:
vgcreate vg01 /dev/sdb /dev/sdc
Mit pvdisplay werden die Volume Groups und die angebundenen Physical Volumes im Computer angezeigt, der Befehl vgdisplay zeigt die Informationen der angelegten Volume Group an. Bei „PE Size“ zeigt vgdisplay die Größe der aktuellen Physical Extents an, die vom System genutzt werden.
Der nächste Schritt besteht darin ein Logical Volume (LV) zu erstellen. Die Volume Group wurde mit pvcreate bereits erstellt. Der Befehl sieht folgendermaßen aus:
lvcreate -n lvm01 -L 127G vg01
Mit dem Paramter -n wird der Name des LV angegeben. Der Parater -L gibt die Größe des Laufwerks an und am Ende des Befehls muss der Name der Volume Group angegeben werden. Neben der genauen Größenangabe kann auch mit dem folgenden Befehl der komplette Speicherplatz zugewiesen werden:
lvcreate -n lvm01 -l +100%FREE vg01
Mit lvremove können wiederum Logical Volumes gelöscht werden, Änderungen werden mit lvchange vorgenommen.
In diesem Beispiel trägt die Volume Group die Bezeichnung vg01, das erstellte Logical Volume hat die Bezeichnung lvm01. Mit dem Befehl vgs lassen sich die Daten anzeigen.
Mit pvdisplay werden die Volume Groups und die angebundenen Physical Volumes im Computer angezeigt. Der Befehl lvdisplay zeigt die Daten des angelegten Logical Volumes an.
Dateisysteme auf Logical Volumes anlegen
Sobald Logical Volumes vorhanden sind, kann ein Dateisystem auf diesen etabliert werden. Am Beispiel in diesem Beitrag hat das Logical Volume den Pfad /dev/vg01/lvm01. Das Logical Volume „lvm01“ befindet sich in der Volume Group „vg01“. Um auf dem Logical Volume ein ext4-Dateisystem zu etablieren und anschließend das Volume zu mounten, werden folgende Befehle eingegeben:
mkfs.ext4 /dev/vg01/lvm01
mkdir /lvm01
mount /dev/vg01/lvm01 /lvm01
Das erfolgreiche Einhängen kann danach mit df -hT überprüft werden.
LVM erweitern
Wenn eine neue Festplatte zum System hinzugefügt wird, zum Beispiel /dev/sdd, kann diese nachträglich in eine Volume Group eingebunden werden. Dazu wird die neue Festplatte wieder als Physical Volume konfiguriert:
pvcreate /dev/sdd
Danach kann die Volume Group mit dem Befehl vgextend erweitert werden:
vgextend vg01 /dev/sdd
Auch Logical Volumes können auf diesem Weg erweitert werden. Soll das aktuelle Laufwerk um 20 Gigabyte vergrößert werden, sieht der Befehl in diesem Beispiel wie folgt aus:
lvextend -L +20G --resizefs /dev/vg01/lvm01