Wirtualna przyszłość

Wirtualizować można dziś wszystko - zarówno serwery i pamięci masowe, jak i systemy plików czy aplikacje.

Wirtualizować można dziś wszystko - zarówno serwery i pamięci masowe, jak i systemy plików czy aplikacje.

Wiele lat analizy wydajności i stopnia wykorzystania mocy obliczeniowej serwerów pokazały, że optymalne wykorzystanie tych maszyn jest możliwe tylko dzięki wirtualizacji. Zamiast kupować kolejne urządzenia (zajmujące miejsce, wymagające zasilania i chłodzenia), zdecydowanie efektywniej jest wykorzystać to, co już posiadamy.

Dzięki wirtualizacji można dynamicznie i szybko włączać i wyłączać wirtualne serwery. Uruchomienie wielu maszyn wirtualnych pozwala na pełną eksploatację mocy obliczeniowej serwera, przy jednoczesnej możliwości szybkiego reagowania na konieczność wprowadzenia zmian w infrastrukturze. W centrach danych wykorzystywanych jest kilka metod wirtualizacji serwerów. Oto najważniejsze:

Pełna wirtualizacja

Wykorzystuje oprogramowanie tworzące abstrakcyjną warstwę między wirtualnymi serwerami i fizycznym sprzętem. Najpopularniejsze komercyjne rozwiązania to oprogramowanie VMware oraz Virtual Server firmy Microsoft. Dostępne są też rozwiązania open source dla Linuxa. Każdy wirtualny serwer jest całkowicie niezależny od innych, z własną, odrębną instancją systemu operacyjnego i wszystkich potrzebnych aplikacji. Minusem tego typu rozwiązań jest obciążenie procesora przez oprogramowanie wirtualizujące. Nie jest ono duże, ale odczuwalne.

Parawirtualizacja

To technika, w której zmieniona wersja systemu operacyjnego przekierowuje wirtualizowane 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 (firmy te dopiero pracują nad wprowadzeniem parawirtualizacji do oferty). Technikę parawirtualizacji wykorzystano w projekcie Xen, który wrósł w kod źródłowy Linuxa jako ekwiwalent nowej architektury CPU. Pierwsza komercyjna implementacja Xen została dołączona do SuSE Linux Enterprise Server 10. Firma XenSource została ostatnio kupiona przez Citrix Systems.

Wirtualizacja na poziomie hosta

Ten sposób wykorzystano w systemach Swsoft Virtuozzo i Sun Solaris Containers. 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. 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, przez co wirtualizacja na poziomie hosta traci nieco 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.

Wirtualizacja pamięci masowych

Po kilku latach falstartów i utraconych nadziei wirtualizacja pamięci masowych wreszcie zaczyna mieć sens. Rozwiązania wirtualizacyjne oferują wszyscy liczący się dostawcy pamięci masowych, jak: EMC, HDS, HP, IBM, NetApp. Znacznemu rozwojowi uległy także same rozwiązania wirtualizacji, a klienci zaczynają rozumieć, w jaki sposób można dzięki tej technice uzyskać oszczędności.

W wirtualnych pamięciach masowych tworzona jest abstrakcyjna warstwa między hostem i fizyczną pamięcią masową, która maskuje indywidualne cechy urządzeń. Jeśli zostanie wdrożona w sieci SAN, wirtualizacja umożliwia zarządzanie z jednego punktu wszystkimi pamięciami masowymi, które zapisują dane w postaci blokowej. Generalnie dzięki wirtualizacji zbierane są wszystkie (często heterogeniczne) zasoby pamięci masowych i udostępniane hostom w postaci wirtualnych woluminów, bez wcześniejszych ograniczeń sprzętowych.

Wirtualizacja pamięci masowych ma wiele zalet, z których najważniejszą jest możliwość lepszego wykorzystania zasobów macierzy i sieci SAN funkcjonujących w systemie. Istnieje też możliwość szybkiego przepisania danych do innej pamięci masowej wchodzącej w skład wirtualnej puli, co może być konieczne np. w przypadku awarii jednego z elementów systemu lub konieczności jego modyfikacji.

W środowisku, w którym następuje wirtualizacja pamięci masowych, można też łatwiej zarządzać migracją danych. Jest to szczególnie ważne w tych systemach, w których mniej ważne dane są cyklicznie przenoszone do wolniejszych, ale za to tańszych systemów pamięci. Dane można też wtedy łatwiej replikować, ponieważ wirtualizacja nie wymaga stosowania rozwiązań nadmiarowych. W systemach IT, w których nie ma wirtualizacji, administrator musi kopiować wszystkie wolumeny z jednego typu systemu pamięci masowej na inny, jeśli chce mieć pewność, że wszystkie dane są spójne i znajdują się w jednym środowisku. W systemach IT z wirtualizacją administrator może kopiować tylko niektóre dane, podłączając je do ogólnej, wirtualnej puli danych.

Wirtualizacja aplikacji

Wirtualizacja coraz bardziej widoczna jest w komputerach PC. Przykładem może być wirtualizacja aplikacji, umożliwiająca odizolowanie jej od komputera, na którym jest wykonywana. Głównym celem wirtualizacji aplikacji jest eliminacja wielu problemów związanych z konfiguracją i wzajemnym zakłócaniem się uruchomionych na komputerze aplikacji. Rozwiązania do wirtualizacji aplikacji umieszczane są pomiędzy aplikacją a zasobami systemu operacyjnego, takimi jak system plików czy w przypadku Windows, rejestrem.

Wirtualizację aplikacji umożliwia m.in. Altiris Software Virtualization Solution (SVS), w którym specjalny, zainstalowany w Windows sterownik przechwytuje wszystkie wywołania wejścia-wyjścia z zarządzanych przez SVS aplikacji. W praktyce każdy aspekt interakcji aplikacji z systemem operacyjnym (od załadowania DLL po dostęp do rejestru) jest przekierowywany do lokalnego pliku cache zarządzanego przez SVS. Zaletą tego podejścia jest to, że system operacyjny jest w pełni odizolowany od aplikacji.

Konkurencyjne rozwiązanie SoftGrid firmy Softricity (ostatnio przejętej przez Microsoft) to pełne środowisko wirtualizujące - aplikacje są strumieniowo przekazywane do klienta z serwera i uruchamiane w środowisku odizolowanym od systemu. Zaletą tej metody jest możliwość uniknięcia problemów z uruchamianiem różnych wersji aplikacji. Natomiast dość skomplikowane jest wdrożenie systemu - wymaga ono stworzenia "obrazów" aplikacji i ich przystosowania do przekazywania jako strumień danych.


TOP 200