LVM

November 28, 2017 - Lesezeit: 4 Minuten

Hat man einen Linux Server mit LVM (Logical Volume Manager) und möchte z.B. eine weitere Partition oder eine neue Festplatte in den LVM aufnehmen, kann man dies wie folgt erledigen.
Achtung! Wie immer gilt, eine Sicherung kann nicht schaden, die Arbeit am Dateisysstem oder den Festplatten kann immer auch nach hinten losgehen. In meinem Szenario ging es vor allem darum eine neue Platte im LVM zu nutzen.

Um zu sehen was man überhaupt für Platten und Partitionen hat empfiehlt sich ein:

(sudo) fdisk -l

sowie ein Überblick über die bereits für den LVM verfügbaren Physical Volumes mit:

(sudo) pvs

und

(sudo) pvdisplay

Wenn das System die Platte noch nicht erkannt hat, muss man ggf. zuerst einen Neustart durchführen und danach eine leere Partition anlegen. Dies geht sehr gut mit

(sudo) cfdisk /dev/sdb

Zuerst die gewünschte Platte oder Partition als PV (Physical Volume) initalisieren, in meinem Fall für /dev/sdb1 :

(sudo) pvcreate /dev/sdb1

Danach kann man mit pvs erneut nachsehen ob es auch geklappt hat. Jetzt hat man die Möglichkeit entweder eine vorhandene Volume Group (VG) zu erweitern (z.B. / oder /home) oder eine neue Volume Group anzulegen. Ähnlich wie oben gibt es auch hier wieder die Befehle vgs und vgdisplay.

Ich lege eine neue VG an mit (samba ist der Name der VG und kann beliebig sinnvoll benannt werden) und füge das gewünschte PV hinzu. Vorteil eine Volume Group kann aus mehreren Physischen Volumes bestehen und so in der Größe variieren:

(sudo) vgcreate samba /dev/sdb1

Jetzt muss in der VG ein Logical Volume erstellt werden, dies können wir dann später mit einem Dateisystem bestücken und damit arbeiten. Auch das LV kann später wieder erweitert werden und somit mehr Platz geschaffen werden.

(sudo) lvcreate -L 500G -n files samba

files ist der Name der LV und Samba der VG.

Möchte man den ganzen Platz der neuen Partition für das Logical Volume verwenden, geht dass über das Flag mit dem kleinen "L":

(sudo) lvcreate -l 100%FREE -n files samba

Dateisystem erstellen:

(sudo) mkfs.ext4 /dev/samba/files

Und mounten, dazu den LV Path benutzen (ggf. über lvdisplay rauszufinden)

(sudo) mount /dev/samba/files /samba

Damit der Mount dauerhaft zur Verfügung steht muss er in die /etc/fstab eingetragen werden.

Vergrößern und erweitern kann man bei Bedarf. Dazu immer erst die VG erweitern mit vgextend, dann die LV erwietern mit lvextend, außer in der VG wäre noch Platz, dann reicht natürlich ein lvextend, z.B.

lvextend ‐L +10G files

Erweitert das LV um 10 GB. Lässt man das + weg kann man die gewünschte Gesamtgröße angeben oder auch +100%FREE für die maximale Größe verwenden.Jetzt sollte man auf jeden Fall mit resizefs -p /dev/name das Dateisystem auch erweitern um den neuen Platz nutzen zu können. Verkleinern geht auch, habe ich aber noch nie benutzt, dazu gibt es den Befehl lvreduce

Schön ist auch die Möglichkeit Snapshots zu erstellen, dazu ein ander Mal mehr.