Az asztali hipervizorok népszerű technológia a technofilok körében. Mindenféle okunk van arra, hogy használjuk őket. Néhányunknak szükségük van arra, hogy teszteljük a mások által írt szoftvert, hogy lássuk, jó-e. Néhányunknak az általunk írt szoftvert kell tesztelnie, hogy lássuk, jó-e. Néha a tevékenységet egy ideiglenes környezetre kell korlátozni. Máskor csak az elsődleges környezetünket akarjuk megóvni egy invazív telepítő program karmaitól. Egyszerű okokat találni arra, hogy miért használjunk asztali hipervizort. Annak eldöntése, hogy melyik asztali hipervizort használjuk, bonyolultabb lehet. Ebben a cikkben összehasonlítjuk és szembeállítjuk a Microsoft Client Hyper-V-t és az Oracle VirtualBox-ot.
Download Altaro VM Backup
Kezdés az ingyenes 30.30 napos Altaro VM Backup próbaverzióját még ma, és nézze meg, miért bízik benne világszerte több mint 40 000 szervezet. Kezdje el most, és futtassa az első biztonsági mentést kevesebb mint 15 perc alatt!
Szokás szerint nem mondom meg az embereknek, hogy melyik terméket használják. Úgy vélem, hogy azt kell választania, ami a legjobban megfelel az igényeinek. Ha semmi sem áll rendelkezésre, ami tökéletesen illeszkedik, keverje, amíg a lehető legközelebb nem kerül hozzá. Nem szeretem, ha az emberek először kiválasztják a terméket, és aztán kényelmes indokokkal dobálóznak a választásukhoz. Két gyakori példa erre: “Még senkit sem rúgtak ki azért, mert IBM-et vásárolt”, vagy “Ez a termék a legnépszerűbb”. Az én célom itt nem az, hogy megmondjam, melyik termék a jobb, hanem az, hogy tájékozott döntéshez vezessem Önt. Ez a döntés lehet, hogy mindkét hypervisor használata.
- Client Hyper-V és VirtualBox: A Technology Overview
- Nem egymás típusa
- Hypervisor Startup Process: Oracle VirtualBox
- Hypervisor Startup Process: A fizikai számítógép elindul A fizikai számítógép boot rendszere (BIOS vagy UEFI) átadja az irányítást a Hyper-V-nek A Hyper-V elindítja a kezelő operációs rendszert. A kezelő operációs rendszer csak Windows, Windows Server vagy Hyper-V Server lehet A Hyper-V automatikus beállítások vagy kézi felhasználói (azaz Ön) utasítások hatására partíciókat hoz létre a virtuális gépek számára
- A típuskülönbségek jelentősége
- Hyper-V vs. VirtualBox:
- Hyper-V vs. VirtualBox: Hardveres bemutatás
- Hyper-V vs. VirtualBox: Erőforrásprioritás
- Hyper-V vs. VirtualBox: Videógyorsítás
- Hyper-V vs. VirtualBox: Virtuális merevlemez kompatibilitás
- Hyper-V vs. VirtualBox: Egyéb videofunkciók
- Hyper-V vs. VirtualBox: Forráskód-hozzáférés
- Hyper-V vs. VirtualBox: Használati licenc
- A Client Hyper-V és a VirtualBox beszerzése
Client Hyper-V és VirtualBox: A Technology Overview
Mindannyian technológiai emberek vagyunk, ezért kezdjük azzal, hogy technológiai szempontból vizsgáljuk meg ezt a két hypervisort.
Nem egymás típusa
A két termék közötti legnyilvánvalóbb különbség az, hogy a Client Hyper-V egy 1-es típusú hypervisor, a VirtualBox pedig egy 2-es típusú hypervisor. Nos, minden alkalommal, amikor azt mondom, hogy “a Hyper-V egy 1-es típusú hypervisor”, majd megpróbálom elmagyarázni, hogy mi is az az 1-es típusú hypervisor, mindig kapok legalább néhány megjegyzést, amelyek azt mondják, hogy a leírásom teljesen rossz, és hogy “a Hyper-V az…”, majd a kommentelő folytatja, hogy a Hyper-V-t 2-es típusú hypervisorként írja le. Vagy a magyarázataim nem túl jók, vagy az emberek egyszerűen nem hiszik el, hogy a Hyper-V egy 1-es típusú hypervisor. Remélem, hogy a legnagyobb része ennek az, hogy az 1-es és 2-es típus közötti határvonal közel sem olyan szilárd, mint ahogyan azt egyesek elhitetik, és ezért ezek a kommentelők egyszerűen másképp látják a dolgokat.
Mindenesetre megpróbálkozom egy új módszerrel az 1-es típus vs. 2-es típus magyarázatára, de erre a kontextusra korlátozva.
Hypervisor Startup Process: Oracle VirtualBox
Azzal kezdem, hogy elmagyarázom, hogyan indul a VirtualBox. Ez egy 2-es típusú hypervisor, és a legkönnyebben érthető.
- A fizikai számítógép elindul
- A fizikai számítógép boot rendszere (BIOS vagy UEFI) átadja az irányítást a hardverre telepített operációs rendszernek. A VirtualBox esetében ez lehet Windows, Linux, OSX vagy Solaris
- A felhasználó (azaz Ön) elindítja a VirtualBox alkalmazást.
- A felhasználó (azaz Ön) kiválasztja, hogy melyik virtuális gép(ek) induljanak. A VirtualBox létrehozza a vendéglátó folyamatokat
Egyszerű, nem?
Hypervisor Startup Process:
- A fizikai számítógép elindul
- A fizikai számítógép boot rendszere (BIOS vagy UEFI) átadja az irányítást a Hyper-V-nek
- A Hyper-V elindítja a kezelő operációs rendszert. A kezelő operációs rendszer csak Windows, Windows Server vagy Hyper-V Server lehet
- A Hyper-V automatikus beállítások vagy kézi felhasználói (azaz Ön) utasítások hatására partíciókat hoz létre a virtuális gépek számára
A különböző 1-es és 2-es típusú hypervisorok eltérő módon valósítják meg céljaikat, ezért nem tudok csak néhány általános megállapítást tenni és elsétálni. Vessünk egy pillantást néhány általános különbségre.
A típuskülönbségek jelentősége
Az 1-es és 2-es típusú hypervisorok közötti különbségekről rengeteg írásos anyagot találhatunk. A modern hardverek, virtualizációs szoftverek és operációs rendszerek képességeinek fényében a legtöbb ilyen anyag értéke megkérdőjelezhető. Átugrom a megkérdőjelezhető részeket, és csak azzal foglalkozom, amit ellenőrizni tudunk.
Ez a vita szempontjából a legfontosabb különbség az 1-es és 2-es típus között az, hogy az 1-es típusú hipervizor mindig be van kapcsolva. A Client Hyper-V “leállításának” egyetlen módja a számítógép kikapcsolása vagy a szerepkör eltávolítása. Persze, leállíthatod a “Hyper-V Virtual Machine Management” szolgáltatást, de az nem Hyper-V. Ez egy menedzsment szolgáltatás. Gondolom, ezért adták neki ezt a nevet. A leállítása megakadályozza a virtuális gépek kezelését, de nem befolyásolja a virtuális gépeket vagy a hypervisort. A Hyper-V-t nem láthatod a kezelő operációs rendszerben turkálva.
A VirtualBox viszont tetszés szerint nyitható és zárható. A VirtualBox alkalmazást, annak szolgáltatását és virtuális gépeit a kezelő operációs rendszer Feladatkezelőjében találhatja meg. Ha bezárja a fő felületet, minden aktív virtuális gép tovább fut, mivel a VirtualBox a memóriában hagyja a hipervizor kernelét. Ha leállítja az utolsó VirtualBox virtuális gépet, akkor nincs több VirtualBox. Újra kell indítania ahhoz, hogy bármelyik virtuális gép futni tudjon.
A kliens Hyper-V és a VirtualBox típuskülönbségének több következménye is van:
- A Client Hyper-V kezelő operációs rendszere vCPU-t használ, mint a virtuális gépek
- A Hyper-V teljesítményszámlálóit kell használnia ahhoz, hogy bármit is lásson a Client Hyper-V erőforrás-felhasználásáról, és ez nem árul el mindent
- A hardver hozzárendelése másképp működik
- Az erőforrások prioritása másképp működik
Hyper-V vs. VirtualBox:
Amikor olvasom a panaszokat a Client Hyper-V-vel kapcsolatban, a hardverproblémák rögtön a halom tetejére ugranak. Elkerülhetetlenül a VirtualBox, a VMware Workstation/Player és más 2. típusú hypervisorok összehasonlítása következik. A panaszosok ritkán mulasztják el megemlíteni, hogy az eszközproblémák szinte egyáltalán nem léteznek ezekben a termékekben. A probléma gyökere egyenesen a hypervisor típusához vezet.
Amikor a VirtualBox (vagy bármely más 2. típusú hypervisor) létrehoz egy virtuális gépet, annak konténere a kezelő operációs rendszeren belül fut, ahol az alkalmazások élnek. A többi alkalmazáshoz hasonlóan ezek sem rendelkeznek közvetlen hardver-hozzáféréssel, hanem az operációs rendszeren keresztül kell kérniük az eszközhöz való hozzáférést.
Nézzük például a Windows 10-es asztali gépem hanghardver-kiosztását:
Sound Hardware Allocation
Több hanghardver-eszközöm és több alkalmazásom van. Minden hardverelérés és hozzárendelés az operációs rendszeren keresztül történik. Megjegyzés: A fentiek csak illusztrációs célokat szolgálnak. A hangkeverőt nem használja a VirtualBox vendégek hanghardverhez való csatlakoztatására.
A VirtualBox vendég bekapcsolásakor tehát az alkalmazáskonténerével kérhet hozzáférést a hardverhez.
Most gondoljon a Hyper-V kliensre. A kezelő operációs rendszer a vendég operációs rendszerektől elkülönített saját partícióban fut. A VirtualBox-szal ellentétben a Client Hyper-V vendég operációs rendszereinek nincs vetülete a kezelő operációs rendszerre. Nem tudják csak úgy meghívni a kezelő operációs rendszer API-ját, mint a VirtualBox vendégei, mert nem érhetik el azt. A Client Hyper-V-ben vannak olyan funkciók, amelyek segíthetnek ennek a különbségnek a kezelésében, de mindez a hypervisor-technológiák alapvető különbségeiből fakad.
Takeaway from this section: Ha USB-csatlakoztatott hardvert és külső lemezeket szeretne használni a virtuális vendéggépeivel, akkor a VirtualBox-szal könnyebb dolga lesz.
Hyper-V vs. VirtualBox: Hardveres bemutatás
Ez a szakasz erősen kapcsolódik az előző szakaszhoz. Ha a VirtualBoxban átlapozza egy virtuális gép beállítási lapjait, sok olyan dolgot fog találni, amit a Hyper-V-ben nem fog látni. Döntenie kell a PIIX3 vagy az ICH9 lapkakészlet között. Választania kell egy Intel hangvezérlő, egy ICH AC97 hangvezérlő és egy SoundBlaster 16 hangvezérlő között. Ha engedélyezi, hogy egy virtuális gép USB-vezérlővel rendelkezzen, akkor 1.1-es, 2.0-s vagy 3.0-s eszköz közül kell választania. A Hyper-V nem kér ilyen választást.
A különbség itt is az egész 1-es és 2-es típusú vitához kapcsolódik. A 2. típusú hypervisorokat úgy tervezték, hogy sokkal szélesebb körű környezetekben fussanak, ami számos problémát jelent. Ezeknek a problémáknak a kezelésére a 2. típusú hypervisorok széleskörűen használják az emulációt. Emulációról akkor beszélünk, amikor egy szoftverkonstrukció egy hardvereszköz interfészeit utánozza. A VirtualBox emulálja mindazokat a dolgokat, amelyeket az előző bekezdésben felsoroltam, és még többet is. A kliens Hyper-V nagyon keveset emulál – a legjelentősebbek az IDE-vezérlő és a hagyományos hálózati adapter.
Az emuláció megoldja a széleskörű alkalmazhatóság problémáit. Mint elképzelhető, ennek a sokoldalúságnak ára van. A speciális hardverek, például a hálózati kártyák és a videoadapterek teljes célja az, hogy a saját munkaterhelésükkel megbirkózzanak, hogy a teher ne másra háruljon. Mivel kifejezetten a feladatukhoz készültek, (vélhetően) jobban teljesítenek, mint a más célokra épített komponensek. Az emulált hardverrel az általános célú CPU átveszi a dedikált hardverek összes felelősségét.
Az ebből a szakaszból levonható tanulság: A VirtualBox a hardverek szélesebb körével működik a rendszerek szélesebb körén, a teljesítményt befolyásoló többletköltségek rovására.
Hyper-V vs. VirtualBox: Erőforrásprioritás
Mivel a VirtualBox csak a hardveren telepített operációs rendszeren belül fut, ki van szolgáltatva az operációs rendszer ütemezőjének. Az egyik ok, amiért kihagytam a CPU-gyűrűkről szóló tipikus vitát, az az, hogy a VirtualBox tartalmazza ezt a párbeszédpanelt:
VirtualBox gyorsítási beállítások
Ez azt jelenti, hogy a VirtualBox hozzáférhet ugyanazokhoz a funkciókhoz, amelyeket sokan csak a CPU-gyűrű -1 és az “igazi” 1-es típusú hypervisorok által használt virtuális gép monitor kiterjesztésekhez társítanak.
A VirtualBoxot azonban továbbra is kötik a hardveresen telepített operációs rendszer által előírt korlátozások. Ha a hardveresen telepített operációs rendszerben egy futó Flash-játék szívja a memóriát és a CPU-t, akkor az operációs rendszer a VirtualBox virtuális gépeinek teljesítményét tetszőleges mértékben károsíthatja és károsítani is fogja. Ha a helyzet úgy hozza, a Feladatkezelő segítségével bármely VirtualBox-folyamatot vagy vendéget megölhet.
Ezzel szemben a Client Hyper-V ugyanazokat a prioritás-szabályozó vezérlőket biztosítja, mint a kiszolgálóalapú nagytestvére. Prioritást adhat a CPU-nak és a memóriának, engedélyezheti a tárolási szolgáltatásminőséget, és hálózati sávszélesség-korlátozást állíthat be az összes virtuális gép számára.
Az ebből a szakaszból levonható tanulságok: A kliens Hyper-V finom irányítást biztosít az erőforrások priorizálása felett; a VirtualBox nem.
Hyper-V vs. VirtualBox: Videógyorsítás
Ez a szakasz egy kicsit eltér az előző tárgyalástól, mert itt semmi sem lesz általánosan igaz. Elmondom, hogy a két hypervisor közötti különbségek hogyan befolyásolták a tapasztalataimat. Az Ön mérföldkövei eltérőek lehetnek.
A kliens Hyper-V és a VirtualBox is emulálja a videót. Tapasztalataim szerint nem tudtam megkülönböztetni, hogy az egyik jobb lenne a másiknál, ha 2D gyorsításról van szó. Nem hiszem, hogy sokat kérek a 2D gyorsítástól, de azt is tudom, hogy a legtöbb modern asztali operációs rendszer olyan módon használja a 2D gyorsítást, amely nem mindig nyilvánvaló, amíg nem áll rendelkezésre. Két kiváló példa erre a betűtípusok simítása és az ablakanimációk. Azzal a kifejezett fenntartással, hogy a mérföldek száma változhat, nem hiszem, hogy a 2D-s gyorsításnak erőteljes tényezőnek kellene lennie egyik hypervisor javára sem.
A 3D-s gyorsítás egy másik történet. A kliens Hyper-V RemoteFX-et kínál. Az én kísérletezéseim során nagyon jól működik a kereteken belül, amire tervezték. A RemoteFX nem vetíti a videoadaptert a vendég operációs rendszerbe, így nem lehet hozzáférni az összes funkciójához. A RemoteFX is működött minden olyan rendszeren, amellyel valaha is megpróbáltam használni, amennyiben tartalmazta a szükséges 3D-gyorsító WDDM-kompatibilis illesztőprogramot.
A 3D-gyorsítás a VirtualBoxban teljesen más tészta. Teljesen sikertelenül értem el, hogy valaha is elég jól működjön ahhoz, hogy még egy alapvető Windows-asztalt is megfelelően megjelenítsen. Soha nem jutottam közel ahhoz, hogy kipróbáljak bármilyen 3D gyorsítási funkciót. Így nem tudok érdemi összehasonlítást adni a kettő között.
Ez a szakasz tanulsága: A 2D gyorsítás úgy tűnik, hogy a kettő között nincs különbség. A 3D gyorsítás megbízhatóbbnak tűnik a Client Hyper-V-ben.
Hyper-V vs. VirtualBox: Virtuális merevlemez kompatibilitás
A VirtualBox több virtuális merevlemez formátumot is támogat. Választhat:
- VDI, a natív VirtualBox formátum
- VMDK, VMware formátum
- VHD, Microsoft formátum
- HDD, Parallel formátum
- QED és QCOW, amelyet a QEMU és más hypervisorok használnak
A VHDX-et nem használhatja a VirtualBox-szal. A más hypervisor lemezformátumának használatának képessége nem feltétlenül jelenti azt sem, hogy egy virtuális merevlemezt zökkenőmentesen át lehet majd helyezni egyik hypervisorról a másikra.
Mondjuk ki ebből a szakaszból: ez szinte általános információ, mert a több virtuális merevlemez formátum használatának képessége nem olyan hasznos, mint amilyennek elsőre tűnik. Ha azt tervezi, hogy megpróbál egy virtuális merevlemezt egyik platformról a másikra áthelyezni átalakító alkalmazása nélkül, akkor a VirtualBox a legjobb választás.
Hyper-V vs. VirtualBox: Egyéb videofunkciók
A VirtualBox néhány olyan videofunkciót biztosít, amelyekkel a Client Hyper-V közvetlenül nem versenyez.
- A Client Hyper-V csak egy monitoron vagy az összes monitoron képes megjeleníteni. A VirtualBox számára egy és nyolc monitor között adható meg.
- A VirtualBox kiszolgáló üzemmódot biztosít, amely lehetővé teszi, hogy távoli számítógépek csatlakozzanak a hardveresen telepített operációs rendszerhez, hogy egy vagy több meghatározott vendég konzolját megtekinthessék. Minden végpont több egyidejű távoli kapcsolatot tesz lehetővé. A Hyper-V kliens hasonló funkciót biztosít a vmconnect segítségével.exe, de nem olyan sokoldalú.
- A VirtualBox képes videofelvételt készíteni a vendég operációs rendszerről.
- A VirtualBox lehetővé teszi, hogy a virtuális gépet “zökkenőmentes” módba állítsa. A virtuális gépben indított alkalmazások úgy fognak megjelenni és működni, mintha a hardveresen telepített operációs rendszerben futnának.
Ez a szakasz tanulsága: Ha ezek közül a funkciók közül bármelyik vonzó az Ön számára, a VirtualBox az egyetlen választás.
Hyper-V vs. VirtualBox: Forráskód-hozzáférés
A VirtualBox nyílt forráskódú szoftver. Ha valami nem tetszik, és úgy gondolja, hogy jobbat is tud, tegye meg. Ha csak tudni akarja, hogyan működik, töltse le a kódkészletet, és ássa bele magát.
A Microsoft fokozatosan melegszik a nyílt forráskód fogalmához, és rengeteg kódot bocsátott a közösség rendelkezésére. A Windows közismerten hiányzik. Ha jól tudom, a Hyper-V kódbázis nagyon szorosan a Windowshoz van kötve. Kétlem, hogy valaha is látni fogjuk a Hyper-V kódjának közzétételét.
Takeaway from this section: ha fontos számodra a nyílt forráskódú hypervisor használata, akkor ez kizárja a Client Hyper-V-t.
Hyper-V vs. VirtualBox: Használati licenc
A Client Hyper-V a Windows 10 Professional és Enterprise SKU-k összetevőjeként kerül szállításra. Ha egyébként ezek valamelyikének használatára van engedélye, akkor a Client Hyper-V használatára van engedélye.
Oracle a jelenlegi VirtualBox alapcsomagot (5.x+ verziók) GPLv2 licenc alatt engedélyezi. Emellett néhány “bővítményt” is biztosítanak egy külön licenc, a “VirtualBox Personal Use and Evaluation License” alatt. Én személyesen nem használom ezek közül egyiket sem, bár ezek tartalmaznak néhányat a fent említett funkciók közül. Nem néztem bele mélyen ennek a licencnek a feltételeibe, de úgy tűnik, hogy meglehetősen nagyvonalú. Mint mindig, most is azt javaslom, hogy képzett jogi tanácsadót bízzon meg bármilyen licencelési kérdéssel.
A vendég operációs rendszerek licenceit illetően, azok egy külön történet. Sem a Client Hyper-V, sem a VirtualBox nem biztosít vendég operációs rendszerlicenceket. Ha a Windows vagy a Windows Server bármelyik ízét telepíti vendég operációs rendszerbe bármelyik hypervisor alatt, akkor megfelelően licencelni kell a hardvert.
Az ebből a szakaszból levonható tanulság: a licencelés mindig fontos.
A Client Hyper-V és a VirtualBox beszerzése
Ha Windows 10 Professional vagy Enterprise rendszert használ, akkor csak a Hyper-V szerepet kell engedélyeznie ahhoz, hogy használni kezdje.
A VirtualBox a saját weboldaláról érhető el: https://www.virtualbox.org/