Desktop hypervisors zijn een populaire technologie onder technofielen. We hebben allerlei redenen om ze te gebruiken. Sommigen van ons willen software testen die anderen hebben geschreven om te zien of die goed is. Sommigen van ons willen software testen die we zelf hebben geschreven om te zien of die goed is. Soms moeten we activiteit beperken tot een tijdelijke omgeving. Andere keren willen we gewoon onze primaire omgeving uit de klauwen houden van een invasief installatieprogramma. Het bedenken van redenen om een desktop hypervisor te gebruiken is eenvoudig. Beslissen welke desktop hypervisor te gebruiken kan lastiger zijn. In dit artikel wordt Microsoft’s Client Hyper-V vergeleken met Oracle’s VirtualBox.

Download Altaro VM Backup

Download Altaro VM Backup

Start uw gratis 30-dagen en zie waarom meer dan 40.000 organisaties wereldwijd op Altaro VM Backup vertrouwen. Begin nu en maak uw eerste back-up in minder dan 15 minuten!

In de regel vertel ik mensen niet welk product ze moeten gebruiken. Ik vind dat je moet kiezen wat het beste bij je behoeften past. Als er niets is dat perfect bij elkaar past, moet u net zo lang mixen en matchen tot u er zo dicht mogelijk bij komt. Ik hou er niet van als mensen eerst hun product kiezen en dan met handige rechtvaardigingen voor die keuze komen aanzetten. Twee veel voorkomende voorbeelden zijn: “Niemand is ooit ontslagen omdat hij IBM kocht,” en: “Dit product is het populairst.” Mijn doel hier is niet om te dicteren welk product superieur is, maar om u te begeleiden naar een weloverwogen beslissing. Die beslissing kan zijn om beide hypervisors te gebruiken.

Client Hyper-V v Virtualbox

Client Hyper-V v Virtualbox

Client Hyper-V en VirtualBox: A Technology Overview

We zijn hier allemaal technologiemensen, dus laten we deze twee hypervisors eerst eens vanuit technologisch oogpunt bekijken.

Ze zijn niet van elkaars type

Het duidelijkste verschil tussen de twee producten is dat Client Hyper-V een type 1-hypervisor is en VirtualBox een type 2-hypervisor. Telkens als ik zeg “Hyper-V is een hypervisor van type 1” en vervolgens probeer uit te leggen wat een hypervisor van type 1 is, krijg ik steevast minstens een paar reacties waarin staat dat mijn beschrijving helemaal fout is en dat “Hyper-V is…,” en vervolgens beschrijft de reactie van de reactie Hyper-V als een hypervisor van type 2. Of mijn uitleg is niet erg goed, of mensen geloven gewoon niet dat Hyper-V een type 1 hypervisor is. Ik hoop dat het er vooral om gaat dat de lijn tussen type 1 en type 2 lang niet zo solide is als sommige mensen je willen doen geloven, en dat deze commenters het daarom gewoon anders zien.

Hoe dan ook, ik ga een nieuwe methode proberen om type 1 vs. type 2 uit te leggen, maar beperk het tot deze context.

Hypervisor Startup Process: Oracle VirtualBox

Ik ga beginnen met uit te leggen hoe VirtualBox wordt opgestart. Het is een type 2 hypervisor en het gemakkelijkst te begrijpen.

  1. De fysieke computer wordt gestart
  2. Het opstartsysteem van de fysieke computer (BIOS of UEFI) draagt de controle over aan het besturingssysteem dat op de hardware is geïnstalleerd. Voor VirtualBox kan dat Windows, Linux, OSX, of Solaris zijn
  3. De gebruiker (dat bent u) start de VirtualBox applicatie.
  4. De gebruiker (dat bent u) selecteert welke virtuele machine(s) moet(en) worden gestart. VirtualBox spawnt hosting processen

Simpel, toch?

Hypervisor Startup Process: Client Hyper-V

Als hypervisor van type 1 is de opstartroutine van Client Hyper-V op een fundamenteel niveau heel anders dan die van VirtualBox.

  1. De fysieke computer wordt gestart
  2. Het opstartsysteem van de fysieke computer (BIOS of UEFI) draagt de controle over aan Hyper-V
  3. Hyper-V start het beheer-besturingssysteem. Het besturingssysteem voor beheer kan alleen Windows, Windows Server of Hyper-V Server zijn
  4. In reactie op automatische instellingen of handmatige instructies van de gebruiker (dat bent u) spaart Hyper-V partities voor virtuele machines

Er zijn verschillen in de manier waarop verschillende hypervisors van type 1 en type 2 hun doelen bereiken, dus ik kan niet zomaar een paar algemene uitspraken doen en weglopen. We zullen eens kijken naar een paar van de generieke verschillen.

Het belang van typeverschillen

Er is veel geschreven materiaal te vinden over de verschillen tussen type 1 en type 2 hypervisors. In het licht van de mogelijkheden van moderne hardware, virtualisatiesoftware en besturingssystemen, is het meeste van dat materiaal van twijfelachtige waarde. Ik zal de twijfelachtige delen overslaan en alleen ingaan op wat we kunnen verifiëren.

Voor deze discussie is het belangrijkste onderscheid tussen type 1 en 2 dat een type 1 hypervisor altijd aan staat. De enige manier om Client Hyper-V te “stoppen” is door de computer uit te zetten of de rol te verwijderen. Natuurlijk kunt u de “Hyper-V Virtual Machine Management”-service stoppen, maar dat is geen Hyper-V. Het is een beheerservice. Ik denk dat ze het daarom die naam hebben gegeven. Door hem te stoppen kun je geen van de virtuele machines meer beheren, maar het heeft geen invloed op de virtuele machines of de hypervisor. Je kunt Hyper-V niet zien door in het management besturingssysteem te prikken.

Aan de andere kant kan VirtualBox naar believen worden geopend en gesloten. U kunt de VirtualBox-applicatie, de service en de virtuele machines vinden in de Task Manager van het beheerbesturingssysteem. Als u de hoofdinterface sluit, zullen alle actieve virtuele machines blijven draaien omdat VirtualBox zijn hypervisor kernel in het geheugen laat. Als u de laatste VirtualBox virtuele machine stopt, dan is er geen VirtualBox meer. U zult hem opnieuw moeten starten om alle virtuele machines aan de gang te krijgen.

De type verschillen van Client Hyper-V en VirtualBox hebben verschillende consequenties:

  • Client Hyper-V’s management OS gebruikt vCPU zoals de virtuele machines
  • Je moet Hyper-V performance counters gebruiken om iets te zien over Client Hyper-V’s resource gebruik, en dat vertelt niet het hele verhaal
  • Hardware toewijzing werkt anders
  • Resource prioriteit werkt anders

Hyper-V vs. VirtualBox: Hardware Access

Als ik de klachten lees over Client Hyper-V, springen hardware problemen meteen naar de top van de stapel. Onvermijdelijk worden vergelijkingen gemaakt met VirtualBox, VMware Workstation/Player, en andere type 2 hypervisors. Klagers verzuimen zelden te vermelden dat er in die producten vrijwel geen problemen zijn met de apparatuur. De bron van het probleem ligt direct bij het type hypervisor.

Wanneer VirtualBox (of elke andere type 2 hypervisor) een virtuele machine spawnt, draait zijn container binnen het management besturingssysteem waar applicaties leven. Net als andere toepassingen hebben ze geen directe hardwaretoegang; ze moeten apparaattoegang aanvragen via het besturingssysteem.

Laten we bijvoorbeeld eens kijken naar de toewijzing van mijn geluidshardware aan mijn Windows 10-desktop:

Sound Hardware Allocation

Sound Hardware Allocation

Ik heb meerdere geluidshardware-apparaten en meerdere toepassingen. Alle hardwaretoegang en toewijzing gebeurt via het besturingssysteem. Opmerking: Het bovenstaande is alleen bedoeld ter illustratie. U gebruikt Volume Mixer niet om VirtualBox-gasten te verbinden met geluidshardware.

Dus, wanneer u een VirtualBox-gast inschakelt, kunt u zijn toepassingscontainer gebruiken om toegang te vragen tot hardware.

Nu, denk aan Client Hyper-V. Het management-besturingssysteem draait in een eigen partitie, gescheiden van de gast-besturingssystemen. In tegenstelling tot VirtualBox, Client Hyper-V’s gast-besturingssystemen hebben geen projectie in het beheer-besturingssysteem. Ze kunnen niet gewoon de API in het management besturingssysteem aanroepen zoals VirtualBox-gasten dat kunnen, omdat ze er niet bij kunnen. Er zijn functies in Client Hyper-V die u kunnen helpen om dit verschil aan te pakken, maar dit wordt allemaal veroorzaakt door fundamentele verschillen in hypervisor-technologieën.

Takeaway van deze sectie: als u USB-attached hardware en externe schijven wilt gebruiken met uw virtuele gastmachines, zult u het gemakkelijker hebben met VirtualBox.

Hyper-V vs. VirtualBox: Hardware Presentation

Deze sectie sluit sterk aan op de vorige sectie. Als je in VirtualBox door de instellingen-tabbladen van een virtuele machine bladert, zul je een heleboel dingen tegenkomen die je in Hyper-V niet zult zien. U moet kiezen tussen een PIIX3 of een ICH9 chipset. U moet kiezen tussen een Intel audio controller, een ICH AC97 audio controller, en een SoundBlaster 16 audio controller. Als u toestaat dat een virtuele machine een USB-controller heeft, moet u kiezen uit een 1.1, 2.0, of 3.0 apparaat. Hyper-V vraagt je niet om dat soort keuzes te maken.

Het verschil hier heeft ook te maken met die hele type 1 vs. type 2 discussie. Type 2 hypervisors zijn ontworpen om in een veel breder scala van omgevingen te draaien, wat een aantal problemen met zich meebrengt. Om deze problemen aan te pakken, maken type 2 hypervisors uitgebreid gebruik van emulatie. Emulatie is wanneer een softwareconstructie de interfaces van een hardwareapparaat nabootst. VirtualBox emuleert alle dingen die ik in de vorige paragraaf heb opgesomd en meer. Client Hyper-V emuleert heel weinig – het meest opmerkelijk zijn de IDE controller en de legacy netwerk adapter.

Emulatie lost de problemen van wijdverbreide toepasbaarheid op. Zoals je je kunt voorstellen, gaat deze veelzijdigheid ten koste van een prijs. Het doel van speciale hardware, zoals netwerkkaarten en videoadapters, is dat zij hun werk doen, zodat de last niet elders ligt. Omdat ze specifiek voor hun taken gebouwd zijn, doen ze dat (waarschijnlijk) beter dan andere componenten die gebouwd zijn met andere doelen in gedachten. Met geëmuleerde hardware, neemt uw general purpose CPU alle verantwoordelijkheid van dedicated hardware op zich.

Takeaway van deze sectie: VirtualBox werkt met een breder scala aan hardware op een breder scala aan systemen ten koste van prestatie-beïnvloedende overhead.

Hyper-V vs. VirtualBox: Resource Priority

Omdat VirtualBox alleen draait binnen het hardware-geïnstalleerde besturingssysteem, is het overgeleverd aan de scheduler van dat besturingssysteem. Een van de redenen waarom ik de typische discussie over CPU-ringen heb overgeslagen, is dat VirtualBox dit dialoogvenster bevat:

VirtualBox Acceleration Settings

VirtualBox Acceleration Settings

Wat dat betekent, is dat VirtualBox toegang heeft tot dezelfde mogelijkheden die veel mensen alleen associëren met CPU-ring -1 en de virtuele machine monitor extensies die worden gebruikt door “echte” type 1 hypervisors.

Echter, VirtualBox is nog steeds gebonden aan beperkingen die worden opgelegd door het hardware-geïnstalleerde besturingssysteem. Als je een op hol geslagen Flash spel hebt dat geheugen en CPU van je hardware-geïnstalleerde OS opslokt, kan en zal het OS de prestaties van je VirtualBox virtuele machines laten lijden in elke mate die het maar wil. Als het erop aankomt, kun je Task Manager gebruiken om elk VirtualBox proces of guest te doden.

In tegenstelling hiermee, biedt Client Hyper-V dezelfde prioriteitscontroles als zijn server-gebaseerde grote broer. U kunt CPU en geheugen prioriteren, opslag Quality of Service inschakelen en netwerkbandbreedtebeperkingen instellen voor al uw virtuele machines.

Wat u van deze sectie kunt leren: Client Hyper-V verleent fijnkorrelige controle over resourceprioritering; VirtualBox doet dat niet.

Hyper-V vs. VirtualBox: Video Acceleration

Deze sectie is een beetje anders dan de voorgaande discussie omdat niets hier universeel waar zal zijn. Ik zal vertellen hoe verschillen in de twee hypervisors mijn ervaringen beïnvloedden. Uw ervaring kan variëren.

Zowel Client Hyper-V als VirtualBox emuleren video. In mijn ervaringen heb ik niet kunnen onderscheiden dat de een beter is dan de ander als het gaat om 2D-versnelling. Ik geloof niet dat ik veel 2D-versnelling vraag, maar ik weet ook dat de meeste moderne desktop besturingssystemen 2D-versnelling gebruiken op manieren die niet altijd duidelijk zijn totdat ze niet beschikbaar zijn. Twee belangrijke voorbeelden zijn font smoothing en venster animaties. Onder het uitdrukkelijke voorbehoud dat uw ervaring kan variëren, geloof ik niet dat 2D-versnelling sterk in het voordeel van een van beide hypervisors zou moeten spelen.

3D-versnelling is een ander verhaal. Client Hyper-V biedt RemoteFX. Ik heb geëxperimenteerd met RemoteFX en het werkt heel goed binnen de grenzen van waarvoor het is ontworpen. RemoteFX projecteert de video-adapter niet in het gast-besturingssysteem, zodat u geen toegang hebt tot al zijn functionaliteit. RemoteFX heeft ook gewerkt op elk systeem waarmee ik het ooit heb geprobeerd te gebruiken, zolang het de vereiste 3D-versnelde WDDM-compatibele driver bevatte.

3D versnelling in VirtualBox is een heel ander verhaal. Ik ben er totaal niet in geslaagd om het ooit goed genoeg te laten werken om zelfs maar een basis Windows bureaublad goed weer te geven. Ik ben nooit in de buurt gekomen van het uitproberen van 3D versnellingsmogelijkheden. Dus, ik kan u geen zinvolle vergelijkingen tussen de twee geven.

Takeway van deze sectie: 2D versnelling lijkt een wassen neus te zijn tussen de twee. 3D-versnelling lijkt betrouwbaarder in Client Hyper-V.

Hyper-V Vs. VirtualBox: Virtual Hard Disk Compatibility

VirtualBox ondersteunt verschillende virtuele harde schijf formaten. U kunt kiezen uit:

  • VDI, het native VirtualBox-formaat
  • VMDK, VMware’s formaat
  • VHD, Microsoft’s formaat
  • HDD, Parallel’s formaat
  • QED en QCOW, gebruikt in QEMU en andere hypervisors

U kunt VHDX niet gebruiken met VirtualBox. De mogelijkheid om het schijfformaat van een andere hypervisor te gebruiken, betekent niet noodzakelijkerwijs dat u een virtuele harde schijf ook probleemloos van de ene hypervisor naar de andere kunt overzetten.

Takeaway van deze sectie: dit is bijna algemene informatie, omdat de mogelijkheid om meerdere virtuele harde schijfformaten te gebruiken niet zo nuttig is als het op het eerste gezicht lijkt. Als u van plan bent om te proberen een virtuele harde schijf van het ene platform naar het andere te verplaatsen zonder gebruik te maken van een converter, is VirtualBox uw beste keuze.

Hyper-V vs. VirtualBox: Andere videofuncties

VirtualBox biedt een paar videofuncties waar Client Hyper-V niet direct mee concurreert.

  • Client Hyper-V kan alleen op één monitor of op alle monitoren weergeven. U kunt tussen een en acht monitoren opgeven voor VirtualBox.
  • VirtualBox biedt een servermodus waarmee externe computers verbinding kunnen maken met het hardwarematig geïnstalleerde besturingssysteem om de console van een of meer specifieke gasten te bekijken. Elk eindpunt staat meerdere gelijktijdige verbindingen op afstand toe. Client Hyper-V biedt soortgelijke functionaliteit met vmconnect.exe, maar het is niet zo veelzijdig.
  • VirtualBox kan een video-opname maken van een gast-besturingssysteem.
  • VirtualBox stelt u in staat om een virtuele machine in te stellen op “Seamless” modus. Toepassingen die u in de virtuele machine start, zullen verschijnen en werken alsof ze in het hardware-geïnstalleerde besturingssysteem draaien.

Takeaway van deze sectie: als een van deze functies u aanspreekt, is VirtualBox de enige keuze.

Hyper-V vs. VirtualBox: Source Code Access

VirtualBox is open source software. Als iets je niet bevalt en je denkt dat je het beter kunt, dan moet je dat vooral doen. Als je gewoon wilt weten hoe het werkt, download dan de code set en graaf erin.

Microsoft wordt stilaan warm voor het idee van open source en heeft een groot deel van de code aan de gemeenschap aangeboden. Windows is notoir afwezig. Zoals ik het begrijp, is de Hyper-V code basis zeer nauw gekoppeld aan Windows. Ik betwijfel of we de code van Hyper-V ooit gepubliceerd zullen zien.

Takeaway van deze sectie: als het gebruik van een open source hypervisor belangrijk voor je is, dan diskwalificeert dat Client Hyper-V.

Hyper-V vs. VirtualBox: Gebruikslicentie

Client Hyper-V wordt geleverd als een onderdeel van Windows 10 Professional en Enterprise SKU’s. Als u anderszins een licentie hebt om een van deze te gebruiken, dan hebt u een licentie om Client Hyper-V te gebruiken.

Oracle geeft het huidige kernpakket VirtualBox (versies 5.x+) een licentie onder GPLv2. Ze bieden ook enkele “extensies” onder een aparte licentie genaamd de “VirtualBox Personal Use and Evaluation License”. Ik gebruik geen van deze mogelijkheden persoonlijk, hoewel ze wel enkele van de mogelijkheden omvatten waarover ik het hierboven had. Ik heb me niet verdiept in de voorwaarden van deze licentie, maar hij lijkt vrij genereus te zijn. Zoals altijd, adviseer ik dat u zich laat bijstaan door een juridisch adviseur om al uw vragen over licenties te beantwoorden.

Wat betreft licenties voor gast-besturingssystemen, die zijn een verhaal apart. Noch Client Hyper-V, noch VirtualBox voorzien in enige gast-besturingssysteem licenties. Als u een Windows- of Windows Server-versie installeert in een gastbesturingssysteem onder een van beide hypervisors, moet u de hardware de juiste licentie geven.

Takeaway van dit gedeelte: licenties zijn altijd belangrijk.

Aankoop van Client Hyper-V en VirtualBox

Als u Windows 10 Professional of Enterprise uitvoert, hoeft u alleen de Hyper-V-rol in te schakelen om deze te gaan gebruiken.

VirtualBox is verkrijgbaar via de website van VirtualBox: https://www.virtualbox.org/

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.