LVM System vergrößern

Die freundlichen Menschen bei Tänzer Medien waren so nett, mir mehr Platz am Server zuzuweisen: Mehr CPU-Kerne, mehr RAM, mehr Festplatte. Da Tänzer (wie ich früher auch) auf Proxmox als Virtualisierungsbasis setzt, ist das eine KVM Maschine. Da man in meinem Alter :-) Kopf wie Sieb haben darf, muss ich aufschreiben, wie das Resizing funktioniert.

CPU und RAM

Diese Werte sind in Proxmox zu verändern, anschließend muss die Maschine via Proxmox einmal komplett gestoppt und neu gestartet werden. Ein “interner” Neustart per reboot oder shutdown -r now reicht nicht. Nach dem Neustart sind die Ressourcen verfügbar.

Festplatte

Das ist mit mehr Aufwand verbunden, daher hier im Detail:

  1. Analog zu CPU und RAM müssen die neuen Limits in Proxmox zugewiesen werden. Hier ist spannenderweise kein Neustart nötig, dmesg meldet die neuen Ressourcen sofort:

     [  986.436480] sd 2:0:0:0: Capacity data has changed
     [  986.437280] sd 2:0:0:0: [sda] 209715200 512-byte logical blocks: (107 GB/100 GiB)
     [  986.437463] sda: detected capacity change from 53687091200 to 107374182400
    
  2. Mit einem Partitionierungstool wie cfdisk oä. sieht man den freien Platz, hier muss jetzt eine neue Partition erstellt werden. In meinem Fall war das sda3. Achte darauf, in cfdisk explizit die Änderung mit Write auf die Plate zu schreiben, bevor man das Tool mit Quit verlässt. Sonst wird keine Änderung erzeugt. </protipp>
  3. Jetzt wird ein neues Physical Volume in der Partition erzeugt:

     root@www:~# pvcreate /dev/sda3
     Physical volume "/dev/sda3" successfully created.
    
  4. Dorthin erweitere ich jetzt die Volume Group:

     root@www:~# vgs
       VG               #PV #LV #SN Attr   VSize   VFree
       tpl-deb9-50gb-vg   1   2   0 wz--n- <49.76g    0 
     root@www:~# vgextend tpl-deb9-50gb-vg /dev/sda3
       Volume group "tpl-deb9-50gb-vg" successfully extended
     root@www:~# vgs
       VG               #PV #LV #SN Attr   VSize   VFree 
       tpl-deb9-50gb-vg   2   2   0 wz--n- <99.76g 50.00g
    
  5. Jetzt wird das Logical Volume erweitert:

     root@www:~# lvs
     LV     VG               Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
     root   tpl-deb9-50gb-vg -wi-ao---- <45.76g                                                    
     swap_1 tpl-deb9-50gb-vg -wi-ao----   4.00g
     root@www:~# lvextend -l +100%FREE /dev/tpl-deb9-50gb-vg/root
       Size of logical volume tpl-deb9-50gb-vg/root changed from <45.76 GiB (11714 extents) to <95.76 GiB (24514 extents).
       Logical volume tpl-deb9-50gb-vg/root successfully resized.
    
  6. Abschließend kann das Filesystem erweitert werden, damit der jetzt gewonnene zusätzliche Platz auch für Dateien & Co nutzbar wird:

     root@www:~# df -h
     Filesystem                            Size  Used Avail Use% Mounted on
     ...
     /dev/mapper/tpl--deb9--50gb--vg-root   45G   23G   21G  53% /
     ...
     root@www:~# resize2fs -p /dev/mapper/tpl--deb9--50gb--vg-root
     resize2fs 1.44.5 (15-Dec-2018)
     Filesystem at /dev/mapper/tpl--deb9--50gb--vg-root is mounted on /; on-line resizing required
     old_desc_blocks = 6, new_desc_blocks = 12
     The filesystem on /dev/mapper/tpl--deb9--50gb--vg-root is now 25102336 (4k) blocks long.
    
     root@www:~# df -h
     Filesystem                            Size  Used Avail Use% Mounted on
     ...
     /dev/mapper/tpl--deb9--50gb--vg-root   95G   23G   68G  25% /
     ...
    
  7. Nur für die gute Ordnung benenne ich die Volume Group abschließend um: vgrename tpl-deb9-50gb-vg tpl-deb9-100gb-vg macht das ohne Probleme. So erscheint die neue Kapazität auch ordentlich im Namen.

    Nachtrag: Achtung Gefahr! Natürlich kann man die Volume Group wie oben beschrieben umbennen. Dann startet der Server beim nächsten Neustart aber nicht mehr. Es ist danach unbedingt nötig, die folgende Information anzupassen:

  • /etc/fstab anpassen, alten Namen durch neuen Namen ersetzen
  • /boot/grub/grub.cfg anpassen, dito
  • update-initramfs -u ausführen