LVM installieren, konfigurieren und verwalten unter Debian

Häufig lässt sich bei der Installation eines Systems der benötigte Speicher nicht immer im Vorhinein endgültig bestimmen. Um für die Zukunft gewappnet zu sein und die Skalierbarkeit des Festplattenspeichers sicherzustellen, bietet sich die Verwendung von LVM an. LVM legt sich dabei als logische Schicht zwischen Dateisystem und die Festplatte(n). Der Vorteil, die mit LVM erstellten Volumes lassen sich bei Bedarf vergrößern oder sogar verkleinern.

Wie funktioniert LVM?

Im Prinzip ist die Funktion von LVM recht schnell erklärt. LVM fasst mehrere Festplatten (phsyical Volumes) bzw. deren Partitionen zu einer Volume Group zusammen (ähnlich Raid0). Aus dem zusammengefassten Speicherplatz der Volume Group werden wiederum logische Volumes (logical Volumes) erstellt. Auf den logischen Volumes werden dann die Dateisysteme etabliert.

Aufbau von LVM

Das folgende Tutorial beschreibt die Installation und Konfiguration von LVM auf einem Debian System mit drei physischen Festplatten.

Schritt 1: System auf den neuesten Stand bringen

apt-get update && apt-get upgrade --show-upgraded

Schritt 2: Installation von LVM

apt-get install lvm2

Schritt 3: Festplattenstatus prüfen

fdisk -l

Der Befehl zeigt die aktuell verbauten Festplatten und vorhandene Partitionen an. Die Ausgabe schaut in etwa so aus:

...
Disk /dev/sdb: 8589 MB, 8589934592 bytes
86 heads, 1 sectors/track, 195083 cylinders, total 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x519e6872

Device Boot Start End Blocks Id System
/dev/sdb1 2048 16777215 8387584 83 Linux

Disk /dev/sdc: 8589 MB, 8589934592 bytes
86 heads, 1 sectors/track, 195083 cylinders, total 16777216 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x582b7807

Device Boot Start End Blocks Id System
/dev/sdc1 2048 16777215 8387584 83 Linux

Die Partitionen /dev/sdb1 und /dev/sdc1 sollen nun zu einer Volume Group zusammengefügt werden.

Vorsicht: Die Daten auf den verwendeten Partitionen gehen dabei verloren. 

Schritt 4: Partitionen vorbereiten

Damit LVM die Partitionen verwenden kann muss ihr Verwendugstyp mittels fsdisk umgestellt werden.

fdisk /dev/sdb

Durch drücken der Taste „t“ und Eingabe des Hex Codes „8e“ wird nun die System ID auf LVM umgestellt.

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

Mit der taste „w“ werden die Änderungen übernommen und fdisk geschlossen. Der Vorgang muss nun für /dev/sdc wiederholt werden.

Die erstellten Partitionen werden nun mit pvcreate (physical volume create) für die Aufnahme in Volume Groups vorbereitet.

pvcreate /dev/sdb1 /dev/sdc1

Schritt 5: Anlegen einer Volume Group

Nun kann die erste Volume Group mit vgcreate (volume group create) angelegt werden.

vgcreate volumegroup1 /dev/sdb1 /dev/sdc1

Schritt 6: Anlegen eines Logical Volumes

Ist die Volume Group angelegt, kann nun das erste Logical Volume mit lvcreate (logical volume create) angelegt werden.

lvcreate -L 2G -n logicalvolume1 volumegroup1

Das Volume ist nun erstellt. LVM legt dabei ein neues Device (dm-0) unter /dev sowie einen Link auf dieses Device unter /dev/volumegroup1 an.

Schritt 7: Dateisystem anlegen

Das erstellte Logical Volume kann, wie herkömmliche Partitionen auch, erst verwendet werden, wenn ein Dateisystem angelegt wurde. Der folgende Befehl legt ext4 als Dateisystem auf dem eben erstellten Logical Volume an.

mkfs -t ext4 /dev/volumegroup1/logicalvolume1

Schritt 8: Logical Volume mounten

mkdir /mnt/logicalvolume1 && mount /dev/volumegroup1/logicalvolume1 /mnt/logicalvolume1

Das Logical Volume ist nun im System eingehängt und verwendbar.

Verwaltung von LVM

Um Informationen über die aktuelle Konfiguration der einzelnen Volumes und Volume Groups zu erhalten liefert LVM drei Befehle mit.

pvdisplay (oder pvs) Zeigt informationen über die angelegten Physical Volumes an
vgdisplay (oder vgs) Zeigt informationen über die angelegten Volume Groups an
lvdisplay (oder lvs) Zeigt informationen über die angelegten Logical Volumes an

Physischen Speicherplatz erweitern und Volume Groups vergrößern

Wurde dem System eine weitere Festplatte (z.B. /dev/sdd) gegönnt kann diese bzw. deren Partition(en) zur Volume Group (z.B. volumegroup1) mit folgenden Befehlen hinzugefügt werden.

pvcreate /dev/sdd1
vgextend volumegroup1 /dev/sdd1

Logische Volumes vergrößern

Soll das vorhin erstellte Logical Volume auf 4GB vergrößert werden, kann folgender Befehl verwendet werden.

lvextend -L 4G /dev/volumegroup1/logicalvolume1

Danach muss nur noch das Dateisystem entsprechend erweitert werden.

e2fsck -f /dev/volumegroup1/logicalvolume1 && resize2fs -p /dev/volumegroup1/logicalvolume1

Volumes oder Volume Groups löschen

Mit pvremove, vgremove bzw. lvremove lassen sich Physical Volumes, Volume Groups und Logical Volumes wieder entfernen. Ein Beispiel:

lvremove /dev/volumegroup1/logicalvolume1

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.