KVM of VirtualBox: wat is het makkelijkst?

Wil je graag je eerste stappen zetten met Linux als serverbesturingssysteem, dan is een virtuele machine een prima keuze. Zowel KVM als VirtualBox zijn populaire oplossingen om virtuele machines te draaien op een Linux-desktop. Wij zochten uit welke van die twee het makkelijkst is om aan de slag te gaan.

Linux als serverbesturingssysteem kent heel wat toepassingen: in de cloud als webserver, op een Raspberry Pi als domotica-controller, op een energiezuinige computer als fileserver, enzovoorts. Ben je nog niet zo vertrouwd met de commandline en de specifieke serversoftware? Dan wil je misschien eerst nog wat oefenen vooraleer je écht een Linux-server installeert. Daarvoor zijn virtuele machines ideaal, want je kunt makkelijk experimenteren met verschillende distributies. Heb je schrik dat je iets kapot zult maken? Geen probleem: maak regelmatig een snapshot van de virtuele machine en je kunt eventuele fouten makkelijk terugdraaien! Kortom: dankzij virtuele machines kun je al doende erg veel bijleren over Linux. Maar welk virtualisatiepakket gebruik je nu best? Wij gaan kort aan de slag met de twee beste opties in Linux Mint: KVM en VirtualBox.

KVM

Virtualisatie zit eigenlijk al ingebakken in de Linux-kernel dankzij KVM (Kernel-based Virtual Machine). Bovenop KVM draait er nog een daemon om de virtuele machines eenvoudiger te beheren. libvirt. Tot slot heb je een client nodig om met libvirt te communiceren: er bestaan zowel browsergebaseerde, grafische en commandline clients. De bekendste (en de oudste) grafische client in Linux is Virtual Machine Manager, te installeren via het pakket “virt-manager”. Aanvankelijk was het installeren en configureren van KVM echt specialistenwerk. Je moest nog heel wat zaken op je systeem configureren om van KVM een bruikbare virtualisatie-oplossing te maken. De laatste jaren zijn er gelukkig al grote stappen gezet om dat proces te vereenvoudigen. Toch is KVM nog steeds geen plug-and-play pakket zoals VirtualBox dat bijvoorbeeld wél is.

 

Toegangsrechten

Start je Virtual Machine Manager meteen na de installatie op, dan krijg je een foutmelding dat “libvirtd” niet zou draaien, terwijl dat wél het geval is. De oplossing: jouw gebruiker toevoegen aan de groepen “libvirt” en “kvm” (als dat nog niet het geval is) en even afmelden en terug inloggen. De interface van Virtual Machine Manager oogt nogal spartaans en bevat weinig configuratiemogelijkheden. Via “Edit” > “Connection Details” stel je verschillende virtuele netwerken in (waarover later meer) en kies je de mappen waar je virtuele harde schijven wilt bewaren. Vergeet ook niet om de locatie toe te voegen waar Virtual Machine Manager de iso-bestanden voor installaties kan vinden. Via “File” > “New Virtual Machine” start je de wizard om een nieuwe vm aan te maken. Virtual Machine Manager kan overigens ook verbinden met libvirt op een remote machine. Je kunt dus vanaf je desktop virtuele machines beheren die op verschillende machines draaien, wat vooral in bedrijfsomgevingen handig kan zijn.

Netwerkconfiguratie

Een nadeel aan Virtual Machine Manager is dat je zonder extra configuratie beperkt bent tot een NAT-netwerk. De virtuele machine krijgt dan een ip-adres in een ander netwerk dan jouw thuisnetwerk en gebruikt de KVM-host als router. Op die manier kun je vanuit de virtuele machine wel op internet, maar andere computers in jouw netwerk kunnen niet verbinden met de virtuele machine. Voor een server is dat nogal lastig, omdat die meestal services aanbieden aan alle machines in je netwerk. In dat geval heb je eigenlijk een Bridged-netwerk nodig, waarmee je de virtuele machine rechtstreeks koppelt aan jouw thuisnetwerk. Daarvoor moet je eerst een Bridge-interface configureren via Network Manager. Jammer genoeg is dat nog altijd een beetje prutswerk, waarbij je deels op de commandline moet terugvallen. Zodra dat in orde is, heb je aan KVM echter een prima oplossing om een virtuele server te draaien op jouw laptop of desktop.

## 01_kvm.png: De interface van Virtual Machine Manager is wel erg spartaans.

VirtualBox

Oracle VirtualBox is een populair crossplatform virtualisatiepakket. In tegenstelling tot KVM, dat exclusief op Linux werkt, kun je VirtualBox op Linux, macOS én Windows installeren. VirtualBox lijkt qua opzet sterk op VMWare Workstation: een alles-in-één virtualisatiepakket. Je hebt dus niet de keuze uit verschillende clients (al bestaat er bijvoorbeeld wel een commandline client voor gebruik in scripts) en je kunt ook geen virtualisatiedaemon op een andere machine beheren vanaf je laptop. Voor thuisgebruik hoeft dat echter geen nadeel te zijn. De meeste distributies bevatten installatiepakketten voor VirtualBox, maar je volgt best de instructies op https://www.virtualbox.org/wiki/Linux_Downloads. Zo heb je steeds toegang tot de nieuwste features in de allerlaatste versie.

Gebruiksvriendelijk

Start je VirtualBox op, dan valt meteen op dat het heel wat gebruiksvriendelijker is dan Virtual Machine Manager. In het “File”-menu vind je verschillende opties om virtuele netwerken en schijven te beheren. Voorlopig mag je die opties gerust links laten liggen, want je kunt eigenlijk meteen starten zonder verdere configuratie. Bestaande virtuele machines importeer je snel via “File” > “Import Appliance” (voor downloads in OVF-formaat) of via “Machine” > “Add” (voor een vm in VirtualBox-formaat). Via “Machine” > “New” start je de wizard om een nieuwe virtuele machine aan te maken. De meeste opties spreken voor zich en alles werkt gewoon zoals je verwacht had.

Netwerken

Een groot pluspunt van VirtualBox is dat de netwerkconfiguratie zowel erg krachtig als eenvoudig te gebruiken is. Volstaat het standaard NAT-netwerk niet? Dan kies je gewoon “Bridged Adapter” als netwerktype in de instellingen van de virtuele machine. Selecteer vervolgens de gewenste netwerkkaart waaraan de bridged adapter gekoppeld moet worden en je bent klaar. De virtuele machine krijgt dan een ip-adres in hetzelfde netwerk als alle fysieke machines, zonder dat je aan de instellingen van Network Manager moet sleutelen. Dat is een pak eenvoudiger dan bij KVM, waarbij je je systeemconfiguratie toch nog wat moet tweaken vooraleer alles naar behoren werkt. Voor specifieke toepassingen bevat servers, die je niet allemaal op je thuisnetwerk zichtbaar wilt maken.

 

## 02_virtualbox.png: VirtualBox is gebruiksvriendelijker voor beginners.

Conclusie

VirtualBox nog verschillende andere netwerktypes, zoals Internal, Host-only of NAT network. Die zijn vooral bruikbaar in setups met meerdere virtuele

Hoewel KVM vanuit technisch opzicht een prima virtualisatie-oplossing is, is het toch nog altijd iets moeilijker om op te zetten. Voor beginners is het vooral lastig dat je handmatig een Bridge-adapter moet configureren om optimaal gebruik te kunnen maken van de netwerkmogelijkheden. Anderzijds leer je zo ook weer wat bij over Linux, en dat is altijd mooi meegenomen! Wil je gewoon zo snel mogelijk aan de slag zonder teveel gedoe, dan installeer je beter VirtualBox. Een bijkomend voordeel is dat je hetzelfde pakket ook op macOS- of Windows-machines kunt installeren én eenvoudig virtuele machines kunt uitwisselen tussen al die systemen.