Het klinkt misschien gek, maar zelfs virtualisatiesoftware is onder Linux via de commandline te beheren. Je kent misschien al KMV’s virsh-shell, maar wist je dat VirtualBox ook een commandline tegenhanger heeft? Met vboxmanage geef je ongeveer elk denkbare opdracht door aan VirtualBox. Hieronder enkele voorbeelden.

1. Overzicht

Onderstaande commando’s kun je het beste uitvoeren op een systeem met al enkele VirtualBox-machines. Eerst wil je natuurlijk weten welke virtualisatiemogelijkheden jouw systeem heeft. Het commando “vboxmanage list hostinfo” toont je een beknopt overzicht van beschikbare processoren en geheugen. Zo krijg je al een idee hoeveel virtuele machines je tegelijkertijd kunt draaien. Met “list systemproperties” zie je dan weer alle mogelijke limieten van VirtualBox: maximum aantal cpu’s, geheugen, schijven, … per VM. “list vms” toont alle beschikbare virtuele machines en “list runningvms” toont enkel de VM’s die momenteel actief zijn.

 

2. Booten

Tijd om een virtuele machine te starten! Daarvoor gebruik je de naam van de VM of het unieke ID. Standaard opent VirtualBox een nieuw venster met de console van je VM. Zodra je dat venster sluit, wordt de VM ook afgesloten. Wil je de VM in de achtergrond opstarten, voeg dan de headless-optie toe. Bijvoorbeeld:

 

vboxmanage startvm 43df9fc8-6a14-4eb8-969b-3f08ae04ac3c –type headless

 

De headless-optie is dus vooral handig voor VM’s, die je als server gebruikt en waarbij je nooit lokaal moet inloggen.

 

3. Afsluiten

Er zijn verschillende methodes om een VM af te sluiten. De veiligste manier is een normale shutdown van het guest OS. Die kan je ook vanaf het host OS triggeren door op de virtuele power button te drukken:

 

vboxmanage controlvm <vm id> acpipowerbutton

 

Loopt je VM vast, trek dan de virtuele stroomkabel uit met het commando:

 

 

controlvm <vm id> poweroff

 

 

Gebruik dit commando alleen als het vorige commando niet reageert. Niet-bewaarde wijzigingen in het guest OS gaan dan immers verloren!

4. Suspend / resume

Net zoals fysieke machines kennen VirtualBox VM’s twee types slaapstand: suspend to ram en suspend to disk. Slaapstand is handig om je virtuele machine als het ware even uit te schakelen zonder nadien het hele bootproces te moeten doorlopen. Het verschil tussen beide methodes is dat de eerste géén herstart van VirtualBox overleeft en de tweede wel. Suspend to disk heeft als bijkomend voordeel dat het door de VM gebruikte geheugen weer wordt vrijgegeven voor andere VM’s. Gebruik volgende commando’s voor suspend to ram:

 

 

vboxmanage controlvm <vm id> pause

vboxmanage controlvm <vm id> resume

 

en voor suspend to disk:

 

vboxmanage controlvm <vm id> savestate

vboxmanage startvm <vm id>

 

5. Snapshots

Met snapshots bewaar je de volledige toestand van een virtuele machine op een bepaald ogenblik. Dat is erg handig als je nadien je systeem grondig verknoeid hebt. Je kunt dan snel terugkeren naar een werkende versie ervan. Een snapshot maak je als volgt (we kozen hier de naam “snapshot1”):

 vboxmanage snapshot <vm id> take snapshot1

 

Indien gewenst voeg je nog een uitgebreide beschrijving toe met de optie –description. Terugkeren naar een snapshot doe je met de restore-optie:

 

vboxmanage snapshot <vm id> restore snapshot1

Vergeet niet dat snapshots ook schijfruimte innemen. Met “snapshot <vm id> list” krijg je een overzicht van alle snapshots van een bepaalde VM. Overbodige snapshots verwijder je met het “delete”-subcommando.

 

6. VM’s aanpassen

Tot hiertoe hebben we gezien hoe je de meest gangbare taken in VirtualBox via de commandline uitvoert. Maar de mogelijkheden van vboxmanage zijn véél uitgebreider dan dat. Zo is het mogelijk om nieuwe VM’s aan te maken of bestaande VM’s aan te passen met de “createvm”- en “modifyvm”-commando’s, VM’s te klonen of te importeren/exporteren met respectievelijk “clonevm”, “import” en “export”, opslagmedia te beheren met “storagectl” en “storageattach”, enzovoorts. Gebruik je VirtualBox bijvoorbeeld om software te testen, dan kun je dit met vboxmanage en shell scripting volledig automatiseren. Helaas bevat de manpage niet meer dan een opsomming van alle beschikbare opties zonder verdere uitleg. Op de VirtualBox-website (http://bit.ly/1HUjufW) vind je gelukkig wel uitgebreide documentatie van het vboxmanage-commando.