Hypervizory pro stolní počítače jsou mezi technofily oblíbenou technologií. Máme nejrůznější důvody, proč je používat. Někteří z nás potřebují testovat software, který napsali jiní lidé, aby zjistili, zda je dobrý. Někteří z nás potřebují testovat software, který jsme napsali, abychom zjistili, zda je dobrý. Někdy potřebujeme omezit činnost na dočasné prostředí. Jindy chceme jen udržet naše primární prostředí mimo dosah invazivního instalátoru. Vymyslet důvody pro použití desktopového hypervizoru je jednoduché. Rozhodování o tom, který desktopový hypervisor použít, může být složitější. V tomto článku srovnáme a porovnáme klientský Hyper-V od společnosti Microsoft a VirtualBox od společnosti Oracle.
Stáhněte si Altaro VM Backup
Začněte zdarma 30-ti.denní zkušební verzi Altaro VM Backup ještě dnes a zjistěte, proč mu důvěřuje více než 40 000 organizací po celém světě. Začněte hned a spusťte své první zálohování za méně než 15 minut!
Zpravidla lidem neříkám, který produkt mají používat. Domnívám se, že byste si měli vybrat to, co nejlépe vyhovuje vašim potřebám. Pokud není k dispozici nic, co by dokonale ladilo, kombinujte, dokud se tomu co nejvíce nepřiblížíte. Nemám rád, když si lidé nejprve vyberou svůj produkt a pak předhazují pohodlné zdůvodnění této volby. Dva časté příklady: „Nikdo nikdy nedostal padáka za to, že si koupil IBM“ a „Tento produkt je nejoblíbenější“. Mým cílem zde není diktovat, který produkt je lepší, ale vést vás k informovanému rozhodnutí. Tímto rozhodnutím může být použití obou hypervizorů.
- Klient Hyper-V a VirtualBox: Nejsou každý svého typu
- Nejsou každý svého typu
- Proces spouštění hypervizoru:
- Startovací proces hypervizoru: Fyzický počítač je spuštěn Startovací systém fyzického počítače (BIOS nebo UEFI) předá řízení Hyper-V Hyper-V spustí operační systém pro správu. Operačním systémem pro správu může být pouze systém Windows, Windows Server nebo Hyper-V Server V reakci na automatické nastavení nebo ruční pokyny uživatele (tedy vás) vytváří Hyper-V oddíly pro virtuální počítače
- Důležitost rozdílů typu
- Hyper-V vs. VirtualBox. VirtualBox:
- Hyper-V vs. VirtualBox:
- Hyper-V vs. VirtualBox: Protože VirtualBox běží pouze v rámci hardwarově nainstalovaného operačního systému, je vydán na milost a nemilost plánovači tohoto operačního systému. Jedním z důvodů, proč jsem vynechal jakoukoli typickou diskusi o kroužcích CPU, je to, že VirtualBox obsahuje toto dialogové okno: Nastavení akcelerace VirtualBoxu
- Hyper-V vs. VirtualBox:
- Hyper-V vs. VirtualBox: Virtual Hard Disk Compatibility
- Hyper-V vs. VirtualBox: Klient Hyper-V může zobrazovat pouze na jednom monitoru nebo na všech monitorech. Pro VirtualBox můžete určit jeden až osm monitorů. VirtualBox poskytuje režim serveru, který umožňuje vzdáleným počítačům připojit se k hardwarově nainstalovanému operačnímu systému a zobrazit konzolu jednoho nebo více konkrétních hostů. Každý koncový bod umožňuje několik současných vzdálených připojení. Klient Hyper-V poskytuje podobnou funkci pomocí funkce vmconnect.exe, ale není tak všestranný. VirtualBox umí pořídit videozáznam hostovaného operačního systému. VirtualBox umožňuje nastavit virtuální počítač do režimu „Seamless“. Aplikace, které spustíte ve virtuálním počítači, se budou zobrazovat a pracovat, jako by byly spuštěny v hardwarově nainstalovaném operačním systému.
- Hyper-V vs. VirtualBox: Přístup ke zdrojovému kódu
- Hyper-V vs. VirtualBox:
- Pořízení Client Hyper-V a VirtualBoxu
Klient Hyper-V a VirtualBox:
Nejsou každý svého typu
Nejviditelnějším rozdílem mezi oběma produkty je, že Client Hyper-V je hypervizor typu 1 a VirtualBox je hypervizor typu 2.
Nejsou každý svého typu
. Pokaždé, když řeknu „Hyper-V je hypervizor typu 1“ a pak se pokusím vysvětlit, co je hypervizor typu 1, vždycky dostanu alespoň několik komentářů, které mi řeknou, že můj popis je úplně špatně a že „Hyper-V je…“, a pak komentátor pokračuje v popisu Hyper-V jako hypervizoru typu 2. Vždycky je to tak. Buď nejsou má vysvětlení příliš dobrá, nebo lidé prostě nevěří, že Hyper-V je hypervizor typu 1. Doufám, že největší podíl na tom má to, že hranice mezi typem 1 a typem 2 není zdaleka tak pevná, jak by si někteří lidé mysleli, a proto tito komentátoři prostě vidí věci jinak.
V každém případě se pokusím o novou metodu vysvětlení typu 1 vs. typu 2, ale omezím ji na tento kontext.
Proces spouštění hypervizoru:
Začnu tím, že vysvětlím, jak se VirtualBox spouští. Jedná se o hypervizor typu 2 a je nejjednodušší jej pochopit.
- Fyzický počítač je spuštěn
- Startovací systém fyzického počítače (BIOS nebo UEFI) předá řízení operačnímu systému nainstalovanému na hardware. V případě VirtualBoxu to může být Windows, Linux, OSX nebo Solaris
- Uživatel (tedy vy) spustí aplikaci VirtualBox.
- Uživatel (tedy vy) vybere, které virtuální počítače se mají spustit. VirtualBox spouští hostitelské procesy
Jednoduché, že?
Startovací proces hypervizoru:
- Fyzický počítač je spuštěn
- Startovací systém fyzického počítače (BIOS nebo UEFI) předá řízení Hyper-V
- Hyper-V spustí operační systém pro správu. Operačním systémem pro správu může být pouze systém Windows, Windows Server nebo Hyper-V Server
- V reakci na automatické nastavení nebo ruční pokyny uživatele (tedy vás) vytváří Hyper-V oddíly pro virtuální počítače
Ve způsobu, jakým různé hypervizory typu 1 a typu 2 dosahují svých cílů, existují rozdíly, takže nemohu jen učinit několik obecných prohlášení a odejít. Podíváme se na několik obecných rozdílů.
Důležitost rozdílů typu
O rozdílech mezi hypervisory typu 1 a typu 2 můžete najít spoustu písemných materiálů. Vzhledem k možnostem moderního hardwaru, virtualizačního softwaru a operačních systémů má většina tohoto materiálu pochybnou hodnotu. Přeskočím pochybné části a budu se zabývat pouze tím, co můžeme ověřit.
Pro tuto diskusi je nejdůležitějším rozdílem mezi hypervizory typu 1 a 2 to, že hypervizor typu 1 je vždy zapnutý. Jediný způsob, jak „zastavit“ klientský Hyper-V, je vypnout počítač nebo odebrat roli. Jistě, můžete zastavit službu „Správa virtuálních počítačů Hyper-V“, ale to není Hyper-V. Je to služba správy. Hádám, že právě proto jí dali tento konkrétní název. Její zastavení vám zabrání ve správě jakéhokoli virtuálního počítače, ale nemá vliv na virtuální počítače ani na hypervizor. Do Hyper-V se nemůžete podívat tak, že se prohrabete operačním systémem pro správu.
Na druhou stranu lze VirtualBox libovolně otevírat a zavírat. Aplikaci VirtualBox, její službu a virtuální počítače můžete najít ve Správci úloh operačního systému pro správu. Pokud zavřete hlavní rozhraní, všechny aktivní virtuální počítače poběží dál, protože VirtualBox ponechá své jádro hypervizoru v paměti. Pokud zastavíte poslední virtuální počítač VirtualBox, pak již žádný VirtualBox nebude existovat. Budete jej muset znovu spustit, aby se všechny virtuální stroje spustily.
Rozdílnost typů klientů Hyper-V a VirtualBox má několik důsledků:
- Správcovský operační systém klienta Hyper-V používá vCPU stejně jako virtuální počítače
- Chcete-li něco zjistit o využití prostředků klienta Hyper-V, musíte použít čítače výkonu Hyper-V, které nevypovídají o celé situaci
- Přiřazení hardwaru funguje jinak
- Priorita prostředků funguje jinak
Hyper-V vs. VirtualBox. VirtualBox:
Když čtu stížnosti na klienta Hyper-V, problémy s hardwarem se objevují hned na začátku. Nevyhnutelně se objevuje srovnání s VirtualBoxem, VMware Workstation/Playerem a dalšími hypervizory typu 2. V tomto případě se však jedná o srovnání se systémem VMware Workstation/Player. Stěžovatelé zřídkakdy nezmíní, že v těchto produktech problémy se zařízením téměř neexistují. Jádro problému pramení přímo v typu hypervizoru.
Když VirtualBox (nebo jakýkoli jiný hypervizor typu 2) vytvoří virtuální počítač, jeho kontejner běží uvnitř operačního systému pro správu, kde žijí aplikace. Stejně jako ostatní aplikace nemají přímý přístup k hardwaru; musí si vyžádat přístup k zařízení prostřednictvím operačního systému.
Podívejme se například na přiřazení zvukového hardwaru mého počítače se systémem Windows 10:
Alokace zvukového hardwaru
Mám více zvukových hardwarových zařízení a více aplikací. Veškerý přístup k hardwaru a jeho přiřazování probíhá prostřednictvím operačního systému. Poznámka: Výše uvedené údaje slouží pouze pro ilustraci. K připojení hostů VirtualBoxu ke zvukovému hardwaru nepoužíváte nástroj Volume Mixer.
Při zapnutí hosta VirtualBoxu tedy můžete pomocí jeho aplikačního kontejneru požádat o přístup k hardwaru.
Nyní se zamyslete nad klientem Hyper-V. V případě, že je host VirtualBoxu připojen ke zvukovému hardwaru, je možné jej použít k přístupu k hardwaru. Operační systém pro správu běží ve vlastním oddílu odděleném od hostovaných operačních systémů. Na rozdíl od VirtualBoxu nemají hostované operační systémy Client Hyper-V žádnou projekci do operačního systému správy. Nemohou prostě volat rozhraní API v operačním systému pro správu tak, jak to mohou dělat hosté VirtualBoxu, protože na něj nedosáhnou. V klientském Hyper-V existují funkce, které vám pomohou tento rozdíl vyřešit, ale vše je způsobeno zásadními rozdíly v technologiích hypervizoru.
Z této části si odnesete následující: Pokud chcete u svých hostovaných virtuálních počítačů používat hardware připojený přes USB a externí disky, budete to mít jednodušší s VirtualBoxem.
Hyper-V vs. VirtualBox:
Tato část silně navazuje na předchozí část. Pokud budete listovat kartami nastavení virtuálního počítače ve VirtualBoxu, najdete spoustu věcí, které v Hyper-V neuvidíte. Musíte se rozhodnout mezi čipovou sadou PIIX3 nebo ICH9. Musíte si vybrat mezi zvukovým řadičem Intel, zvukovým řadičem ICH AC97 a zvukovým řadičem SoundBlaster16. Pokud povolíte, aby virtuální počítač měl řadič USB, musíte si vybrat ze zařízení 1.1, 2.0 nebo 3.0. Hyper-V po vás žádnou takovou volbu nepožaduje.
Rozdíl zde souvisí také s celou tou diskusí o typu 1 vs. typu 2. V tomto případě se jedná o rozdíl mezi typem 1 a typem 2 a typem 2. Hypervizory typu 2 jsou navrženy pro provoz v mnohem širší škále prostředí, což představuje libovolnou řadu problémů. K řešení těchto problémů hypervizory typu 2 hojně využívají emulaci. Emulace spočívá v tom, že softwarová konstrukce napodobuje rozhraní hardwarového zařízení. VirtualBox emuluje všechny věci, které jsem vyjmenoval v předchozím odstavci, a další. Klient Hyper-V emuluje jen velmi málo – nejvýznamnější jsou jeho řadič IDE a starší síťový adaptér.
Emulace řeší problémy s širokou použitelností. Jak si dokážete představit, tato všestrannost má svou cenu. Celý smysl speciálního hardwaru, jako jsou síťové karty a videoadaptéry, spočívá v tom, že zvládnou příslušnou zátěž, aby zátěž nepadala jinde. Protože jsou postaveny speciálně pro své úkoly, dělají to (pravděpodobně) lépe než jiné komponenty postavené s ohledem na jiné cíle. S emulovaným hardwarem přebírá váš univerzální procesor veškerou zodpovědnost specializovaného hardwaru.
Z této části si odnesete ponaučení: VirtualBox pracuje s širší škálou hardwaru na širší škále systémů na úkor režie ovlivňující výkon.
Hyper-V vs. VirtualBox: Protože VirtualBox běží pouze v rámci hardwarově nainstalovaného operačního systému, je vydán na milost a nemilost plánovači tohoto operačního systému. Jedním z důvodů, proč jsem vynechal jakoukoli typickou diskusi o kroužcích CPU, je to, že VirtualBox obsahuje toto dialogové okno:
Nastavení akcelerace VirtualBoxu
Nastavení akcelerace VirtualBoxu
To znamená, že VirtualBox může přistupovat ke stejným funkcím, které si mnoho lidí spojuje pouze s kroužkem CPU -1 a rozšířeními monitoru virtuálního počítače, které používají „pravé“ hypervizory typu 1. To znamená, že VirtualBox má přístup ke stejným funkcím, které si mnoho lidí spojuje pouze s kroužkem CPU.
Ve VirtualBoxu však stále platí omezení daná hardwarově nainstalovaným operačním systémem. Pokud máte v hardwarově nainstalovaném operačním systému spuštěnou hru Flash, která zahlcuje paměť a procesor, může tento operační systém způsobit a způsobí, že výkon virtuálních počítačů VirtualBoxu bude trpět v libovolné míře. Pokud na to přijde, můžete pomocí Správce úloh zabít libovolný proces nebo hosta VirtualBoxu.
Naproti tomu klientský Hyper-V poskytuje stejné ovládací prvky priorit jako jeho serverový starší bratr. Můžete upřednostnit procesor a paměť, povolit kvalitu služby úložiště a nastavit omezení šířky pásma sítě pro všechny virtuální počítače.
Z této části si můžete odnést následující:
Hyper-V vs. VirtualBox:
Tato část se trochu liší od předchozí diskuse, protože zde nic nebude platit univerzálně. Budu líčit, jak rozdíly v obou hypervizorech ovlivnily mé zkušenosti. Vaše zkušenosti se mohou lišit.
Klient Hyper-V i VirtualBox emulují video. Podle mých zkušeností se mi nepodařilo rozlišit, že by jeden byl lepší než druhý, pokud jde o 2D akceleraci. Nevěřím, že bych 2D akceleraci příliš vyžadoval, ale také vím, že většina moderních desktopových operačních systémů využívá 2D akceleraci způsoby, které nejsou vždy zřejmé, dokud nejsou k dispozici. Dvěma ukázkovými příklady jsou vyhlazování písma a animace oken. S výslovnou výhradou, že váš názor se může lišit, se nedomnívám, že by 2D akcelerace měla výrazně hrát roli ve prospěch kteréhokoli z hypervisorů.
3D akcelerace je jiný příběh. Klient Hyper-V nabízí RemoteFX. Podle mých experimentů funguje velmi dobře v mezích toho, k čemu je určena. RemoteFX nepromítá videoadaptér do hostovaného operačního systému, takže nemáte přístup ke všem jeho funkcím. RemoteFX také fungoval na všech systémech, se kterými jsem se jej kdy pokusil použít, pokud obsahovaly požadovaný ovladač kompatibilní s WDDM pro 3D akceleraci.
3D akcelerace ve VirtualBoxu je úplně jiný příběh. Naprosto se mi nikdy nepodařilo ji zprovoznit tak, aby správně zobrazovala i základní plochu Windows. Nikdy jsem se nedostal k tomu, abych vyzkoušel nějaké funkce 3D akcelerace. Takže vám nemohu poskytnout žádné smysluplné srovnání mezi nimi.
Výstup z této části: Zdá se, že 2D akcelerace je mezi oběma systémy nerozhodná. 3D akcelerace se zdá být spolehlivější v klientském Hyper-V.
Hyper-V vs. VirtualBox: Virtual Hard Disk Compatibility
VirtualBox podporuje několik formátů virtuálních pevných disků. Na výběr máte:
- VDI, nativní formát VirtualBoxu
- VMDK, formát VMware
- VHD, formát Microsoft
- HDD, formát Parallel
- QED a QCOW, používaný v QEMU a dalších hypervizorech
VHDX ve VirtualBoxu použít nelze. Možnost používat formát disku jiného hypervizoru také nemusí nutně znamenat, že budete moci plynule přejít s virtuálním pevným diskem z jednoho hypervizoru do druhého
Z této části si odneste: Jedná se o téměř obecné informace, protože možnost používat více formátů virtuálních pevných disků není tak užitečná, jak by se na první pohled mohlo zdát. Pokud máte v plánu pokusit se přesunout virtuální pevný disk z jedné platformy na druhou bez použití konvertoru, je nejlepší volbou VirtualBox.
Hyper-V vs. VirtualBox:
- Klient Hyper-V může zobrazovat pouze na jednom monitoru nebo na všech monitorech. Pro VirtualBox můžete určit jeden až osm monitorů.
- VirtualBox poskytuje režim serveru, který umožňuje vzdáleným počítačům připojit se k hardwarově nainstalovanému operačnímu systému a zobrazit konzolu jednoho nebo více konkrétních hostů. Každý koncový bod umožňuje několik současných vzdálených připojení. Klient Hyper-V poskytuje podobnou funkci pomocí funkce vmconnect.exe, ale není tak všestranný.
- VirtualBox umí pořídit videozáznam hostovaného operačního systému.
- VirtualBox umožňuje nastavit virtuální počítač do režimu „Seamless“. Aplikace, které spustíte ve virtuálním počítači, se budou zobrazovat a pracovat, jako by byly spuštěny v hardwarově nainstalovaném operačním systému.
Z této části si můžete odnést následující: Pokud vás některá z těchto funkcí osloví, je VirtualBox jedinou volbou.
Hyper-V vs. VirtualBox: Přístup ke zdrojovému kódu
VirtualBox je software s otevřeným zdrojovým kódem. Pokud se vám něco nelíbí a věříte, že to umíte lépe, pusťte se do toho. Pokud chcete jen vědět, jak to funguje, stáhněte si sadu kódů a začtěte se do ní.
Microsoft se postupně ohřívá u myšlenky otevřeného zdrojového kódu a předložil komunitě velké množství kódu. Systém Windows je notoricky známý svou absencí. Jak jsem pochopil, kódová základna Hyper-V je velmi úzce spjata s Windows. Mám pochybnosti o tom, že se někdy dočkáme zveřejnění kódu Hyper-V.
Z této části si odnesete následující: Pokud je pro vás důležité používat hypervizor s otevřeným zdrojovým kódem, diskvalifikuje to klienta Hyper-V.
Hyper-V vs. VirtualBox:
Client Hyper-V se dodává jako součást Windows 10 Professional a Enterprise SKU. Pokud jinak máte licenci na používání některého z nich, pak máte licenci na používání produktu Client Hyper-V.
Oracle licencuje aktuální základní balík VirtualBox (verze 5.x+) pod licencí GPLv2. Poskytují také některá „rozšíření“ pod samostatnou licencí nazvanou „VirtualBox Personal Use and Evaluation License“. Osobně žádnou z těchto funkcí nepoužívám, i když zahrnují některé funkce, o kterých jsem mluvil výše. Nezkoumal jsem důkladně podmínky této licence, ale zdá se, že jsou poměrně velkorysé. Jako vždy doporučuji, abyste se na případné dotazy týkající se licencí nechali informovat vyškoleným právníkem.
Co se týče licencí hostovaných operačních systémů, ty jsou samostatnou pohádkou. Ani klient Hyper-V, ani VirtualBox neposkytují vůbec žádné licence na hostované operační systémy. Pokud do hostovaného operačního systému pod oběma hypervizory nainstalujete jakoukoli variantu systému Windows nebo Windows Server, musíte řádně licencovat hardware.
Z této části si můžete odnést následující: licencování je vždy důležité.
Pořízení Client Hyper-V a VirtualBoxu
Pokud používáte systém Windows 10 Professional nebo Enterprise, pak stačí povolit roli Hyper-V, abyste jej mohli začít používat.
VirtualBox je k dispozici na jeho webových stránkách: https://www.virtualbox.org/