Virtual-IT.pl - wirtualizacja cloud computing storage SDx data center

Artykuły

Wdrożenie wirtualnego środowiska Xen cz.1

 


Pełna wirtualizacja


W klasycznych technikach pełnej wirtualizacji VMM udostępnia dla VM wirtualny sprzęt identyczny z fizycznym. Dzięki temu maszyny wirtualne niejako „myślą”, że działają bezpośrednio na normalnym, fizycznym sprzęcie. Możemy uruchamiać je bez ich modyfikacji. Mogą być to więc dowolne systemy, zarówno Linux jak i MS Windows.

 

Do emulacji sterowników w trybie HVM, Xen korzysta (wewnętrznie) z innego projektu - QEMU, który to dostarcza wirtualnej maszynie emulowane sterowniki. Wszystkie instrukcje uprzywilejowane, takie jak: dostęp do pamięci, operacje dyskowe, komenda zatrzymania systemu, muszą być przechwytywane i zmodyfikowane tak, aby dotyczyły wyłącznie jednego środowiska. Przechwytywanie i programowa obsługa (emulacja) kompletu tych instrukcji jest realizowana programowo (a nie sprzętowo), co skutkuje słabą wydajnością tego rozwiązania.

Pełna wirtualizacja wspierana sprzętowo (HVM)
 

Wykorzystywana jest przy użyciu nowych procesorów wspierających wirtualizację. Działa podobnie jak pełna wirtualizacja, z tym że instrukcje uprzywilejowane procesora nie muszą być emulowane programowo (co komplikuje i spowalnia obsługę wirtualnych maszyn), lecz są obsługiwane bezpośrednio przez procesor, który dzięki zaimplementowanemu wsparciu wirtualizacji zachowuje się tak, jakby był kilkoma procesorami działającymi równolegle. Wydajność tego rozwiązania jest więc dużo lepsza niż poprzedniego.

Parawirtualizacja (PV)
 

Jest tym co wyróżnia Xena spośród innych produktów. W odróżnieniu do pełniej wirtualizacji, technika parawirtualizacji osłabia nieco podejście tworzenia pełnej iluzji fizycznego sprzętu dla VM. W tym przypadku wirtualna maszyna ma dostęp do pewnej części rzeczywistych, fizycznych zasobów komputera poprzez specjalne API. Wszystkie odwołania do tych zasobów są jednak weryfikowane przez nadzorcę. API to zajmuje się podziałem fizycznych zasobów pomiędzy maszyny wirtualne. Aby VM potrafiła się komunikować z takim API, musi zostać wcześniej zmodyfikowana, tak aby „wiedziała”, że nie pracuje bezpośrednio na fizycznym sprzęcie.1 Po takiej modyfikacji nie będzie próbowała wykonywać zastrzeżonych poleceń samodzielnie, lecz przekaże je do API, instrukcje uprzywilejowane są parawirtualizowane. Wadą tego rozwiązania jest utrudnienie instalacji VM. Sterowniki urządzeń instalowanego systemu operacyjnego muszą potrafić współpracować z Xenem. Zaletą natomiast wysoka wydajność dzięki ograniczeniu środowiska, które trzeba symulować.

Udogodnienia zapewniane przez CPU


Ilość pamięci którą możemy wykorzystać na danej maszynie zależy od architektury procesora:
• do 4GB - procesory 32 bitowe bez PAE (domyślnie),
• do 64GB - procesory 32 bitowe z PAE (Physical Addressing Extension),
• do 1 TB - architektury x86_64 np. Intel EM64T, AMD Opteron.

Do adresowania dużej ilości pamięci na maszynach 32bitowych Xen wykorzystuje technikę PAE, jednak potrafi też pracować bez niej (z pewnymi ograniczeniami).

Przed zainstalowaniem Xena czyli nadzorcy (hypervisora) na sprzęcie, powinniśmy sprawdzić jakie udogodnienia wykorzystywane przez Xena wspiera procesor. Aby sprawdzić czy CPU wspiera rozszerzenie:
• PAE, wpisujemy w konsoli:

 

Wdrażanie Xen