Xen vs. VirtualBox pod dużym obciążeniem?

Odpowiedzi:

25

Xen ogólnie będzie działał znacznie lepiej niż VirtualBox, ponieważ VirtualBox uruchamia system gościa w taki sposób, że system-gość nie wie, że działa w środowisku wirtualnym. Innymi słowy, system operacyjny gościa nie jest zmodyfikowany do działania wirtualnego. Z tego powodu VirtualBox musi „przechwycić” instrukcje typu jądra, uruchomić niestandardowy kod, a następnie zwrócić kontrolę gościowi. Może korzystać z obsługi wirtualizacji sprzętowej zapewnianej przez Intel i AMD, ale nawet wtedy koszty ogólne się sumują.

Tymczasem Xen zapewnia, że ​​system operacyjny gościa zostanie ponownie skompilowany w celu dopasowania do modelu Xen. Dzięki temu kontrola płynnie przechodzi z systemu-gościa do hiperwizora, bez konieczności udawania, że ​​system-gość ma bezpośredni dostęp do sprzętu.

Aby zapoznać się z przeglądem kilku technologii wirtualizacji, w tym danych z testów wydajności, przeczytaj ten raport . Mówi tylko o Linuksie, ale obejmuje Linux-Vserver, Xen, OpenVZ, KVM, VirtualBox i QEMU. Linux-Vserver i Xen były na ogół najlepiej działające, ale przeczytaj raport, aby zobaczyć różne obciążenia.

Biorąc powyższe pod uwagę, mogą istnieć obszary, w których VirtualBox przewyższa Xen. Jeśli system operacyjny gościa ma graficzną warstwę okienkową, wówczas VirtualBox ma dobrą obsługę tego, szczególnie jeśli zainstalujesz jakieś specjalne składniki VirtualBox w systemie gościa.

I na koniec powinieneś mieć świadomość, że Xen będzie uruchamiał tylko zmodyfikowany system operacyjny gościa. Nie można uruchomić niezmodyfikowanego systemu operacyjnego gościa.

Hamish Downer
źródło
2
Pamiętaj, że maszyny wirtualne na Xen z systemem Windows mogą używać tylko jednego rdzenia!
Thomaschaaf
29

Odpowiedź Hamisha Downera jest błędna w ostatnim punkcie. Xen może obsługiwać niezmodyfikowanych gości, jednak muszą być uruchamiani jako goście HVM, którzy są w pełni zwirtualizowani. W tym celu komputer hosta ma obsługę sprzętowej wirtualizacji z procesorami Intel VT lub AMD-V.

Xen i Virtualbox mają swoje miejsce, ale są to dwa różne typy hiperwizorów. Xen jest hiperwizorem typu 1, a Virtualbox jest hiperwizorem typu 2. Hiperwizory typu 1 zwykle znajdują się w środowiskach serwerowych, w których hiperwizory typu 2 są bardziej powszechne w przypadku uruchamiania wielu systemów operacyjnych, z którymi współpracujesz jako komputery stacjonarne. Myślę, że dzieje się tak głównie z powodu ich prostoty i lepszej integracji pulpitu. Jednak goście z hiperwizorem typu 2 są dalej od podstawowego sprzętu i zwykle są wolniejsi niż goście z hiperwizorem typu 1. Jak w przypadku wszystkiego, zawsze będzie wyjątek od reguły.

3dinfluence
źródło
2
Masz
całkowitą
3

Mogę mówić tylko o Xen, ponieważ kiedykolwiek korzystałem z Virtualbox do wirtualizacji komputera z systemem Windows na moim komputerze Mac.

Jak wspomnieli inni, Xen (i XenServer, który jest oparty na Xen) wykorzystuje parawirtualizowane jądra, które radykalnie poprawiają wydajność związaną z pamięcią Cpu- i pamięcią. Dotyczy to jednak hostów Linux z wyspecjalizowanymi jądrami. Potrzebujesz jądra „włączonego” Xen, aby móc z tego skorzystać.

Ponadto - Windows nie obsługuje wirtualizacji w ten sposób, ale rozszerzenia Intel VT i AMD-V na odpowiednich procesorach „łapią” Windows i sprawiają, że zachowuje się on w sposób parawirtualizowany. Windows 2003 i Windows 2000 nigdy nie zdają sobie sprawy z tego, że działają zwirtualizowane, podczas gdy Windows 2008 z drugiej strony je wykrywa i działa w tak zwanym trybie „oświeconym”, który można porównać do trybu „parawirtualizowanego” w Linuksie.

użytkownik1952
źródło