LVM

LVM steht für Logical Volume Manager und ist ein Verfahren, um Speicherplatz auf mehreren Festplatten dynamisch zu verwalten. Es wird sozusagen eine zusätzliche logische Schicht zwischen Dateisystem und Partitionen der Festplatten eingezogen.

LVM bietet die Möglichkeit, mehrere Partitionen logisch zusammenzufassen (Volume Group) und in diesem logischen Verbund neue „logische Partitionen“ (Logical Volume) anzulegen. Der Volume Group können dynamisch weitere Geräte hinzugefügt werden, wodurch sich der verfügbare Speicherplatz erhöht. Freier Speicherplatz kann ebenfalls dynamisch den Logical Volumes zugewiesen werden. Dadurch erreicht man eine höhere Flexibilität als mit einem klassischen Partitionierungsansatz. Dies ist vor allem interessant für Server, bei denen dynamisch auf das Wachsen der Datenbestände reagiert werden muss.

Vorteile:

  • Volumes können im laufenden Betrieb vergrößert, angelegt und verkleinert werden.
  • Probleme durch falsche Partitionierung können vermieden werden
  • Höhere Flexibilität
  • Die Kapazität mehrerer Festplatten kann zu einem Volume zusammengefasst werden.
  • Verschiedene Versionen von Daten sind durch sogenannte „Snapshots“ möglich.
  • Die Datensicherung („backup“) wird durch diese „Snapshots“ vereinfacht.
  • LVM hat einen hohen Datendurchsatz („performance“) und beeinträchtigt das System nur unwesentlich.

Nachteile:

  • Liegen die Logical Volumes auf mehreren Festplatten, so wird das Risiko des „Single-Point-of-Failure“ größer, da beim Ausfall einer Platte alle Daten verloren sind, ähnlich wie bei RAID0.
  • Zugriff auf LVM-Partitionen ist nur mit Linux möglich.
  • Um auf Logical Volumes zugreifen zu können, benötigen sog. Rescue CDs auch LVM Unterstützung.
  • Es ist eine zusätzliche /boot-Partition außerhalb des LVM-Verbundes erforderlich (gilt nicht für GRUB 2)

Konfiguration

Mit den nachfolgenden Befehlen können Logical Volumes manuell gestartet werden.

modprobe dm-mod (falls das Modul noch nicht automatisch geladen wurde)
pvscan
vgscan
lvscan
vgchange -a y

Mit dem nächsten Befehl kann man das ganze wieder beenden und den PC herunterfahren.

vgchange -a n

Informationen über Physical Volumes abfragen

pvs

Die Ausgabe sieht dann ungefähr so aus:

PV         VG   Fmt  Attr PSize   PFree
/dev/sda2  main lvm2 a-   465,57G 311,57G

Informationen über Volume Groups abfragen

vgs
VG   #PV #LV #SN Attr   VSize   VFree
main   1   6   0 wz--n- 465,57G 311,57G

Informationen über Logical Volumes abfragen

lvs
LV   VG   Attr   LSize   Origin Snap%  Move Log Copy%  Convert
  data pve  -wi-ao 125.21G                                      
  root pve  -wi-ao   6.00G                                      
  swap pve  -wi-ao   2.00G 
lvextend -L 5G /dev/<group>/<volume>

Vergrößert das Logical Volume <volume> der Volume Group <group> auf 5 Gigabyte. Als Alternative kann auch ein + vor den Wert hinter -L gestellt werden; in diesem Fall wird die Partition dann um diesen Wert vergrößert (relative Vergrößerung des Volumes, ausgehend von der aktuellen Größe). Das Dateisystem wird von diesem Befehl nicht angepasst, siehe hierzu dateisystemgroe_andern!

Gesamten neuen Speicherplatz einem Dateisystem zuordnen:

resize2fs -p /dev/mapper/vg-root
lvreduce -L 5G /dev/<group>/<volume>

Verkleinert das Logical Volume <volume> der Volume Group <group> auf 5 Gigabyte. Als Alternative kann auch ein - vor den Wert hinter -L gestellt werden; in diesem Fall wird die Partition dann um diesen Wert verkleinert (relative Verkleinerung des Volumes, ausgehend von der aktuellen Größe).

A C H T U N G
Das Dateisystem muss vor diesem Befehl schon verkleinert sein, da es sonst zu Datenverlust kommt. Siehe hierzu dateisystemgroe_andern!!!

Links