Software Challenge : Festplattengröße der VMain erhöhen

Wenn die Festplatte der VMMain zu voll wird und es keine Möglichkeit gibt, freien Speicherplatz zu schaffen, ist es nötig, die Festplatte der VMMain zu vergrößern.

Das Festplatten-Image befindet sich unter /home/vbox/vms/vmmain/vmmain.vdi .

Die virtuelle Festplatte ist zur Zeit auf 50GB begrenzt. Auf numerobis sind insgesamt 64GB für die VMs verfügbar, eine weitere Vergrößerung wäre also ohne eine Erweiterung des Speicherplatzes auf numerobis nicht sinnvoll. Dennoch halte ich hier mal eine Schritt-für-Schritt Anleitung fest.

Eine Vergrößerung des Images ist auf folgende Weise möglich:

Eine neue, größere virtuelle Festplatte erstellen und die alte darauf Klonen

cd /home/vbox/vms/vmmain

VBoxManage createhd --filename vmmain_new.vdi --size <sizeinmb> --format VDI

VBoxManage vmmain.vdi vmmain_new.vdi --existing

Das alte Image auswerfen:

VBoxManage storageattach vmmain --storagectl "IDE Controller" --port 0 --device 0 --medium none

Das alte Image löschen und das neu erstellte Image umbenennen zu "vmmain.vdi"

Das Image direkt vergrößern

Ab VirtualBox 4.0 sollte auch folgendes funktionieren um das Image zu vergrößern

VBoxManage storageattach vmmain --storagectl "IDE Controller" --port 0 --device 0 --medium none

VBoxManage modifyhd vmmain.vdi --resize <sizeinmb>

Die Partitionen an das größere Image anpassen

Das Vergrößern des Images ist nur der erste Schritt. Nun muss noch die Root-Partition vergrößert werden (hier mit Hilfe einer GParted LiveCD).

VBoxManage storageattach vmmain --storagectl "IDE Controller" --port 0 --device 0 --type dvddrive --medium /home/vbox/etc/gparted.iso

VBoxManage storageattach vmmain --storagectl "IDE Controller" --port 1 --device 0 --type hdd --medium vmmain.vdi

Nun wird die VMMain gestartet und bootet von CD.

VBoxHeadless --startvm vmmain

Der Port, auf dem der Remote-Desktop-Server läuft, wird dabei ausgegeben. Dieser wird gebraucht um sich mit einem RDP-fähigen Viewer auf die VMMain zu verbinden.

Unter Linux benutzt man dazu z.B. rdesktop, unter Windows z.B. mstsc.exe

Man baut eine Verbindung zu 134.245.248.15:[RDPPort] auf.

Nun müsste man eine Verbindung zur VMMain haben, kann man GParted starten und die Partitionierung anpassen:

  • Das extended Laufwerk auf die völle Größe vergrößern
  • Die Partition im extended Laufwerk ganz ans Ende des extended Laufwerks verschieben
  • Das extended Laufwerk auf die minimale Größe schrumpfen, der freie Speicherplatz befindet sich jetzt direkt hinter der Rootpartition
  • Die Rootpartition auf die volle Größe vergrößern
  • Alle Änderungen übernehmen und die VM herunterfahren

Nun muss die LiveCD noch entfernt werden:

VBoxManage storageattach vmmain --storagectl "IDE Controller" --port 0 --device 0 --medium none

VBoxManage storageattach vmmain --storagectl "IDE Controller" --port 1 --device 0 --medium none

VBoxManage storageattach vmmain --storagectl "IDE Controller" --port 0 --device 0 --medium vmmain.vdi --type hdd

Jetzt kann die VMMain wieder gestartet werden und sollte wie gewohnt laufen:

VBoxManage startvm --type headless