LVM steht für »Logical Volume Manager« und bezeichnet eine Funktion, die seit der Version 2.4 im Standard-Kernel integriert ist. Mittels LVM lässt sich eine logische Schicht zwischen Dateisystem und der Partition einer physikalischen Festplatte schieben.
Was kann LVM?
– hoch verfugbare Systeme
– Verlagern von Speicherplatz
– Snapshots
– Großenanderung
– Striping & Concatenation
– nabhangig von Plattenposition
Bei Kernel < 2.4 muss man noch das passende Modul nachladen:
modprobe lvm-mod
Bei der Standard-Ubuntu Version muss man noch das folgende Paket nachinstallieren um LVM nutzen zu können:
aptitude install lvm2
LVM einrichten:
1.) Eine Partition mit der Partitions-ID »8e« für LVM kennzeichnen
fdisk /dev/sdb
oder
cfdisk /dev/sdb
2.) Partition nach LVM durchsuchen und ggf. dafür benötigte Dateien anlegen
vgscan -v
3.) Physical Volume anlegen
pvcreate /dev/sdb1
4.) Volume Group anlegen
(man könnte an dieser Stelle auch mehrere “Physical Volume” zu einer “Volume Group” zusammenfassen)
vgcreate /dev/sdb1 (/dev/sdb2)
5.) Logical Volume anlegen
z.B.:
lvcreate -n "home" -L 10G lvcreate -n "tmp" -L 2G lvcreate -n "swap" -L 1G lvcreate -n "var" -L 30G
6.) Dateisysteme anlegen
mkfs -t xfs /dev/mapper/-home
mkfs -t xfs /dev/mapper/-var
mkfs -t xfs /dev/mapper/-tmp
mkfs -t xfs /dev/mapper/-boot
mkswap /dev/mapper/-swap
LVM Infos:
1.) Infos vom “Physical Volume” anzeigen lassen
pvdisplay
2.) “Volume Group” Infos anzeigen, z.B. wie viel Platten-Platz man noch auf die “Logical Volume” verteilen kann
vgdisplay
3.) Anzeigen welche “Logical Volume” zu welcher “Volume Group” gehören und z.B. dessen momentane Größe
lvdisplay
LVM vergrößern:
1.) Logical Volume Größe angeben oder um X vergrößern
lvextend -L 2G /dev/mapper/-swap
oder
lvextend -L +1G /dev/mapper/-swap
2.) unmounten der Partition bzw. swapoff
umount /LVM-Partition
bzw. in diesem Beispiel
swapoff -v /dev/mapper/-swap
3.) nun das Dateisystem prüfen
fsck -f /dev/mapper/-swap
4.) nun wird das Dateisystem selber vergrößert
xfs_growfs /dev/mapper/-X
resize_reiserfs /dev/mapper/-X
resize2fs /dev/mapper/-X
ntfsresize /dev/mapper/-X
bzw. in diesem Beispiel
mkswap /dev/mapper/-swap
5.) Mounten der Partition bzw. swapon
mount -t xfs /dev/mapper/-home /home
swapon -av
LVM verkleinern:
In aktuellen Implementierungen ist es nicht möglich, ein XFS-Dateisystem zu verkleinern, daher nehmen wir als Beispiel ein “ext3”-Dateisystem
1.) unmounten der Partition
umount /dev/mapper/-var
2.) nun das Dateisystem checken
e2fsck -f /dev/mapper/-var
3.) neue Dateisystem-Größe in KB angeben
resize2fs /dev/volg1/logv1 15728640
4.) anschließend LVM entsprechend reduzieren
lvreduce -L -15GB /dev/mapper/-var
5.) und wieder mounten, fertig
mount -t ext3 /dev/mapper/-var /var
Volume Group vergrößern:
1.) ein neues Physical Volume anlegen
pvcreate /dev/sdb3
2.) das neue “Physical Volume” zur Volume Group hinzufügen
vgextend volg1 /dev/sdb3
Volume Group verkleinern:
1.) überprüfen ob das betreffende Physical Volume Daten enthält
pvdisplay -v /dev/sdb3
2.)das neue “Physical Volume” von der Volume Group entfernen
vgreduce volg1 /dev/hdb7
weitere Infos und Anleitungen findest du auf linuxhaven.de