Logical Volumes einrichten und verwalten

LVM erstellen

LVM auf debian aus 2 Platten a 200GB erstellen:
Installation der benötigten Pakete:

apt-get install lvm2
#module dm-mod muss geladen sein

zuerst auf jeder Platte eine primäre Partition erstellen und auf Type 8e setzen (speichern nicht vergessen):

cfdisk /dev/sdb
cfdisk /dev/sdc

Dann ein Physical Volume auf jeder Platte erstellen:

pvcreate /dev/sdb1
pvcreate /dev/sdc1

Dann eine Volumegroup aus den beiden Platten erstellen:

vgcreate vg1 /dev/sdb1 /dev/sdc1

Dann ein LogicalVolume erstellen:

lvcreate -n lvg1 --size 400G vg1

Dann das Laufwerk mit ext3 formatieren und tunen:

mkfs.ext3 -j -c -O dir_index /dev/vg1/lvg1
tune2fs -m 0 /dev/vg1/lvg1
mkdir /daten
mount -t ext3 /dev/mapper/vg1-lvg1 /daten

Dann die /etc/fstab noch editieren:

/dev/mapper/vg1-lvg1 /daten ext3 rw,noatime,acl 0 0

vorhandenes LVM erweitern

vorher Backup/Snapshot machen!
LVM um eine Platte mit 200 GB erweitern:
Zuerst auf der neuen Platte eine primäre Partition erstellen und auf Type 8e setzen (speichern nicht vergessen):

cfdisk /dev/sdd

Dann ein Physical Volume auf der Platte erstellen:

pvcreate /dev/sdd1

Das Datenverzeichnis jetzt umounten(geht zur Not auch ohne umount), Benutzer vorher warnen:

umount /daten

Volumegroup jetzt vergrößern:

vgextend vg1 /dev/sdd1

Logical Volume von 400 auf 600 GB jetzt vergrößern:
(wenn Fehler kommen den Wert „L“ schrittweise verkleinern, bis kein Fehler mehr auftritt)

lvextend -L599.98G /dev/vg1/lvg1
#oder gleich so:
lvextend -l +100%FREE /dev/vg1/lvg1

Dateisystem jetzt checken (kann bei großen Partitionen dauern) und anschließend maximieren:
(geht mittlerweile auch mit online-resizing)

e2fsck -C 0 -f /dev/mapper/vg1-lvg1
resize2fs /dev/mapper/vg1-lvg1

Partition wieder anhängen:

mount -a

vorhandenes LVM und Volumegruppe wieder löschen

Benutzer vorher warnen, Sicherung durchführen?
zu löschende Ziele erkennen:

vgdisplay
lvdisplay

Das Datenverzeichnis jetzt umounten:

umount /daten

logische Volumes anzeigen lassen:

lvdisplay

logisches Volume deaktivieren:

lvgchange -a -n /dev/vg1/lvg1

logisches Volume löschen:

lvgremove /dev/vg1/lvg1

Volumegruppe deaktivieren:

vgchange -a -n /dev/vg1

Volumegruppe löschen:

vgremove /dev/vg1

Änderungen überprüfen:

vgdisplay
lvdisplay
fdisk -l

Achtung Laufwerksbezeichnungen(/dev/sd*) können sich geändert haben.
eventuell /etc/fstab anpassen.

vorhandenes LVM und Volumegruppe um 10 GB verkleinern

df -h
lvdisplay 
vgdisplay       
umount /dev/vg1/lvg1
fsck -f /dev/vg1/lvg1
resize2fs -p /dev/vg1/lvg1 -10G
lvreduce -L -10G /dev/vg1/lvg1
mount /daten
vgdisplay   

Snapshot eines LV für Backup machen

lvcreate -L 300M -s -n lvg1backup /dev/vg1/lvg1
mkdir /mnt/lvg1backup
mount /dev/vg1/lvg1backup /mnt/lvg1backup
ls /mnt/lvg1backup

sonstiges

pvs
vgs
lvs
vgscan
lvscan

verlorene Platte wieder in die VG einfügen

pvcreate --restorefile /etc/lvm/backup/vg1 --uuid G517jQ-c708-92HL-WZYG-Lzgy-9YoW-0ddVIk /dev/sdf1
vgcfgrestore vg1