Apr
2
Mit der Zeit wird der vorgegebene Speicherplatz einer virtuellen Maschine knapp und es wird Zeit die VM-Image zu vergrößern. Das Vergrößern der VM-Image ist leider nicht so einfach wie gedacht, denn das Dateisystem und die Partitionstabelle darf dabei nicht beschädigt werden.
Bei dem Einsatz von KVM mit libvirt und QEMU ist es ratsam, die bestehende virtuelle Maschine (VM) mittels "qemu-img" zu vergrößern.
Bevor ihr die Vergrößerung der virtuellen Maschine mit "qemu-img" vornehmt, solltet ihr ein Backup der VM erzeugen. Vor dem Backup solltet ihr mittels "virsh shutdown vmname" die virtuelle Maschine herunterfahren. Ist die VM gestoppt, so könnt ihr mittels "cp" ein Backup anlegen.
cp vm-image.img vm-image-bkp.img
Nach dem erfolgreichen Backup der bestehenden VM, könnt ihr mittels "qemu-img" die VM-Image vergrößern.
Wichtig dabei ist, dass die Image damals mit QEMU erzeugt wurde.
qemu-img resize vm-image.img +25GB
Wurde die virtuelle Maschine (Image) erfolgreich vergrößert, so müsst ihr noch mit gparted die Partition des Systems vergrößern.
Dazu ist es nützlich über einen SSH-Tunnel den Port 5900 an den localhost (z.B. Windowsrechner mit puTTY) weiter zu reichen.
Nun könnt ihr euch mit dem VNC-Client und "localhost:5900" auf der später gestarteten VM verbinden und habt eine grafische Oberfläche.
Für die Vergrößerung der Partition mittels gParted, müsst ihr eure virsh-config (libvirt) noch anpassen und das Bootmenü aktivieren. Ladet euch bitte die gParted Live-CD herunter und tragt diese als Pfad in der virsh-config der VM ein.
virsh edit vmname <os> .... <boot dev='cdrom'/> //diese Zeile hinzufuegen <bootmenu enable='yes'/>//diese Zeile hinzufuegen .... </os> .....
<disk type='file' device='cdrom'> <target dev='hdc' bus='ide'/> <source file='/pfad-zur-iso/gparted-live-0.12.0-5.iso'/> <readonly/> </disk> virsh start vmname
Wurde alles erfolgreich eingetragen und gespeichert, so startet ihr nun eure VM und startet parallel die Verbindung mit dem VNC-Client.
Ihr erhaltet eine grafische Oberfläche und dem Hinweis, dass das Bootmenü mit F12 geladen werden kann. Nach dem Bestätigen mit F12, erhaltet ihr eine Auflistung der verfügbaren Geräte, unter anderem auch eurer erzeugtes CD-Romlaufwerk mit der gParted-Image. Diese bootet ihr nun ...
In gParted startet ihr das Programm "gParted" und weist der ROOT-Parititon den neuen Speicherplatz zu. Nach einem Neustart, könnt ihr die vergrößerte Systempartition der VM nach dem Login im Terminal einsehen. Zur Sicherheit deaktiviert ihr in der virsh-config das bootmenü und das gParted-CD-Romlaufwerk.
Vielen Dank für die Beschreibung, war für mich sehr hilfreich!