Desktop hypervisors er en populær teknologi blandt teknofile. Vi har alle mulige grunde til at bruge dem. Nogle af os har brug for at teste software, som andre mennesker har skrevet for at se, om det er godt. Nogle af os har brug for at teste software, som vi selv har skrevet, for at se, om det er godt. Nogle gange har vi brug for at begrænse aktiviteten til et midlertidigt miljø. Andre gange ønsker vi blot at holde vores primære miljø ude af et invasivt installationsprograms kløer. Det er nemt at finde på grunde til at bruge en desktophypervisor. Det kan være vanskeligere at beslutte, hvilken desktop-hypervisor der skal bruges. Denne artikel vil sammenligne og kontrastere Microsofts Client Hyper-V med Oracles VirtualBox.
Download Altaro VM Backup
Start din gratis 30-dages prøveversion af Altaro VM Backup i dag og se, hvorfor over 40 000+ organisationer verden over stoler på det. Kom i gang nu og kør din første backup på under 15 minutter!
Som regel fortæller jeg ikke folk, hvilket produkt de skal bruge. Jeg mener, at man skal vælge det, der passer bedst til ens behov. Hvis der ikke findes noget, der passer perfekt, skal du blande og matche, indtil du kommer så tæt på, som du kan. Jeg bryder mig ikke om, når folk vælger deres produkt først og derefter kaster med bekvemme begrundelser for dette valg. To almindelige eksempler er: “Ingen er nogensinde blevet fyret for at købe IBM”, og “Dette produkt er det mest populære”. Mit formål her er ikke at diktere, hvilket produkt der er bedst, men at vejlede dig til at træffe en informeret beslutning. Denne beslutning kan være at bruge begge hypervisors.
- Client Hyper-V og VirtualBox: En teknologisk oversigt
- De er ikke hinandens typer
- Hypervisor Startup Process: Oracle VirtualBox
- Hypervisor Startup Process: Client Hyper-V
- Vigtigheden af typeforskelle
- Hyper-V vs. VirtualBox: Hardwareadgang
- Hyper-V vs. VirtualBox: Hardwarepræsentation
- Hyper-V vs. VirtualBox: Ressourceprioritet
- Hyper-V vs. VirtualBox: Videoacceleration
- Hyper-V Vs. VirtualBox: Kompatibilitet med virtuelle harddiske
- Hyper-V vs. VirtualBox: Andre videofunktioner
- Hyper-V vs. VirtualBox: Adgang til kildekode
- Hyper-V vs. VirtualBox: Brugslicens
- Køb af Client Hyper-V og VirtualBox
Client Hyper-V og VirtualBox: En teknologisk oversigt
Vi er alle teknologimennesker her, så lad os begynde med at se på disse to hypervisorer ud fra et teknologisk synspunkt.
De er ikke hinandens typer
Den mest indlysende forskel mellem de to produkter er, at Client Hyper-V er en type 1-hypervisor, og VirtualBox er en type 2-hypervisor. Hver gang jeg siger “Hyper-V er en type 1-hypervisor” og derefter forsøger at forklare, hvad en type 1-hypervisor er, får jeg uvægerligt mindst et par kommentarer, der fortæller mig, at min beskrivelse er helt forkert, og at “Hyper-V er…”, og derefter fortsætter kommentatoren med at beskrive Hyper-V som en type 2-hypervisor. Enten er mine forklaringer ikke særlig gode, eller også tror folk bare ikke på, at Hyper-V er en type 1-hypervisor. Jeg håber, at den største del af det er, at grænsen mellem type 1 og type 2 ikke er nær så fast, som nogle mennesker vil have dig til at tro, og derfor ser disse kommentatorer bare tingene anderledes.
Som helst vil jeg forsøge mig med en ny metode til at forklare type 1 vs. type 2, men begrænse den til denne sammenhæng.
Hypervisor Startup Process: Oracle VirtualBox
Jeg vil starte med at forklare, hvordan VirtualBox startes. Det er en type 2-hypervisor og den nemmeste at forstå.
- Den fysiske computer startes
- Den fysiske computers opstartssystem (BIOS eller UEFI) overdrager kontrollen til det operativsystem, der er installeret på hardwaren. For VirtualBox kan det være Windows, Linux, OSX eller Solaris
- Brugeren (det er dig) starter VirtualBox-programmet.
- Brugeren (det er dig) vælger, hvilke(n) virtuelle maskine(r) der skal startes. VirtualBox spawner hostingprocesser
Enkel, ikke sandt?
Hypervisor Startup Process: Client Hyper-V
Som type 1-hypervisor er Client Hyper-V’s opstartsrutine helt anderledes end VirtualBox’s på et grundlæggende niveau.
- Den fysiske computer startes
- Den fysiske computers opstartssystem (BIOS eller UEFI) overdrager kontrollen til Hyper-V
- Hyper-V starter styringsoperativsystemet. Forvaltningsoperativsystemet kan kun være Windows, Windows Server eller Hyper-V Server
- Som svar på automatiske indstillinger eller manuelle brugerinstruktioner (det er dig), skaber Hyper-V partitioner til virtuelle maskiner
Der er variationer i den måde, hvorpå forskellige type 1- og type 2-hypervisorer opnår deres mål, så jeg kan ikke bare komme med et par generelle udsagn og gå min vej. Vi vil se på nogle af de generiske forskelle.
Vigtigheden af typeforskelle
Du kan finde en masse skriftligt materiale om forskellene mellem type 1- og type 2-hypervisorer. I lyset af mulighederne i moderne hardware, virtualiseringssoftware og styresystemer er det meste af dette materiale af tvivlsom værdi. Jeg vil springe de tvivlsomme dele over og kun beskæftige mig med det, vi kan verificere.
For denne diskussion er den vigtigste forskel mellem type 1 og 2, at en hypervisor af type 1 altid er tændt. Den eneste måde at “stoppe” Client Hyper-V på er ved at slukke computeren eller fjerne rollen. Selvfølgelig kan du stoppe tjenesten “Hyper-V Virtual Machine Management”, men det er ikke Hyper-V. Det er en administrationstjeneste. Jeg gætter på, at det er derfor, de har givet den netop det navn. Hvis du stopper den, kan du ikke administrere nogen af de virtuelle maskiner, men det påvirker ikke de virtuelle maskiner eller hypervisoren. Du kan ikke se Hyper-V ved at snage i styringsoperativsystemet.
På den anden side kan VirtualBox åbnes og lukkes efter behag. Du kan finde VirtualBox-programmet, dets tjeneste og dets virtuelle maskiner i administrationsoperativsystemets Task Manager. Hvis du lukker hovedgrænsefladen, vil alle aktive virtuelle maskiner fortsætte med at køre, fordi VirtualBox efterlader sin hypervisor-kerne i hukommelsen. Hvis du stopper den sidste virtuelle VirtualBox-maskine, er der ikke mere VirtualBox. Du skal starte den igen for at få alle virtuelle maskiner til at køre.
Typeforskellene mellem Client Hyper-V og VirtualBox har flere konsekvenser:
- Client Hyper-V’s styresystem bruger vCPU ligesom de virtuelle maskiner
- Du skal bruge Hyper-V ydelsestællere for at se noget om Client Hyper-V’s ressourceforbrug, og det fortæller ikke hele historien
- Hardwaretildeling fungerer anderledes
- Ressourceprioritering fungerer anderledes
Hyper-V vs. VirtualBox: Hardwareadgang
Når jeg læser klagerne over Client Hyper-V, springer hardwareproblemer lige til tops i bunken. Det er uundgåeligt, at der foretages sammenligninger med VirtualBox, VMware Workstation/Player og andre type 2-hypervisorer. Klagerne undlader sjældent at nævne, at enhedsproblemer er næsten ikke-eksisterende i disse produkter. Problemets rod ligger lige i hypervisortypen.
Når VirtualBox (eller enhver anden type 2-hypervisor) skaber en virtuel maskine, kører dens container inde i det styringsoperativsystem, hvor programmerne bor. Ligesom andre programmer har de ikke direkte hardwareadgang; de skal anmode om enhedsadgang via operativsystemet.
Lad os f.eks. se på min Windows 10-skrivebordets tildeling af min lydhardware:
Lydhardwaretildeling
Jeg har flere lydhardwareenheder og flere programmer. Al hardwareadgang og -tildeling sker via operativsystemet. Bemærk: Ovenstående er kun til illustrative formål. Du bruger ikke Volume Mixer til at forbinde VirtualBox-gæster til lydhardware.
Så, når du tænder en VirtualBox-gæst, kan du bruge dens programcontainer til at anmode om adgang til hardware.
Tænk nu på Client Hyper-V. Administrationsoperativsystemet kører i sin egen partition adskilt fra gæstestyresystemerne. I modsætning til VirtualBox har Client Hyper-V’s gæstestyresystemer ikke nogen projektion ind i forvaltningsoperativsystemet. De kan ikke bare kalde API’et i management-operativsystemet på samme måde som VirtualBox-gæsterne kan, fordi de ikke kan nå det. Der er funktioner i Client Hyper-V, der kan hjælpe dig med at løse denne forskel, men det hele skyldes grundlæggende forskelle i hypervisor-teknologierne.
Tag noget med fra dette afsnit: Hvis du ønsker at bruge USB-tilsluttet hardware og eksterne diske med dine virtuelle gæstemaskiner, vil du have det lettere med VirtualBox.
Hyper-V vs. VirtualBox: Hardwarepræsentation
Dette afsnit hænger stærkt sammen med det foregående afsnit. Hvis du bladrer gennem en virtuel maskines indstillingsfaner i VirtualBox, vil du finde en masse ting, som du ikke vil se i Hyper-V. Du skal vælge mellem et PIIX3- eller et ICH9-chipsæt. Du skal vælge mellem en Intel-lydcontroller, en ICH AC97-lydcontroller og en SoundBlaster 16-lydcontroller. Hvis du tillader, at en virtuel maskine har en USB-controller, skal du vælge mellem en 1.1, 2.0 eller 3.0-enhed. Hyper-V beder dig ikke om at træffe sådanne valg.
Den forskel, der er her, hænger også sammen med hele den der diskussion om type 1 vs. type 2. Type 2 hypervisors er designet til at køre i en meget bredere vifte af miljøer, hvilket giver en række problemer. For at løse disse problemer gør type 2 hypervisors udstrakt brug af emulering. Emulering er, når en softwarekonstruktion efterligner grænsefladerne i en hardwareenhed. VirtualBox emulerer alle de ting, som jeg opregnede i det foregående afsnit, og mere til. Client Hyper-V emulerer meget lidt – mest bemærkelsesværdigt er dens IDE-controller og den ældre netværksadapter.
Emulering løser problemerne med udbredt anvendelighed. Som du kan forestille dig, har denne alsidighed en pris. Hele formålet med specialhardware, såsom netværkskort og videoadaptere, er, at de håndterer deres respektive arbejdsbyrder, så byrden ikke falder andre steder. Da de er bygget specifikt til deres opgaver, klarer de det (formodentlig) bedre end andre komponenter, der er bygget med andre mål for øje. Med emuleret hardware overtager din CPU til generelle formål alt det ansvar, som dedikeret hardware har.
Takeaway fra dette afsnit: VirtualBox fungerer med en bredere vifte af hardware på en bredere vifte af systemer på bekostning af ydelsespåvirkende overhead.
Hyper-V vs. VirtualBox: Ressourceprioritet
Da VirtualBox kun kører inden for det hardwareinstallerede styresystem, er den på barmhjertighed af dette styresystems scheduler. En af grundene til, at jeg sprang enhver af de typiske diskussioner om CPU-ringe over, er, at VirtualBox indeholder denne dialogboks:
VirtualBox Acceleration Settings
Det betyder, at VirtualBox kan få adgang til de samme funktioner, som mange mennesker kun forbinder med CPU-ring -1 og de udvidelser af den virtuelle maskinmonitor, der bruges af “ægte” type 1-hypervisorer.
VirtualBox er dog stadig bundet af begrænsninger, der er pålagt af det hardwareinstallerede styresystem. Hvis du har et Flash-spil, der er ved at løbe løbsk, og som optager hukommelse og CPU i dit hardwareinstallerede operativsystem, kan og vil operativsystemet få dine virtuelle VirtualBox-maskiner til at lide under deres ydeevne i den grad, som det ønsker. Hvis det kommer til stykket, kan du bruge Task Manager til at dræbe enhver VirtualBox-proces eller gæst.
I modsætning hertil giver Client Hyper-V de samme prioriteringskontroller som sin serverbaserede storebror. Du kan prioritere CPU og hukommelse, aktivere lagring Quality of Service og indstille begrænsninger for netværksbåndbredde for alle dine virtuelle maskiner.
Tag noget med fra dette afsnit: Klient Hyper-V giver finkornet kontrol over ressourceprioritering; det gør VirtualBox ikke.
Hyper-V vs. VirtualBox: Videoacceleration
Dette afsnit er en smule anderledes end den foregående diskussion, fordi intet her vil være universelt sandt. Jeg vil fortælle, hvordan forskelle i de to hypervisorer har påvirket mine erfaringer. Din kilometervis kan variere.
Både Client Hyper-V og VirtualBox emulerer video. I mine erfaringer har jeg ikke kunnet skelne mellem, at den ene er bedre end den anden, når det gælder 2D-acceleration. Jeg tror ikke, at jeg spørger meget om 2D-acceleration, men jeg ved også, at de fleste moderne desktop-operativsystemer udnytter 2D-acceleration på måder, der ikke altid er indlysende, før de ikke er tilgængelige. To gode eksempler er udglatning af skrifttyper og vinduesanimationer. Med det udtrykkelige forbehold, at din kilometervis kan variere, mener jeg ikke, at 2D-acceleration bør spille en stor rolle til fordel for nogen af hypervisorerne.
3D-acceleration er en anden historie. Client Hyper-V tilbyder RemoteFX. I mine eksperimenter fungerer det meget godt inden for rammerne af det, det er designet til at gøre. RemoteFX projicerer ikke videoadapteren ind i gæstestyresystemet, så du kan ikke få adgang til alle dens funktioner. RemoteFX har også fungeret på alle systemer, som jeg nogensinde har forsøgt at bruge det med, så længe det indeholdt den nødvendige 3D-accelererede WDDM-kompatible driver.
3D-acceleration i VirtualBox er en helt anden historie. Det er fuldstændig mislykkedes mig nogensinde at få det til at fungere godt nok til at vise selv et grundlæggende Windows-skrivebord ordentligt. Jeg har aldrig været i nærheden af at prøve nogen 3D-accelerationsfunktioner. Så jeg kan ikke give dig nogen meningsfulde sammenligninger mellem de to.
Takeway fra dette afsnit: 2D-acceleration ser ud til at være en vask mellem de to. 3D-acceleration synes mere pålidelig i Client Hyper-V.
Hyper-V Vs. VirtualBox: Kompatibilitet med virtuelle harddiske
VirtualBox understøtter flere formater for virtuelle harddiske. Du kan vælge mellem:
- VDI, det native VirtualBox-format
- VMDK, VMwares format
- VHD, Microsofts format
- HDD, Parallels format
- QED og QCOW, der bruges i QEMU og andre hypervisorer
Du kan ikke bruge VHDX med VirtualBox. Muligheden for at bruge en anden hypervisors diskformat betyder heller ikke nødvendigvis, at du vil være i stand til problemfrit at overføre en virtuel harddisk fra en hypervisor til en anden.
Tag ud af dette afsnit: Dette er næsten generel information, fordi muligheden for at bruge flere formater til virtuelle harddiske ikke er så nyttig, som det umiddelbart kan se ud. Hvis du planlægger at forsøge at flytte en virtuel harddisk fra en platform til en anden uden at anvende en konverter, er VirtualBox dit bedste valg.
Hyper-V vs. VirtualBox: Andre videofunktioner
VirtualBox tilbyder nogle få videofunktioner, som Client Hyper-V ikke direkte konkurrerer med.
- Client Hyper-V kan kun vises på én skærm eller på alle skærme. Du kan angive mellem én og otte skærme til VirtualBox.
- VirtualBox tilbyder en servertilstand, der gør det muligt for fjerncomputere at oprette forbindelse til det hardwareinstallerede operativsystem for at få vist konsollen for en eller flere specifikke gæster. Hvert slutpunkt tillader flere samtidige fjernforbindelser. Klient Hyper-V giver en lignende funktionalitet med vmconnect.exe, men den er ikke så alsidig.
- VirtualBox kan lave en videooptagelse af et gæstestyresystem.
- VirtualBox giver dig mulighed for at indstille en virtuel maskine til “Seamless”-tilstand. Programmer, som du starter i den virtuelle maskine, vises og fungerer som om de kører i det hardwareinstallerede styresystem.
Tag ud af dette afsnit: Hvis nogen af disse funktioner tiltaler dig, er VirtualBox det eneste valg.
Hyper-V vs. VirtualBox: Adgang til kildekode
VirtualBox er open source-software. Hvis du ikke kan lide noget og mener, at du kan gøre det bedre, så værsgo. Hvis du bare gerne vil vide, hvordan det fungerer, så download kodesættet og gå i dybden.
Microsoft er efterhånden ved at varme op for begrebet open source og har indsendt en stor del af koden til fællesskabet. Windows er notorisk fraværende. Som jeg forstår det, er Hyper-V-kodebasen meget tæt koblet til Windows. Jeg tvivler på, at vi nogensinde kommer til at se Hyper-V’s kode offentliggjort.
Takeaway fra dette afsnit: Hvis det er vigtigt for dig at bruge en open source hypervisor, diskvalificerer det Client Hyper-V.
Hyper-V vs. VirtualBox: Brugslicens
Client Hyper-V leveres som en komponent i Windows 10 Professional og Enterprise SKU’er. Hvis du ellers har licens til at bruge en af disse, har du licens til at bruge Client Hyper-V.
Oracle giver licens til den nuværende kernepakke VirtualBox (versioner 5.x+) under GPLv2. De tilbyder også nogle “udvidelser” under en separat licens kaldet “VirtualBox Personal Use and Evaluation License”. Jeg bruger ikke personligt nogen af disse funktioner, selv om de omfatter nogle af de funktioner, som jeg talte om ovenfor. Jeg har ikke gravet dybt ned i vilkårene for denne licens, men den ser ud til at være ret generøs. Som altid anbefaler jeg, at du lader en uddannet juridisk rådgiver besvare alle dine licensspørgsmål.
Så vidt angår licenser til gæstestyresystemer, er det en separat historie. Hverken Client Hyper-V eller VirtualBox giver mulighed for nogen gæstestyresystemlicenser overhovedet. Hvis du installerer en hvilken som helst variant af Windows eller Windows Server i et gæstestyresystem under en af hypervisorerne, skal du have en korrekt licens til hardwaren.
Tag ud af dette afsnit: Licensering er altid vigtig.
Køb af Client Hyper-V og VirtualBox
Hvis du kører Windows 10 Professional eller Enterprise, behøver du kun at aktivere Hyper-V-rollen for at begynde at bruge den.
VirtualBox er tilgængelig fra dets websted: https://www.virtualbox.org/