LVM in Debian

LVM bietet unter Debian die fatastische Möglichkeit, Volumes im laufenden Betrieb zu erstellen, formatieren und einzuhängen. Mit Ausnahme des root Systems, können somit alle Volumes verkleinert oder vergrössert werden. Das root System kann im Nachhinein nur mit einem Live-System oder im rescue-Modus verkleinert oder vergrössert werden.

Wichtiger Schritt bei der geführten Partitionierung mittels LVM. Hier wählen wir die Grösse unseres root-Dateisystems. Es macht durchaus Sinn, nur einen kleinen Teil des gesamten Volumes zu verwenden. Alles Anderes kann im Nachhinein erstellt, formatiert und eingehängt werden.

Ist die Installation durch und der Server neu gestartet zeigen wir uns mit lvs alle Volumes an:

# lvs
  LV     VG            Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root   example-vg -wi-ao----  <8.36g                                                    
  swap_1 example-vg -wi-ao---- 976.00m

freien Speicherplatz auf der Volumgruppe finden wir mit:

# vgdisplay | grep Free
Free  PE / Size       7259 / <28.36 GiB

in diesem Beispiel stehen uns noch rund 28 GB freier Speicher zu Verfügung. Mittels lvcreate erstellen wir hier ein Volume mit dem Namen volume1 auf der Gruppe example-vg, formatieren dies als ext4 und hängen es unter /mnt ein:

# lvcreate -l 100%FREE -n volume1 example-vg
# mkfs.ext4 /dev/example-vg/volume1
# mount /dev/example-vg/volume1 /mnt

das Volume ist nun unter /mnt eingehängt:

# df -h | grep volume1
/dev/mapper/example--vg-volume1   28G     24K   27G    1% /mnt

Um das Volume permanent einzuhängen muss es unter /etc/fstab eingetragen werden.

Ein paar Beispiele:
Falls dein Server ein rescue-Modus hat, aktiviere diesen. Es ist wesentlich angenehmer, mit einem Live-System oder im rescue-Modus auf dem Server zu arbeiten, wenn Volumes verkleinert oder vergrössert werden müssen. Wird ein Volume vergrössert, muss es danach formatiert werden um den neuen Speicherplatz auch nutzen zu können. Dabei gehen alle Daten verloren. Sei also vorsichtig!

«Logical volume must be activated before resizing filesystem»
Falls diese Meldung erscheint, aktiviere zuerst das LV. Hier am Beispiel mit example-vg/root:

# lvchange -a y /dev/example-vg/root

SWAP auf 2GB vergrössern und anschliessend formatieren:

# lvresize -L 2GB /dev/example-vg/swap_1
# mkswap /dev/example-vg/swap_1
# swapon /dev/example-vg/swap_1

beanspruche allen freien Speicherplatz für volume und formatiere als ext4

# lvcreate -l 100%FREE -n volume example-vg
# mkfs.ext4 /dev/example-vg/volume

Das root-Volume auf 4GB reduzieren:

# lvreduce --resizefs -L 4GB /dev/example-vg/root