LVM

Logical Volume Management

Mit LVM können wir dynamisch Partitionen verwalten/erweitern. Das macht vor Allem die Vergrößerung von Partitionen recht einfach. Für die Umsetzung gibt es diverse Anleitungen und Best Practise.

Ich benutze seit vielen Jahren die Anleitung von Hoster Thomas Krenn. Dessen Wiki finde ich immer wieder passend, solange man nicht die dargestellten Distributionen in den Beispielen aus dem Auge verliert. Aber das gilt natürlich für jede Recherche (siehe Arch Wiki, Ubuntuusers Wiki, Gentoo Wiki, …).

Der Aufbau der Technik basiert auf

  • Physikalisches Volume: pv...

  • Volume Group: vg...

  • Logical Volumen: lv...

Übersicht aus einer Debian-Standard-Installation mit LVM und Partitionen:

root@vm-lpic-router:~# df -hx tmpfs
Dateisystem                           Größe Benutzt Verf. Verw% Eingehängt auf
udev                                   942M       0  942M    0% /dev
/dev/mapper/vm--lpic--router--vg-root   23G    887M   21G    5% /
/dev/sda2                              471M     49M  398M   11% /boot
/dev/mapper/vm--lpic--router--vg-var   8,0G    383M  7,2G    5% /var
/dev/mapper/vm--lpic--router--vg-tmp   1,4G     44K  1,4G    1% /tmp
/dev/mapper/vm--lpic--router--vg-home   91G     52K   86G    1% /home
/dev/sda1                              511M    3,5M  508M    1% /boot/efi

root@vm-lpic-router:~# mount | grep ^/dev
/dev/mapper/vm--lpic--router--vg-root on / type ext4 (rw,relatime,errors=remount-ro)
/dev/sda2 on /boot type ext2 (rw,relatime,stripe=4)
/dev/mapper/vm--lpic--router--vg-var on /var type ext4 (rw,relatime)
/dev/mapper/vm--lpic--router--vg-tmp on /tmp type ext4 (rw,relatime)
/dev/mapper/vm--lpic--router--vg-home on /home type ext4 (rw,relatime)
/dev/sda1 on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,utf8,errors=remount-ro)

root@vm-lpic-router:~# lsblk
NAME                                MAJ:MIN     RM  SIZE RO TYPE MOUNTPOINT
sda                                 8:0         0   127G  0 disk
├─sda1                              8:1         0   512M  0 part /boot/efi
├─sda2                              8:2         0   488M  0 part /boot
└─sda3                              8:3         0   126G  0 part
    ├─vm--lpic--router--vg-root     254:0       0  23,3G  0 lvm  /
    ├─vm--lpic--router--vg-var      254:1       0   8,2G  0 lvm  /var
    ├─vm--lpic--router--vg-swap_1   254:2       0   976M  0 lvm  [SWAP]
    ├─vm--lpic--router--vg-tmp      254:3       0   1,4G  0 lvm  /tmp
    └─vm--lpic--router--vg-home     254:4       0  92,1G  0 lvm  /home
sr0                                 11:0        1  1024M  0 rom

root@vm-lpic-router:~# pvs
    PV         VG                Fmt  Attr PSize    PFree
    /dev/sda3  vm-lpic-router-vg lvm2 a--  <126,02g 20,00m

root@vm-lpic-router:~# vgs
    VG                #PV #LV #SN Attr   VSize    VFree
    vm-lpic-router-vg   1   5   0 wz--n- <126,02g 20,00m

root@vm-lpic-router:~# lvs
    LV     VG                Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
    home   vm-lpic-router-vg -wi-ao----  92,12g
    root   vm-lpic-router-vg -wi-ao----  23,28g
    swap_1 vm-lpic-router-vg -wi-ao---- 976,00m
    tmp    vm-lpic-router-vg -wi-ao----  <1,45g
    var    vm-lpic-router-vg -wi-ao----  <8,20g

Hier der Link zum TK Wiki LVM vergrößern.

Tipp

Statt df -h nutzen wir df -hx tmpfs - das ist übersichtlicher!

Kurzanleitung - Zusammenfassung der Schritte (von der Website)

  • Vergrößern / Hinzufügen von Festplattenspeicher (auf physikalischer oder virtueller Ebene)

  • Neustarten der Maschine, damit der zusätzliche Festplattenspeicher erkannt wird

  • Erstellen einer weiteren Partition z. B. mittels cfdisk

  • Partitionstabelle neu Einlesen, z. B. per Reboot oder per Kommando partprobe

  • Initialisieren einer neuen PV mittels pvcreate

  • Vergrößern der VG mittels vgextend

  • Vergrößern des LV mittels lvextend (bzw. xfs_growfs)

  • Vergrößern des Dateisystems z. B. mittels resize2fs