Wirtualizować można wszystko!

Dziś z hasłem "wirtualny świat" kojarzy się przede wszystkim Internet. Ale wirtualizacja to nie tylko Globalna Pajęczyna. Początkowo dostępna tylko w świecie mainframe'ów, dziś obecna już prawie w każdym centrum danych. Wirtualizować można zarówno serwery i pamięci masowe, jak i systemy plików czy aplikacje. Od wirtualizacji nie uciekniemy, warto więc przyjrzeć się jej bliżej.

Dziś z hasłem "wirtualny świat" kojarzy się przede wszystkim Internet. Ale wirtualizacja to nie tylko Globalna Pajęczyna. Początkowo dostępna tylko w świecie mainframe'ów, dziś obecna już prawie w każdym centrum danych. Wirtualizować można zarówno serwery i pamięci masowe, jak i systemy plików czy aplikacje. Od wirtualizacji nie uciekniemy, warto więc przyjrzeć się jej bliżej.

W dzisiejszych skomplikowanych środowiskach IT wirtualizacja jest jedynym sensownym rozwiązaniem. Kolejne serwery, kupowane, aby zapewnić odpowiedni poziom nadmiarowości, bardzo szybko zapełniają pomieszczenia centrów danych. Każdy nowy zakup powiększa też koszty zasilania i chłodzenia. Obecnie tylko wirtualizacja pozwala na zdroworozsądkowe podejście do zarządzania centrum danych, a także utrzymanie pod kontrolą związanych z tym kosztów.

Wirtualizacja serwerów

Wirtualizować można wszystko!

Trzy metody wirtualizacji serwerów

Dzięki wirtualizacji można dynamicznie i bardzo szybko włączać i wyłączać wirtualne serwery (znane także jako maszyny wirtualne), z których każdy oszukuje system operacyjny (i wszystkie działające w nim aplikacje) emulując sprzęt. Uruchomienie wielu maszyn wirtualnych pozwala na pełną eksploatację potencjału mocy obliczeniowej serwera, przy jednoczesnej możliwości bardzo szybkiego reagowania na konieczność wprowadzenia zmian w infrastrukturze centrum danych.

Koncepcja wirtualizacji nie jest nowa. Już w 1970 r. na mainframe'ach można było uruchamiać wiele niezależnych od siebie instancji systemu operacyjnego w tym samym czasie. W ostatnich latach natomiast szybki rozwój oprogramowania i sprzętu sprawił, że wprowadzenie wirtualizacji okazało się możliwe na standardowych, powszechnie wykorzystywanych serwerach.

Dziś administratorzy centrów danych mają ogromny wybór rozwiązań do wirtualizacji. Jedne oferowane są na zasadach komercyjnych, inne jako open source. Większość z nich jest oparta na jednej z trzech fundamentalnych technologii, z których każda umożliwia osiągnięcie najlepszych rezultatów w zależności od specyfiki przetwarzanych danych i priorytetów operacyjnych.

Pełna wirtualizacja

W najpopularniejszej metodzie wirtualizacji wykorzystywane jest oprogramowanie tworzące abstrakcyjną warstwę pomiędzy wirtualnymi serwerami a fizycznym sprzętem. Najpopularniejsze komercyjne rozwiązania w tym zakresie to oprogramowanie firmy VMware oraz program Virtual Server Microsoftu. Dostępne są też rozwiązania open source dla Linuksa.

W tym modelu otrzymujemy pełną wirtualną platformę sprzętową dla każdego wirtualnego serwera, włączając w to w pełni konfigurowalny BIOS. Dzięki tej metodzie każdy wirtualny serwer działa jako odrębny proces na platformie hosta. Na dysku każdy serwer jest całkowicie niezależny od innych, z własną odrębną instancją systemu operacyjnego i wszystkich potrzebnych aplikacji.

Oprogramowanie wirtualizujące przechwytuje rozkazy dla procesora, kontrolerów i urządzeń peryferyjnych, priorytetyzuje i układa w odpowiednią kolejkę do wykonania. Dzięki tej wirtualnej warstwie możliwe jest zainstalowanie praktycznie dowolnego systemu operacyjnego, bez konieczności modyfikacji zarówno sprzętu, jak i instalowanego oprogramowania. Pewnym minusem tego typu rozwiązań jest obciążenie procesora przez oprogramowanie wirtualizujące. Nie jest ono duże, ale odczuwalne.

Parawirtualizacja

Parawirtualizacja to technika, w której zmieniona wersja systemu operacyjnego przekierowuje uprzywilejowane operacje do "cienkiej" warstwy wirtualnej, zamiast bezpośrednio do procesora. To zdecydowanie 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.

Technikę parawirtualizacji wykorzystano w projekcie Xen, 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. Obecnie jest ona także dostępna w konkurencyjnym Red Hat Enterprise Linux 5.0.

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 SWsoft i Solaris Containers Suna. W tym przypadku pojedyncza instancja systemu operacyjnego hosta wspiera 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.

Wszystkie platformy wirtualizujące to warstwa programowa umieszczona pomiędzy bazowym systemem operacyjnym a maszyną wirtualną, przekazująca zapotrzebowanie maszyny wirtualnej i wywołania urządzeń wejścia-wyjścia do bazowego systemu operacyjnego. 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 trochę na elastyczności, ale zyskuje na wydajności. Ponadto architektura korzystająca z jednego systemu operacyjnego dla wszystkich wirtualnych serwerów jest łatwiejsza w zarządzaniu niż środowisko heterogeniczne.


TOP 200