Pobierz
najnowszy numer

Newsletter

Zapisz się do naszego Newslettera, aby otrzymywać informacje o nowościach z branży!

Jesteś tutaj

Wstęp do wirtualizacji

Printer Friendly and PDF

leadObecnie szczególną uwagę poświęca się minimalizacji nakładów na infrastrukturę IT. Jednocześnie widać starania mające na celu zwiększenie bezpieczeństwa i dostępności usług oraz ochronę środowiska. Wirtualizacja jest jednym z elementów zabezpieczających zarówno serwery, jak i stacje robocze. Pozwala ona uniezależnić się od platformy sprzętowej, a w związku z tym umożliwia łatwą migrację maszyn wirtualnych pomiędzy fizycznymi serwerami

Zadaniem obecnej infrastruktury IT jest utrzymanie dużej dostępności, zarówno dla aplikacji już działających, jak i nowo wdrażanych. Wiąże się z tym wzrost liczby fizycznych serwerów, wysoka złożoność infrastruktury oraz wzrost kosztów utrzymania związany z zasilaniem, chłodzeniem serwerów, utrzymywaniem administratorów sieci. Na to wszystko ciągle brakuje miejsca w serwerowni. Do tego dochodzi niezbyt optymalne wykorzystywanie serwerów, które nadal mają ­strukturę x86. Średnie wykorzystanie takiego serwera zawiera się w przedziale od 5 do 15%, co jest związane nie tylko z niewykorzystaniem mocy obliczeniowej serwera, ale również z marnowaniem energii (serwer musi być ciągle zasilany i chłodzony). Jeśli istnieje podział jedna aplikacja – jeden serwer, to zwiększa się liczba serwerów, a to stwarza kolejne problemy z zasilaniem, chłodzeniem i miejscem w serwerowni. Odtworzenie systemu w razie awarii, testowanie aplikacji itp. wymaga kolejnych serwerów (problemy z zasilaniem, chłodzeniem, miejscem w serwerowni). Aby uniknąć tych wszystkich problemów, należy dokonać wirtualizacji serwerów. Umożliwia ona pełne wykorzystanie zasobów.

rys1

Rys. 1. Architektura tradycyjna – system operacyjny uruchamiany bezpośrednio na maszynie fizycznej

Na początku kilka słów na temat samej wirtualizacji. Generalnie wirtualizacja pozwala uruchomić wiele wirtualnych maszyn posiadających własny (wirtualny) sprzęt i mogących działać w różnych systemach operacyjnych na jednym fizycznym serwerze (tzw. hoście). Na jednym hoście mogą równocześnie pracować różne wirtualne maszyny działające pod kontrolą różnych systemów operacyjnych, np. MS Windows, Linux. Każda z tych wirtualnych maszyn posiada wydzielone zasoby z serwera hosta. Administrator wirtualizacji definiuje wielkość pamięci operacyjnej, liczbę kart sieciowych, pojemność dysków twardych, rodzaj kontrolerów SCSI itp. dla każdej wirtualnej maszyny. Jednym słowem definiujemy wirtualny komputer posiadający te wszystkie elementy, co serwer fizyczny, czyli procesor, pamięć operacyjną, karty sieciowe, kontrolery SCSI, płytę główną, napędy FDD, napędy CD-ROM.
Oczywiście zasoby dla wirtualnych maszyn są wydzielane z zasobów serwera hosta. Z tego wypływa prosty wniosek, iż maszyny fizyczne, które mają być użyte do wirtualizacji, muszą posiadać odpowiednie zasoby odpowiadające potrzebom uruchamianych maszyn wirtualnych.

rys2

Rys. 2. Wirtualizacja tworzy wirtualne maszyny

Biorąc pod uwagę średnie wykorzystanie procesorów ­serwerów x86 wynoszące od 5 do 15% można przewidzieć, iż na jednym serwerze można uruchomić co najmniej kilka wirtualnych maszyn. Dzięki temu można uzyskać wysoki stopień wykorzystania zasobów, czyli pełnego wykorzystania sprzętu, a jednocześnie zredukować liczbę serwerów fizycznych, np. z dziesięciu do jednego. Weźmy pod uwagę to, że współczesne serwery zazwyczaj mają procesory czterordzeniowe, więc na jednym serwerze można uruchomić około 32 wirtualnych maszyn. Oczywiście jest to wartość przybliżona, gdyż może się zdarzyć, że dana wirtualna maszyna będzie potrzebować więcej niż jednego procesora lub pewne maszyny wirtualne będą mocniej obciążały system hosta niż inne itp. Im wyższy priorytet ma wirtualna maszyna, tym więcej cykli procesora przydziela jej system wirtualizacji – więcej niż innym wirtualnym serwerom, co w konsekwencji skutkuje wydajniejszą pracą maszyny.

Uniezależnienie systemu operacyjnego wirtualnej maszyny od fizycznej budowy serwera hosta ułatwia przeniesienie wirtualnej maszyny na serwer fizyczny bez konieczności przeinstalowania systemu operacyjnego i odzyskiwania danych na nowej maszynie. Wymagana jest tylko instalacja warstwy wirtualizacji na sprzęcie fizycznym. Wirtualne maszyny dostają wirtualny sprzęt, który zawsze jest taki sam, niezależnie od tego, jaki jest sprzęt fizyczny (dlatego możliwe jest łatwe przenoszenie wirtualnych maszyn pomiędzy fizycznymi serwerami). Kolejną funkcją umożliwiającą przenoszenie maszyn jest ich hermetyzacja, czyli umieszczenie wirtualnej maszyny w kilku plikach. Cała wirtualna maszyna to jeden katalog, w którym są wszystkie pliki, a w nich wszystkie niezbędne do uruchomienia tej maszyny informacje. Jest m.in. informacja o liczbie procesorów, pamięci, kartach sieciowych, dyskach (o wielkości dysku i ścieżce do pliku dysku), są pliki z zawartością wirtualnych dysków itp. Kopiując te pliki z jednego serwera na drugi, jesteśmy w stanie uruchomić wirtualną maszynę na nowym fizycznym sprzęcie bez konieczności dokonywania zmian na poziomie systemu operacyjnego maszyny wirtualnej.

Wprowadzając wirtualizację osiągamy zwiększenie współczynnika wykorzystania zasobów, zwiększenie ciągłości biznesowej. Bezpieczeństwo eksploatowanych systemów zależy również od testowania i rozwoju aplikacji. Wyobraźmy sobie sytuację, że przez pewien czas administratorowi wyświetla się okno serwisowe. W tym czasie musi zainstalować krytyczną poprawkę do systemu. Co się stanie, jeśli akcja ta nie powiedzie się? W najgorszym przypadku administrator będzie musiał odzyskać konfigurację i zawartość serwera z kopii zapasowej. Dzięki wirtualizacji może zapisać obraz serwera – wykonać zdjęcie migawkowe (snapshot) – przed dokonaniem krytycznych instalacji. Jeśli instalacja krytycznej poprawki powiedzie się, obraz serwera może zostać usunięty, a jeśli spowoduje ona nieprawidłowe działanie serwera, administrator może przywrócić jego stan dzięki zapisanemu obrazowi. Ten przykład pokazuje jedną z wielu zalet wirtualizacji.

Kolejne zalety to oszczędności związane ze zmniejszeniem liczby serwerów fizycznych – mniejsze koszty zakupu infrastruktury fizycznej, mniejsze koszty zasilania (mniej fizycznych serwerów – np. zamiast dwudziestu są tylko dwa) i chłodzenia (mniej maszyn generuje mniejszą ilość ciepła), zaoszczędzenie miejsca w serwerowni, uproszczenie infrastruktury fizycznej (podłączone są tylko dwa serwery, a nie 20), a co za tym idzie mniejsza liczba portów na urządzeniach aktywnych. Planowane i nieplanowane przestoje powodują wzrost kosztów operacyjnych. W rozwiązaniach fizycznych (podejście tradycyjne) produkty umożliwiające dużą dostępność są drogie i zazwyczaj stosuje się je tylko w wybranych, krytycznych systemach. Stosując wirtualizację, uzyskujemy dużą dostępność niejako z marszu. Oczywiście także wirtualizacja wymaga określonych nakładów, szczególnie na infrastrukturę zasobów dyskowych, jeżeli chce się uzyskać pełnię jej możliwości, jednak w ostatecznym rozrachunku opłaca się nie tylko ze względu na koszty, ale także utrzymanie infrastruktury.

Paweł Duda
OPTeam

Zabezpieczenia 3/2010

Wszelkie prawa zastrzeżone. Kopiowanie tekstów bez zgody redakcji zabronione / Zasady użytkowania strony