KVM-virtualisatie beheer je – als je dat wilt – volledig via de commandline. Voor incidenteel gebruik is een grafische interface uiteraard gemakkelijker. In dit artikel bekijken we twee opties: Virt-manager en WebVirtMgr.

Virt-manager – ook wel bekend onder de naam Virtual Machine Manager – is de bekendste van de twee. De meeste distributies installeren Virt-manager als standaard-GUI voor KVM-virtualisatie. Virt-manager beperkt zich overigens niet tot KVM: ook Xen-virtualisatie en LXC-containers worden ondersteund. In deze vergelijking laten we dat echter buiten beschouwing. WebVirtMgr daarentegen ondersteunt enkel KVM, maar heeft een ander groot voordeel: het is een webbased-applicatie. Je installeert het dus op één machine (meestal de VM host), waarna je het vanaf iedere machine in je netwerk kan gebruiken. Maar dat is lang niet het enige verschil…

Installatie

Qua installatiegemak wint Virt-manager met twee vingers in de neus: je installeert het pakket via je package manager en dat is alles. Start je Virt-manager voor de eerste keer op, dan controleert het desgewenst of alle benodigde packages voor KVM-virtualisatie aanwezig zijn. Het virt-manager-pakket heeft die dependencies immers niet aan boord, aangezien je Virt-manager ook kan gebruiken om remote KVM-hosts te beheren. Na installatie van wat extra pakketten bleek helaas nog één pakket te ontbreken: libvirt-bin. Dat installeren we dus manueel, waarna we even uitloggen en opnieuw inloggen om lid te worden van de groep ‘libvirtd’. We starten Virt-manager nogmaals op en nu zijn we klaar om onze eerste virtuele machine te installeren. Helaas bevat Linux Mint 17.1 met Virt-manager 0.9 een iets oudere versie. Versie 1.0 is met name interessant, omdat je daarmee (eindelijk!) snapshots kan beheren zonder op de commandline terug te vallen. Dat is voorlopig dus nog toekomstmuziek voor Linux Mint-gebruikers.

 

Voor WebVirtMgr zijn (nog) geen packages beschikbaar. De installatieprocedure is weliswaar uitgebreid gedocumenteerd op http://bit.ly/1cNbd1P, maar nog behoorlijk omslachtig. Zo moet je eerst een aantal dependencies installeren (zoals Python PIP, Supervisor en Nginx), vervolgens de git-repository klonen en daarna de verschillende componenten configureren. De commandline-instructies schrikken wellicht een aantal gebruikers af. Loopt het ergens mis, dan vrezen we ook dat de meeste beginners snel zullen afhaken. Kortom, de installatie van WebVirtMgr is enkel haalbaar voor mensen met een basiskennis van de commandline, een gezonde dosis leergierigheid én het nodige geduld. Dat kan dus beter!

 

Configuratie

Qua configuratie heeft Virt-manager weer een streepje voor. Wil je enkel virtuele machines op dezelfde host beheren? Dan hoef je niets extra te configureren. Ook verbinden met een remote host is erg gemakkelijk, althans wanneer je voor de SSH-methode kiest. WebVirtMgr open je door in je browser naar http://localhost te surfen. (Doe je dit vanaf een andere machine, gebruik dan uiteraard het IP-adres van je VM host.) Log in met de gebruikersnaam die je tijdens de installatie gekozen hebt. Je ziet nu een behoorlijk leeg scherm met de melding “You have no connection”. Klik op “Add Connection”, ga naar het tabblad “Local Socket” en kies een naam voor de verbinding (bijvoorbeeld “localhost”). Die methode werkt wel alleen als de gebruiker waaronder de webinterface draait (www-data in Linux Mint) ook lid is van de eerder genoemde libvirtd-groep. Dat moet je dus nog even wijzigen:

 

$ sudo gpasswd -a www-data libvirtd

$ sudo service supervisor restart

 

Er zijn ook andere authenticatiemethodes, maar die zijn iets omslachtiger te configureren. Op http://bit.ly/1EzXzFl en http://bit.ly/1zVS08e lees je hier meer over.

Klik nu op het tabblad “Infrastructure” bovenaan om te controleren of de socket-connectie werkt. Zie je een entry “localhost” met status “Active” en het huidige geheugengebruik? Dan is de configuratie geslaagd!

 

Mogelijkheden

Enkele jaren geleden leek Virt-manager – in vergelijking met software zoals VirtualBox – eerder beperkt in mogelijkheden. Ontbrekende features werden echter langzaam, maar zeker toegevoegd. In versie 0.9 zal je misschien alleen de snapshot-functionaliteit missen. Via het menu Edit > Connection Details configureer je de netwerkinstellingen en opslagmedia van de VM host. Individuele VM’s configureer je via Edit > Virtual Machine Details of door te dubbelklikken op de naam ervan. Elke VM wordt geopend in een nieuw venster: via de twee knoppen linksboven wissel je tussen de grafische console en de instellingen van de VM. De beschikbare instellingen zijn behoorlijk uitgebreid: boot-opties, performance tuning voor schijven, geavanceerde CPU-opties, enz. Je kan ook elk denkbaar (virtueel) device toevoegen aan je VM. Zelfs een VM migreren naar een andere KVM-host is mogelijk vanuit de GUI, al zal je dat thuis niet snel nodig hebben.

 

Virt-manager bevat zeer uitgebreide configuratie-opties.

 

WebVirtMgr is een stuk eenvoudiger van opzet. In het ‘Infrastructure’-tabblad klik je op ‘localhost’, waarna links een nieuwe navigatiebalk verschijnt. Via ‘Instances’ beheer je individuele VM’s, terwijl de overige opties dienen om de host te beheren (netwerk en opslagruimte). De configuratie-opties voor virtuele machines zijn eerder beperkt: RAM-geheugen, virtuele cpu’s, de autostart-optie en dan heb je het ongeveer gehad. De meeste opties kan je enkel wijzigen wanneer de VM afstaat. Ook VM’s klonen of migreren en snapshots aanmaken is mogelijk. Tot slot biedt WebVirtMgr de optie om de XML-configuratie van de VM aan te passen. Gezien het beperkt aantal configuratiemogelijkheden heb je die optie sneller nodig dan je denkt! Maar dan kan je natuurlijk net zo goed op de commandline een xml-file aanpassen. Ook de grafische console bleek tijdens onze test niet te werken. We vermoeden dat WebVirtMgr probeerde te verbinden op poort 5900 (de poort die Virt-manager gebruikt voor VNC-connecties), terwijl dat met WebVirtMgr eigenlijk poort 6080 moest zijn. We vonden niet meteen een manier om dit aan te passen. Het toont opnieuw aan dat WebVirtMgr nog wat ruwe kantjes heeft weg te werken.

 

 WebVirtMgr is heel wat eenvoudiger!

 

Gebruiksgemak

Een aantal jaren geleden was Virt-manager verre van perfect in gebruik. Niet alleen ontbraken een aantal essentiële functies, ook de implementatie van bestaande functies liet wel eens te wensen over. Nieuwe functies werden vaak opgenomen in de GUI nog voor ze volledig geïmplementeerd waren. Het gevolg: je werd te pas en te onpas getrakteerd op nietszeggende foutmeldingen. Vaak zat er dan niets anders op dan te wachten op een nieuwe versie van Virt-manager. Gelukkig is dat sterk verbeterd: Virt-manager is nu niet alleen stabiel, maar ook behoorlijk feature complete. Desondanks biedt Virt-manager nog steeds een overzichtelijke interface die volgens ons ook voor beginners prima te begrijpen is.

 

Op het eerste gezicht lijkt WebVirtMgr gemakkelijker te gebruiken dan Virt-Manager, maar schijn bedriegt. De installatie is al niet zo vanzelfsprekend, ook daarna loop je geregeld tegen kleine foutjes aan. Met wat speurwerk lost een poweruser die wel op, maar powerusers lijken niet echt tot WebVirtMgr’s doelgroep te behoren. Daarvoor zijn de ondersteunde features van KVM gewoon té beperkt. Ook voor beginnende gebruikers is WebVirtMgr helaas niet ideaal. De stabiliteit moet beter worden en de installatie eenvoudiger, het liefst via packages uit officiële repositories. Voorlopig is Virt-manager dus de betere keuze van de twee. Het enige voordeel van WebVirtMgr is dat je daarmee ook vanaf andere besturingssystemen (Windows, Mac OS X, Android, …) VM’s op een remote host kan beheren. Met Virt-manager heb je immers steeds een Linux-client nodig, tenzij je ssh met X11 Forwarding gebruikt. Maar dat is dan weer niet voor elk OS even eenvoudig..