ABC Wirtualizacji: Serwery

Parawirtualizacja

Parawirtualizacja to technika, w której zmieniona wersja systemu operacyjnego przekierowuje uprzywilejowane operacje do "cienkiej" warstwy wirtualnej zamiast bezpośrednio do procesora. Jest to o wiele bardziej wydajna technika niż emulowanie procesora, jak ma to miejsce w przypadku rozwiązań VMware i Microsoft. O jej wartości świadczy fakt, że obie te firmy bardzo aktywnie pracują nad wprowadzeniem parawirtualizacji do swojej oferty (Microsoft udostępni takie rozwiązanie dla systemu Windows Server 2008).

Technikę parawirtualizacji wykorzystano w projekcie XenSource (firma została ostatnio kupiona przez Citrix Systems, który obecnie integruje to oprogramowanie ze swoimi rozwiązaniami), który wrósł w kod źródłowy Linuksa jako ekwiwalent nowej architektury CPU. Skompilowanie Linuksa z Xenem jako docelową architekturą daje nam Linuksa z wbudowaną parawirtualizacją. Wówczas oprogramowanie Xen będzie uruchamiane, zanim załaduje się jądro Linuksa, umożliwiając uruchomienie Linuksa, BSD, NetWare lub innych systemów, które zostały przystosowane do pracy z systemem Xen. Pierwsza komercyjna implementacja Xen została dołączona do SuSE Linux Enterprise Server 10 Novella.

Xen jest bardzo prosty w instalacji i obsłudze, ale jest też bardzo szybkim systemem, nie tylko w kontekście szybkości przetwarzania. Świetnie sprawdza się także przy operacjach związanych z siecią i SAN. Jest bardzo elastyczny, jeśli chodzi o pamięci masowe. Wirtualna maszyna może korzystać z dedykowanych napędów lub macierzy, dedykowanych partycji na istniejących napędach lub obrazów dysków na jednym z zamapowanych systemów plików hosta.

Wirtualizacja na poziomie hosta

Jeszcze innym podejściem jest wirtualizacja na poziomie hosta - ten sposób wykorzystano w systemach Virtuozzo firmy Parallels i Solaris Containers firmy Sun. W tym przypadku pojedyncza instancja systemu operacyjnego hosta obsługuje wiele wirtualnych instancji, ale z wykorzystaniem tego samego jądra systemu operacyjnego, tych samych urządzeń wejścia-wyjścia i adresując zapotrzebowanie dla wirtualnych serwerów na poziomie procesów.

W tym modelu wszystkie wirtualne serwery muszą korzystać z tego samego systemu operacyjnego, ale każdy z nich może mieć własne aplikacje i konta użytkowników. Wirtualizacja na poziomie hosta traci zatem trochę na elastyczności, ale zyskuje na wydajności. Dodatkowo, architektura korzystająca z jednego systemu operacyjnego dla wszystkich wirtualnych serwerów jest łatwiejsza w zarządzaniu niż środowisko heterogeniczne.

Wirtualne narzędzia

Każda metoda wirtualizacji ma swoje zalety zależnie od sytuacji, w której jest stosowana. Grupa serwerów z tym samym systemem operacyjnym będzie świetnym kandydatem do konsolidacji na poziomie hosta, ale w tym zakresie inne technologie też mogą dać korzyści. Parawirtualizacja reprezentuje najlepsze części obu światów, szczególnie tam, gdzie procesory umożliwiają sprzętową wirtualizację. Oferuje bardzo dobrą wydajność, połączoną z możliwością uruchomienia różnych wirtualnych systemów operacyjnych.

Pełna wirtualizacja, mimo że nie daje najlepszych wyników wydajnościowych, oferuje wiele innych korzyści, w tym możliwość całkowitej izolacji systemów operacyjnych maszyn wirtualnych od hosta. Świetnie sprawdza się tam, gdzie konieczne jest testowanie jakości oprogramowania. Działa też z największą liczbą systemów operacyjnych.

Pełna wirtualizacja oferuje także inne unikalne funkcjonalności. Umożliwia tworzenie "kopii migawkowych" wirtualnych serwerów, dzięki czemu możliwe jest zachowanie ich stanu w danym momencie i wykorzystanie w strategii disaster recovery. Takie kopie mogą też być wykorzystane jako instancje nowych serwerów. Co ciekawe, coraz więcej firm zaczyna dostarczać testowe wersje swojego oprogramowania właśnie jako odpowiednio przygotowany obraz wirtualnego serwera.

Warto też pamiętać, że wirtualne serwery także wymagają wsparcia i opieki serwisowej, podobnie jak fizyczne. Rosnąca popularność wirtualnych serwerów zainspirowała rynek do tworzenia narzędzi umożliwiających migrację z serwerów fizycznych do wirtualnych, a także zaawansowanego zarządzania całymi grupami wirtualnych serwerów.

Będzie jeszcze lepiej

Ostatnie lata przyniosły ogromny rozwój technologii wirtualizacji serwerów i to w wielu dziedzinach. Wzrosła wydajność tych rozwiązań (dodatkowo wzmocniona przez wzrost wydajności serwerów), poprawiła się stabilność pracy wirtualnych maszyn, pozwolono na zaawansowaną integrację z dużymi macierzami dyskowymi w sieciach SAN, gdzie można przechowywać setki działających z pełną wydajnością wirtualnych maszyn. Pojawiło się też wsparcie dla systemów 64-bitowych, a i sami producenci procesorów zainteresowali się wirtualizacją.

Firmy AMD i Intel wprowadziły do swoich najnowszych układów technologie obsługujące wirtualne maszyny. Intel VT (Virtualization Technology) i AMD SVM (Secure Virtual Machine) to rozwiązania, które przejmują na siebie część emulacji sprzętu, a także zarządzanie pamięcią w maszynach wirtualnych. Dzięki temu procesory x86 stały się najbardziej uniwersalną platformą dla małych i średnich firm do tworzenia wirtualnych serwerów, rozpoczynając nową erę w tej dziedzinie.


TOP 200