Który działa lepiej przy dużym obciążeniu procesora i pamięci na serwerach wirtualnych, Xen lub VirtualBox?
Który działa lepiej przy dużym obciążeniu procesora i pamięci na serwerach wirtualnych, Xen lub VirtualBox?
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.
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.
źródło
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.
źródło