Software Berater Logo Software Berater #neuland seit 1993

LVM System vergrößern

Mehr CPU, RAM, Festplatte? Virtuell kein Problem. Aber wie aktiviert man den neu gewonnenen Reichtum? Ich zeige, wie das auf der Basis von Linux und LVM funktioniert.

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:

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

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>

Jetzt wird ein neues Physical Volume in der Partition erzeugt:

root@www:~# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created.

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

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.

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% /
...

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