Virtualisatie. Bijna iedere computer-enthousiast of systeembeheerder heeft er anno 2017 wel van gehoord. Wat is virtualisatie eigenlijk, wat kun je er mee en is het ook interessant om thuis of bedrijfsmatig te gebruiken? Ja! Het is zeer de moeite waard en in tegenstelling tot wat soms gedacht wordt, heb je niet meteen zware en/of dure hard- en software nodig.

Virtualisatie is een techniek waarmee je een fysieke computer als het ware opknipt in meerdere, individueel opererende, computers met ieder hun eigen onafhankelijk werkende besturingssysteem. Processor (CPU), werkgeheugen (RAM), opslag (harde schijf) en verbinding met de buitenwereld (netwerk) van de onderliggende machine (de host) worden onderling door deze virtuele machines (de guests) gedeeld, zonder dat ze elkaar zien. De vm’s gedragen zich bijna volledig als losse, zelfstandige machines.

Processen en applicaties die op de ene guest draaien of gebruikers die daar op zijn ingelogd, zijn niet zichtbaar of beïnvloedbaar op de andere. Zelfs de beheerder van de host heeft enkel controle over de “buitenkant” van de guests, maar heeft niet vanzelfsprekend toegang tot de guests zelf.

Waarvoor gebruik je het?

Stel je experimenteert graag met meerdere besturingssystemen, zoals Linux, FreeBSD en Windows of je wilt een nieuwe distributie uitproberen zonder meteen je hele PC opnieuw in te richten. Ook heb je geen behoefte om een tweede PC aan te schaffen. Dan kun je gebruik maken van virtualisatiesoftware om op je PC of laptop een virtuele machine aan te maken waarin je het nieuwe besturingssysteem installeert en uitprobeert. Op die manier kun je experimenteren zonder dat je bijvoorbeeld niet meer op internet kunt of je data kwijtraakt. Bevalt het nieuwe systeem niet of heb je het beschadigd, dan installeer je het systeem eenvoudig opnieuw.

Andere toepassingen zijn servertaken. Je hebt een netwerk en je wilt dat alle apparaten automatisch een eigen IP adres krijgen. Ook wil je dat de apparaten niet enkel via dat IP adres te benaderen zijn, maar ook via hun naam (DHCP & DNS). Daarnaast wil je op je netwerk bestanden delen, data van buitenaf toegankelijk maken (webserver), je eigen systemen in de gaten houden (monitoring), back-ups maken en een machine hebben waarop je diverse programma’s kunt draaien (bijvoorbeeld een IRC client of je email applicatie).

Je kunt al deze systemen combineren op één systeem. Grootste nadeel daarvan is dat applicaties elkaar kunnen beïnvloeden. Eén configuratiefout of reboot zorgt meteen dat al die applicaties niet meer (goed) werken. Een tweede optie is dat je de taken van elkaar scheidt door ze te installeren op meerdere fysieke machines. Nadeel is dat je snel een hand vol systemen hebt draaien: niet echt leuk voor je energierekening.

Dankzij virtualisatie kan alles draaien op één enkele fysieke machine, terwijl je tóch alle taken van elkaar kunt scheiden door iedere taak in zijn eigen virtuele omgeving te laten draaien. Zo maak je efficiënter gebruik van je hardware en voorkom je een torenhoge energierekening. Er zijn meer voordelen. Je kunt met enkele muisklikken of commando’s heel eenvoudig geheugen en harddiskruimte vergroten of een extra processor toevoegen. Heeft een applicatie extra resources nodig, dan is dat meestal binnen enkele seconden geregeld.

Meer geavanceerde setups kennen ook nog voordelen, zoals het realiseren van een hogere beschikbaarheid van de systemen en de mogelijkheid om onderhoud te plegen aan een host zonder dat dit gevolgen heeft voor de draaiende guests.

Software

Over de verschillende virtualisatie mogelijkheden is eenvoudig een heel blad vol te schrijven. Er is ontzettend veel keuze en welke keuzes je maakt, is sterk afhankelijk van waarvoor je het wilt inzetten en wat je budget is. Je kiest of je het systeem enkel via de commandline wilt beheren of dat je liever gebruik maakt van een al dan niet via je browser te gebruiken grafische interface. Er zijn veel gesloten (proprietry) systemen, zoals Microsoft Hyper-V en VMware vSphere ESXi, maar ook  open en vrij beschikbare systemen, zoals Xen, QEMU/KVM of VirtualBox.

Microsoft Hyper-V

Vooral geschikt is voor virtualisatie van servers. Vanaf Windows 2012R2 Server Core is Hyper-V gratis maar het blijft een gesloten systeem. Server Core is niet als desktop te gebruiken.

VMware ESXi

Ook dit systeem is vooral geschikt voor virtualisatie van servers. Je kunt het gratis gebruiken maar voor beheer heb je een Windows applicatie nodig. ESXi kan niet gecombineerd worden met een ander besturingssysteem op dezelfde hardware.

VMware Player

Een interessante optie als je juist op je PC eens wilt experimenteren met een nieuw besturingssysteem of nieuwe distributie. Je installeert de VMWare Player op je bestaande Linux of Windows systeem. Niet bedoeld voor virtuele servers die 24/7 moeten draaien. Het is een gratis, maar gesloten systeem.

Oracle VM VirtualBox

Net als VMware Player installeer je dit op je bestaande Linux of Windows systeem. Het is open source en volledig vrij te gebruiken. Wil je een open source applicatie die geschikt is om op je bestaande laptop of PC te installeren, dan is dit de beste keuze.

Xen & KVM

Twee open source systemen. Je draait ze op een bestaand OS, zoals Linux of FreeBSD en ze zijn vooral geschikt voor virtualisatie van servers, hoewel Qubes OS Xen juist inzet voor virtualisatie van desktops. Aan te sturen door middel van een commandline interface, een lokale grafische applicatie of een webapplicatie zoals oVirt, ConVirt of Proxmox.

Proxmox VE

Een ander open source systeem is Proxmox VE. Deze door Proxmox Server Solutions GmbH ontwikkelde applicatie is een schil om KVM en Linux Containers (LXC). Het maakt gebruik van een gemodificeerde Debian kernel, waardoor bijvoorbeeld direct gebruik van ZFS als bestandssysteem mogelijk is. Naast een moderne browser die HTML5 ondersteunt en een ssh client heb je geen extra software nodig om Proxmox VE te gebruiken en beheren. Je kunt een (betaalde) licentie afnemen, maar mag het product zonder licentie onbeperkt en voor iedere toepassing gebruiken.

Wil je graag een open en relatief eenvoudig op te zetten en beheren systeem dat geschikt is om servertaken mee te virtualiseren, dan is dit een goede keuze.

Hardware

Zoals in de inleiding aangegeven kun je met relatief eenvoudige en goedkope hardware thuis en in een kleinere bedrijfsomgeving prima uit de voeten. De belangrijkste eisen op het gebied van processor, geheugen en opslag op een rijtje:

          Processor: Snelheid en aantal kernen (cores) is alleen van belang wanneer je grote en zware toepassingen gaat draaien. Een kleine Intel of AMD CPU met twee cores volstaat ruim voor de meeste thuisomgevingen en kleine bedrijven. Voor de meeste virtualisatie software heb je een 64-bit Intel of AMD processor nodig. Daarnaast moeten je moederbord en processor de zgn. Intel VT of AMD-V instructieset ondersteunen. De meeste Intel of AMD processoren jonger dan 10 jaar voldoen aan deze eisen.

          Geheugen: Virtualisatie vraagt om meer geheugen dan wanneer je alles op één machine zou combineren. Iedere individuele vm draait immers een compleet zelfstandig besturingssysteem. Met een PC of server voorzien van 8 of 16 Gigabyte geheugen kom je al een heel eind.

          Opslag: Voor servers kun je het beste gebruik maken van minimaal 2 gespiegelde (RAID1 of equivalent) harde schijven of SSD’s. Gebruik je een applicatie, zoals VMware Player of VirtualBox, dan is dit minder van belang. De grootte is volledig afhankelijk van de hoeveelheid vm’s en data die je erop wil gaan zetten.

Een goed voorbeeld van een kleine, relatief betaalbare, kant- en klare server waar je alleen nog geheugen en harde schijven in hoeft te stoppen, is de HP Microserver Gen8. Het kleinste model draait op een Intel G1610 CPU met 2 cores en kan maximaal 16GByte geheugen en 4 3,5” harde schijven huisvesten. Als desktop kun je in feite iedere willekeurige PC of laptop met de juiste CPU, een enkele harde schijf en 4 of meer Gigabyte geheugen gebruiken. Dat is ruim voldoende om vertrouwd te raken met het platform.

Tot slot

Over virtualisatie en de toepassingen valt nog veel meer te vertellen. Dit artikel is bedoeld je te inspireren zelf verder onderzoek te doen, erover te lezen en er thuis of in het bedrijf mee aan de slag te gaan. Combineer het bijvoorbeeld met FreeNAS waar Marcel Beelen eerder in Linux Magazine een artikel over schreef, bouw een cluster, experimenteer!

Link

https://en.wikipedia.org/wiki/Comparison_of_platform_virtualization_software