Hiperwizory desktopowe to popularna technologia wśród technofilów. Mamy najróżniejsze powody, aby ich używać. Niektórzy z nas muszą testować oprogramowanie napisane przez innych ludzi, aby sprawdzić, czy jest dobre. Niektórzy z nas muszą testować oprogramowanie, które sami napisaliśmy, by sprawdzić, czy jest dobre. Czasami musimy ograniczyć aktywność do tymczasowego środowiska. Innym razem chcemy po prostu trzymać nasze podstawowe środowisko z dala od szponów inwazyjnego instalatora. Wymyślenie powodów, dla których warto używać hiperwizora desktopowego, jest proste. Podjęcie decyzji, którego hypervisora desktopowego użyć, może być trudniejsze. W tym artykule porównamy klienta Hyper-V firmy Microsoft z VirtualBoxem firmy Oracle.
Pobierz Altaro VM Backup
Rozpocznij darmową 30-i przekonaj się, dlaczego zaufało mu ponad 40 000 organizacji na całym świecie. Rozpocznij teraz i uruchom swoją pierwszą kopię zapasową w mniej niż 15 minut!
Z zasady nie mówię ludziom, którego produktu mają używać. Uważam, że powinieneś wybrać to, co najlepiej odpowiada Twoim potrzebom. Jeśli nic nie jest dostępne, że wyrównuje się idealnie, mieszaj i dopasowuj, aż dostaniesz tak blisko, jak możesz. Nie lubię, kiedy ludzie najpierw wybierają swój produkt, a potem rzucają wygodne uzasadnienia dla tego wyboru. Dwa powszechne przykłady to: „Nikt nigdy nie został zwolniony za zakup IBM” oraz „Ten produkt jest najpopularniejszy”. Moim celem tutaj nie jest dyktowanie, który produkt jest lepszy, ale poprowadzenie Cię w kierunku świadomej decyzji. Tą decyzją może być użycie obu hypervisorów.
- Client Hyper-V and VirtualBox: A Technology Overview
- They’re Not Each Others’ Type
- Proces uruchamiania hiperwizora: Oracle VirtualBox
- Proces uruchamiania hiperwizora: Client Hyper-V
- Ważność różnic typu
- Hyper-V vs. VirtualBox: Hardware Access
- Hyper-V vs. VirtualBox: Hardware Presentation
- Hyper-V vs. VirtualBox: Resource Priority
- Hyper-V vs. VirtualBox: Video Acceleration
- Hyper-V Vs. VirtualBox: Virtual Hard Disk Compatibility
- Hyper-V vs. VirtualBox: Inne funkcje wideo
- Hyper-V vs. VirtualBox: Dostęp do kodu źródłowego
- Hyper-V vs. VirtualBox: Licencja na użytkowanie
- Uzyskiwanie Client Hyper-V i VirtualBox
Client Hyper-V and VirtualBox: A Technology Overview
Wszyscy jesteśmy tutaj ludźmi technologii, więc zacznijmy od przyjrzenia się tym dwóm hiperwizorom z technologicznego punktu widzenia.
They’re Not Each Others’ Type
Najbardziej oczywistą różnicą między tymi dwoma produktami jest to, że Client Hyper-V jest hiperwizorem typu 1, a VirtualBox jest hiperwizorem typu 2. Za każdym razem, gdy mówię „Hyper-V jest hypervisorem typu 1”, a następnie próbuję wyjaśnić czym jest hypervisor typu 1, niezmiennie dostaję co najmniej kilka komentarzy, które mówią mi, że mój opis jest błędny i że „Hyper-V jest…”, a następnie komentujący opisuje Hyper-V jako hypervisor typu 2. Albo moje wyjaśnienia nie są zbyt dobre, albo ludzie po prostu nie wierzą, że Hyper-V jest hypervisorem typu 1. Mam nadzieję, że największą częścią tego jest to, że linia pomiędzy typem 1 i typem 2 nie jest tak solidna, jak niektórzy ludzie chcieliby, abyś wierzył, i dlatego ci komentatorzy po prostu widzą rzeczy inaczej.
W każdym razie, zamierzam spróbować nowej metody wyjaśniania typu 1 vs. typu 2, ale ograniczyć ją do tego kontekstu.
Proces uruchamiania hiperwizora: Oracle VirtualBox
Zacznę od wyjaśnienia, w jaki sposób uruchamiany jest VirtualBox. Jest to hypervisor typu 2 i najłatwiejszy do zrozumienia.
- Komputer fizyczny jest uruchamiany
- System startowy komputera fizycznego (BIOS lub UEFI) przekazuje kontrolę nad systemem operacyjnym zainstalowanym na sprzęcie. W przypadku VirtualBox może to być Windows, Linux, OSX lub Solaris
- Użytkownik (czyli ty) uruchamia aplikację VirtualBox.
- Użytkownik (czyli ty) wybiera, które maszyny wirtualne mają zostać uruchomione. VirtualBox tworzy procesy hostingowe
Proste, prawda?
Proces uruchamiania hiperwizora: Client Hyper-V
Jako hypervisor typu 1, procedura uruchamiania Client Hyper-V różni się od procedury VirtualBox na podstawowym poziomie.
- Komputer fizyczny jest uruchamiany
- System rozruchowy komputera fizycznego (BIOS lub UEFI) przekazuje kontrolę Hyper-V
- Hyper-V uruchamia system operacyjny zarządzania. Systemem operacyjnym zarządzania może być tylko Windows, Windows Server lub Hyper-V Server
- W odpowiedzi na automatyczne ustawienia lub ręczne instrukcje użytkownika (czyli Ciebie), Hyper-V tworzy partycje dla maszyn wirtualnych
Istnieją różnice w sposobie, w jaki różne hiperwizory typu 1 i typu 2 osiągają swoje cele, więc nie mogę po prostu wygłosić kilku ogólnych stwierdzeń i odejść. Przyjrzymy się kilku ogólnym różnicom.
Ważność różnic typu
Można znaleźć wiele materiałów pisemnych na temat różnic między hiperwizorami typu 1 i typu 2. W świetle możliwości współczesnego sprzętu, oprogramowania do wirtualizacji i systemów operacyjnych, większość z tych materiałów ma wątpliwą wartość. Zamierzam pominąć te wątpliwe części i zająć się tylko tym, co możemy zweryfikować.
Dla tej dyskusji najważniejszą różnicą między typem 1 i 2 jest to, że hypervisor typu 1 jest zawsze włączony. Jedynym sposobem na „zatrzymanie” klienta Hyper-V jest wyłączenie komputera lub usunięcie roli. Oczywiście, można zatrzymać usługę „Hyper-V Virtual Machine Management”, ale to nie jest Hyper-V. To jest usługa zarządzania. Zgaduję, że właśnie dlatego nadali jej taką nazwę. Zatrzymanie jej uniemożliwia zarządzanie maszynami wirtualnymi, ale nie ma wpływu na maszyny wirtualne ani na hypervisor. Nie można zobaczyć Hyper-V przez system operacyjny zarządzania.
Z drugiej strony, VirtualBox może być otwierany i zamykany do woli. Możesz zlokalizować aplikację VirtualBox, jej usługę i maszyny wirtualne w Menedżerze zadań systemu operacyjnego zarządzania. Jeśli zamkniesz główny interfejs, wszystkie aktywne maszyny wirtualne będą nadal działać, ponieważ VirtualBox pozostawi swoje jądro hypervisora w pamięci. Jeśli zatrzymasz ostatnią maszynę wirtualną VirtualBox, to nie będzie już VirtualBoxa. Będziesz musiał uruchomić go ponownie, aby uruchomić wszystkie maszyny wirtualne.
Różnice w typie klienta Hyper-V i VirtualBox mają kilka konsekwencji:
- System operacyjny zarządzania Client Hyper-V używa vCPU tak jak maszyny wirtualne
- Musisz użyć liczników wydajności Hyper-V, aby zobaczyć cokolwiek na temat wykorzystania zasobów przez Client Hyper-V, a to nie mówi całej opowieści
- Przydzielanie sprzętu działa inaczej
- Priorytet zasobów działa inaczej
Hyper-V vs. VirtualBox: Hardware Access
Kiedy czytam skargi na klienta Hyper-V, problemy sprzętowe wyskakują na sam szczyt stosu. Nieuchronnie pojawiają się porównania do VirtualBoxa, VMware Workstation/Player i innych hypervisorów typu 2. Skarżący rzadko nie wspominają, że problemy z urządzeniami prawie nie występują w tych produktach. Źródło problemu tkwi w typie hypervisora.
Gdy VirtualBox (lub jakikolwiek inny hypervisor typu 2) tworzy maszynę wirtualną, jej kontener działa wewnątrz zarządzającego systemu operacyjnego, w którym znajdują się aplikacje. Podobnie jak inne aplikacje, nie mają one bezpośredniego dostępu do sprzętu; muszą zażądać dostępu do urządzenia za pośrednictwem systemu operacyjnego.
Na przykład przyjrzyjmy się przydzielaniu sprzętu dźwiękowego przez mój pulpit Windows 10:
Sound Hardware Allocation
Mam wiele urządzeń dźwiękowych i wiele aplikacji. Cały dostęp do sprzętu i przypisywanie odbywa się za pośrednictwem systemu operacyjnego. Uwaga: Powyższy opis służy wyłącznie celom ilustracyjnym. Nie używasz Volume Mixer do łączenia gości VirtualBox ze sprzętem dźwiękowym.
Więc, kiedy włączasz gościa VirtualBox, możesz użyć jego kontenera aplikacji, aby zażądać dostępu do sprzętu.
Teraz pomyśl o kliencie Hyper-V. System operacyjny zarządzania działa w swojej własnej partycji, oddzielonej od systemów operacyjnych gości. W przeciwieństwie do VirtualBox, systemy operacyjne gościa Client Hyper-V nie mają żadnej projekcji do systemu operacyjnego zarządzania. Nie mogą one po prostu wywoływać API w zarządzającym systemie operacyjnym w sposób, w jaki mogą to robić goście VirtualBox, ponieważ nie mają do niego dostępu. Istnieją funkcje w kliencie Hyper-V, które mogą pomóc w rozwiązaniu tej różnicy, ale to wszystko jest spowodowane fundamentalnymi różnicami w technologiach hypervisor.
Wniosek z tej sekcji: jeśli chcesz używać sprzętu podłączanego przez USB i dysków zewnętrznych z maszynami wirtualnymi gości, będziesz miał łatwiejszy czas z VirtualBox.
Hyper-V vs. VirtualBox: Hardware Presentation
Ta sekcja łączy się mocno z poprzednią. Jeśli przejrzysz zakładki ustawień maszyny wirtualnej w VirtualBoxie, znajdziesz wiele rzeczy, których nie zobaczysz w Hyper-V. Musisz zdecydować pomiędzy chipsetem PIIX3 a ICH9. Musisz wybrać pomiędzy kontrolerem audio Intela, kontrolerem audio ICH AC97, a kontrolerem audio SoundBlaster 16. Jeśli pozwolisz wirtualnej maszynie mieć kontroler USB, musisz wybrać pomiędzy 1.1, 2.0, lub 3.0 urządzeniem. Hyper-V nie prosi Cię o dokonywanie takich wyborów.
Różnica tutaj jest również związana z całą dyskusją typ 1 vs typ 2. Hiperwizory typu 2 są zaprojektowane do pracy w znacznie szerszym zakresie środowisk, co stwarza wiele problemów. Aby rozwiązać te problemy, hypervisory typu 2 szeroko wykorzystują emulację. Emulacja polega na tym, że oprogramowanie naśladuje interfejsy urządzenia sprzętowego. VirtualBox emuluje wszystkie rzeczy, które wymieniłem w poprzednim akapicie, a nawet więcej. Klient Hyper-V emuluje bardzo niewiele – najbardziej godne uwagi są jego kontroler IDE i starszy adapter sieciowy.
Emulacja rozwiązuje problemy szerokiego zastosowania. Jak można sobie wyobrazić, ta wszechstronność wiąże się z kosztami. Cały cel specjalistycznego sprzętu, takiego jak karty sieciowe i adaptery wideo, polega na tym, że radzą sobie one ze swoimi zadaniami tak, że ciężar nie spada na inne osoby. Ponieważ są one zbudowane specjalnie do swoich zadań, (przypuszczalnie) robią to lepiej niż inne komponenty zbudowane z myślą o innych celach. Z emulowanym sprzętem, twój procesor ogólnego przeznaczenia bierze na siebie całą odpowiedzialność dedykowanego sprzętu.
Wyciąg z tej sekcji: VirtualBox współpracuje z szerszą gamą sprzętu na szerszej gamie systemów kosztem wpływającego na wydajność narzutu.
Hyper-V vs. VirtualBox: Resource Priority
Ponieważ VirtualBox działa tylko w ramach systemu operacyjnego zainstalowanego na sprzęcie, jest na łasce harmonogramu tego systemu operacyjnego. Jednym z powodów, dla których pominąłem typową dyskusję na temat pierścieni CPU jest to, że VirtualBox zawiera to okno dialogowe:
VirtualBox Acceleration Settings
Co oznacza, że VirtualBox może uzyskać dostęp do tych samych funkcji, które wielu ludzi kojarzy tylko z pierścieniem CPU -1 i rozszerzeniami monitora maszyny wirtualnej używanymi przez „prawdziwe” hypervisory typu 1.
Jednakże, VirtualBox jest nadal związany ograniczeniami nałożonymi przez system operacyjny zainstalowany na sprzęcie. Jeśli masz run-away Flash gry takaking up pamięci i CPU w sprzętowo zainstalowanego systemu operacyjnego, OS może i spowoduje VirtualBox wirtualnych maszyn wydajność cierpieć do dowolnego stopnia, że lubi. Jeśli chodzi o to, możesz użyć Menedżera zadań, aby zabić każdy proces VirtualBox lub gość.
W przeciwieństwie do tego, klient Hyper-V zapewnia te same kontrole priorytetyzacji, jak jego starszy brat oparty na serwerze. Możesz nadawać priorytety procesorowi i pamięci, włączyć usługę Quality of Service dla pamięci masowej i ustawić ograniczenia przepustowości sieci dla wszystkich maszyn wirtualnych.
Wnioski z tej sekcji: Klient Hyper-V zapewnia drobnoziarnistą kontrolę nad priorytetyzacją zasobów; VirtualBox nie.
Hyper-V vs. VirtualBox: Video Acceleration
Ta sekcja różni się nieco od poprzedniej, ponieważ nic tutaj nie będzie uniwersalną prawdą. Opowiem, jak różnice w dwóch hypervisorach wpłynęły na moje doświadczenia. Twój przebieg może się różnić.
Obie klienty Hyper-V i VirtualBox emulują wideo. W moich doświadczeniach, nie byłem w stanie odróżnić, że jeden jest lepszy od drugiego, jeśli chodzi o akcelerację 2D. Nie wierzę, że wymagam dużej ilości akceleracji 2D, ale wiem też, że większość nowoczesnych desktopowych systemów operacyjnych wykorzystuje akcelerację 2D w sposób, który nie zawsze jest oczywisty, dopóki nie jest dostępny. Dwa sztandarowe przykłady to wygładzanie czcionek i animacje okien. Z wyraźnym zastrzeżeniem, że twój przebieg może się różnić, nie uważam, że akceleracja 2D powinna silnie wpływać na korzyść któregokolwiek z hypervisorów.
Akceleracja 3D to inna historia. Klient Hyper-V oferuje RemoteFX. Podczas moich eksperymentów, działa on bardzo dobrze w granicach tego, do czego został zaprojektowany. RemoteFX nie wyświetla karty graficznej w systemie operacyjnym gościa, więc nie można uzyskać dostępu do wszystkich jej funkcji. RemoteFX działał również na każdym systemie, z którym kiedykolwiek próbowałem go używać, tak długo jak zawierał wymagany sterownik zgodny z WDDM do akceleracji 3D.
Akceleracja 3D w VirtualBox to zupełnie inna historia. Zupełnie nie udało mi się sprawić, by działała ona na tyle dobrze, by nawet poprawnie wyświetlić podstawowy pulpit Windows. Nigdy nie zbliżyłem się do wypróbowania jakichkolwiek funkcji akceleracji 3D. Nie mogę więc podać żadnych sensownych porównań pomiędzy nimi.
Wnioski z tej sekcji: akceleracja 2D wydaje się być kwestią do rozstrzygnięcia pomiędzy nimi. Akceleracja 3D wydaje się bardziej niezawodna w klienckim Hyper-V.
Hyper-V Vs. VirtualBox: Virtual Hard Disk Compatibility
VirtualBox obsługuje kilka formatów wirtualnych dysków twardych. Można wybrać spośród:
- VDI, natywny format VirtualBox
- VMDK, format VMware
- VHD, format Microsoft
- HDD, format Parallel
- QED i QCOW, używane w QEMU i innych hypervisorach
Nie można używać VHDX z VirtualBox. Możliwość korzystania z formatu dysku innego hypervisora nie musi oznaczać, że będziesz w stanie płynnie przenieść wirtualny dysk twardy z jednego hypervisora do drugiego, albo.
Uwaga z tej sekcji: jest to prawie ogólna informacja, ponieważ zdolność do korzystania z wielu formatów wirtualnych dysków twardych nie jest tak użyteczne, jak mogłoby się wydawać na początku. Jeśli planujesz przenieść wirtualny dysk twardy z jednej platformy na drugą bez użycia konwertera, VirtualBox jest najlepszym wyborem.
Hyper-V vs. VirtualBox: Inne funkcje wideo
VirtualBox zapewnia kilka funkcji wideo, z którymi Client Hyper-V nie konkuruje bezpośrednio.
- Client Hyper-V może wyświetlać tylko na jednym monitorze lub na wszystkich monitorach. Możesz określić od jednego do ośmiu monitorów dla VirtualBox.
- VirtualBox zapewnia tryb serwera, który pozwala zdalnym komputerom połączyć się z zainstalowanym sprzętowo systemem operacyjnym, aby zobaczyć konsolę jednego lub więcej określonych gości. Każdy punkt końcowy pozwala na wiele jednoczesnych połączeń zdalnych. Klient Hyper-V zapewnia podobną funkcjonalność za pomocą vmconnect.exe, ale nie jest tak wszechstronny.
- VirtualBox może wykonać nagranie wideo systemu operacyjnego gościa.
- VirtualBox pozwala ustawić maszynę wirtualną w tryb „Bezszwowy”. Aplikacje uruchamiane w maszynie wirtualnej będą wyglądały i działały tak, jakby były uruchomione w systemie operacyjnym zainstalowanym na sprzęcie.
Wniosek z tej sekcji: jeśli którakolwiek z tych funkcji przemawia do Ciebie, VirtualBox jest jedynym wyborem.
Hyper-V vs. VirtualBox: Dostęp do kodu źródłowego
VirtualBox jest oprogramowaniem open source. Jeśli coś ci się nie podoba i uważasz, że możesz zrobić to lepiej, zrób to. Jeśli chcesz po prostu wiedzieć, jak to działa, pobierz zestaw kodów i zagłęb się w nie.
Microsoft stopniowo zbliża się do idei otwartego oprogramowania i udostępnił społeczności wiele kodu. Windows jest notorycznie nieobecny. Jak rozumiem, baza kodowa Hyper-V jest bardzo ściśle powiązana z Windows. Mam wątpliwości, czy kiedykolwiek zobaczymy opublikowany kod Hyper-V.
Wyciąg z tej sekcji: jeśli używanie hiperwizora open source jest dla ciebie ważne, to dyskwalifikuje klienta Hyper-V.
Hyper-V vs. VirtualBox: Licencja na użytkowanie
Client Hyper-V jest dostarczany jako składnik systemów Windows 10 Professional i Enterprise SKU. Jeśli posiadasz inną licencję na używanie jednego z nich, to posiadasz licencję na używanie Client Hyper-V.
Oracle licencjonuje obecny pakiet VirtualBox (wersje 5.x+) na licencji GPLv2. Dostarczają również pewne „rozszerzenia” na osobnej licencji zwanej „VirtualBox Personal Use and Evaluation License”. Osobiście nie używam żadnej z tych funkcji, chociaż obejmują one niektóre z funkcji, o których mówiłem powyżej. Nie zagłębiałem się zbytnio w warunki tej licencji, ale wydaje się być dość hojna. Jak zawsze, zalecam, abyś pozwolił wyszkolonemu radcy prawnemu odpowiedzieć na każde z twoich pytań licencyjnych.
As far as guest operating system licences, those are a separate tale. Ani klient Hyper-V, ani VirtualBox nie przewidują żadnych licencji na system operacyjny gościa. Jeśli zainstalujesz dowolną wersję systemu Windows lub Windows Server w systemie operacyjnym gościa pod którymkolwiek z hypervisorów, musisz odpowiednio licencjonować sprzęt.
Wniosek z tej sekcji: licencjonowanie jest zawsze ważne.
Uzyskiwanie Client Hyper-V i VirtualBox
Jeśli używasz Windows 10 Professional lub Enterprise, wystarczy włączyć rolę Hyper-V, aby zacząć jej używać.
VirtualBox jest dostępny w witrynie internetowej: https://www.virtualbox.org/