===== LVM =====
==== Beschreibung ====
LVM (Logical Volume Manager) ist ein System zur flexiblen Verwaltung von Festplatten und Partitionen unter Linux. Mit LVM können physische Datenträger zu sogenannten Volume Groups (VG) zusammengefasst werden. Innerhalb dieser Gruppen lassen sich flexible logische Volumes (LV) erstellen, die wie Partitionen genutzt werden. Es ermöglicht das dynamische Erstellen, Vergrößern, Verkleinern und Löschen von logischen Volumes.
{{ :bilder:lvm.jpg?600 |}}
==== Syntax ====
**LVM erstellen**
pvcreate /dev/sdb # Erstellt ein physikalisches Volume auf /dev/sdb
vgcreate vg01 /dev/sdb # Erstellt eine Volume Group 'vg01' mit /dev/sdb
lvcreate -L 10G -n lv_data vg01 # Erstellt ein Logical Volume 'lv_data' mit 10GB in 'vg01'
**LVM löschen**
lvremove /dev/vg01/lv_data # Löscht das Logical Volume 'lv_data'
vgremove vg01 # Löscht die Volume Group 'vg01'
pvremove /dev/sdb # Entfernt das physikalische Volume von /dev/sdb
**LVM verwalten**
vgs # Zeigt alle Volume Groups an
lvs # Zeigt alle Logical Volumes an
lvextend -L +5G /dev/vg01/lv_data # Vergrößert das Logical Volume um 5GB
resize2fs -p /dev/vg01/lv_data # Passt die LV an. (extX)
xfs_growfs /dev/vg01/lv_data #
lvreduce -L 5G /dev/vg01/lv_data # Verkleinert das Logical Volume auf 5GB (Dateisystem vorher verkleinern!)
lvdisplay /dev/vg01/lv_data # Zeigt Informationen zum Logical Volume an
lvdisplay /dev/vg01/lv_data # Informationen zu einem LV anzeigen
==== Schritte ====
- Partitionen mit parted vorbereiten
sudo apt install parted
sudo parted -l
sudo parted /dev/sdb --script mklabel gpt
sudo parted /dev/sdb --script mkpart primary 1MiB 100%
sudo parted /dev/sdb --script set 1 lvm on
* parted -l zeigt bestehende Partitionstabellen; Zielgerät verifizieren.
* mklabel gpt erstellt eine neue GPT-Tabelle (löscht vorhandene Partitionen).
* mkpart legt eine unformatierte Partition über die gesamte Platte an.
* set 1 lvm on markiert die Partition für LVM; anschließend mit pvcreate initialisieren.
===== Weitere Informationen =====
man lvm
man pvcreate
man lvcreate
man lvextend
man lvreduce