Pojęcie wirtualizacji związane jest z technologiami działającymi pomiędzy komputerem a jego oprogramowaniem. Jej korzenie sięgają idei partycjonowania, pozwalającej dzielić jeden serwer fizyczny na wiele serwerów logicznych.
Pojęcie wirtualizacji związane jest z technologiami działającymi pomiędzy komputerem a jego oprogramowaniem. Jej korzenie sięgają idei partycjonowania, pozwalającej dzielić jeden serwer fizyczny na wiele serwerów logicznych.
Pokazując logiczny, zamiast fizycznego, widok zasobów, wirtualizacja daje inne spojrzenie na rzeczywistość: zobaczysz, że system operacyjny zacznie traktować odrębne serwery jako jeden zasób. Z drugiej strony, może uruchomić wiele systemów operacyjnych jednocześnie na pojedynczej maszynie.
Korzenie wirtualizacji sięgają idei partycjonowania, pozwalającej dzielić jeden fizyczny serwer na wiele serwerów logicznych. Na każdym z nich mogły działać niezależny system operacyjny i aplikacje. W 1990 r. wirtualizacji używano głównie do przemodelowania środowiska użytkownika końcowego, jako części sprzętu całej struktury. Administrator sieci, chcąc wdrożyć nowy software, używał wirtualizacji do stworzenia różnych środowisk użytkownika.
Z chwilą pojawienia się architektury x86 i tanich komputerów, wirtualizacji używa się szerzej, a nie tylko w obszarze mainframe. Zawdzięczamy to głównie obecnemu liderowi rynku - VMware - który w 1999 r. wprowadził pierwszy hypervisor dla architektury x86. Dzisiejszy boom wirtualizacji jest tego echem.
Do czego potrzebuję wirtualizacji?
Wszystko wskazuje na to, że dążenie do wprowadzania wirtualizacji szybko się nie skończy. Wirtualizacja przynosi bowiem firmom coraz to nowe korzyści. Widać to wyraźnie w przypadku idei konsolidacji serwerów, która daje wymierne oszczędności. Według analityków rynku, 60 - 80% departamentów IT stara się wprowadzić projekt konsolidacji serwerów. Redukując liczbę serwerów obsługujących aplikacje, firmy szukają sposobów na obniżenie wydatków. Mniejszy pobór mocy, zarówno przez serwery, jak i ich system chłodzący, a także lepsze wykorzystanie zasobów, przekłada się na firmowe korzyści. Analitycy raportują, że większość firm używa wirtualizacji w trakcie testów i wdrożeń. Wirtualizacja ewoluowała od prostego narzędzia do uruchamiania wielu systemów operacyjnych w kierunku doskonałego narzędzia znakomicie wspomagającego wdrożenia. Pozwala twórcom oprogramowania pracować w idealnym miejscu - na jednej stacji roboczej - lecz tworzyć kod dla wielu zróżnicowanych środowisk i, co być może jest najważniejsze, testować go w wirtualnym środowisku, które bez szkody dla firmy przyjmie każdy błąd i awarię. To wszystko pozwala bez strachu łączyć systemy, testować rozwiązania, konsolidować sieci i serwery.
W jaki sposób wirtualizacja usprawni biznes?
Wirtualizacja znacznie zwiększa elastyczność biznesu. Firmy, które wprowadziły techniki wirtualizacji, są w lepszej sytuacji, kiedy biznes zmienia zapotrzebowanie. Co więcej, ta technologia umożliwia zmianę myślenia menedżerów IT o zasobach firmy. O wiele łatwiej jest działać, gdy zarządzanie pojedynczym komputerem przestaje być konieczne.
Jakie są typy wirtualizacji?
Wyróżniamy trzy główne kategorie wirtualizacji: wirtualizacja zasobów łączy zasoby wielu systemów, by były widziane jako jeden; wirtualizacja sieci przelicza zasoby sieci, dzieląc przepustowość na indywidualne kanały, które można podpiąć do różnych serwerów w czasie rzeczywistym; wirtualizacja serwerów ukrywa fizyczną naturę ich zasobów, liczbę, identyfikację, procesory i system operacyjny, przed oprogramowaniem, które na nich pracuje.
Terminologia
Hypervisor - to podstawowy komponent wirtualizacji. Oprogramowanie, które tworzy dodatkową warstwę abstrakcji, oddziela system operacyjny i aplikacje od ich zasobów fizycznych. Ma własny kernel i jest instalowany bezpośrednio na sprzęcie. Inaczej mówiąc, jest włożony pomiędzy hardware i OS.
Maszyna wirtualna (virtual machine - VM) - to środowisko operacyjne - oprogramowanie, które działa z systemem operacyjnym, będąc niezależne od niego. Platformą i środowiskiem dla systemu - niezależną emulacją CPU realizującego kompilowany kod. VM jest stworzone specjalnie dla OS, na którym będzie uruchomione.
Parawirtualizacja - typ wirtualizacji, w którym cały OS jest wydzielony, działa na hypervisorze i komunikuje się z nim bezpośrednio, by nie kolidować z innymi systemami wirtualnymi. Zwykle daje to lepszą wydajność, lecz kernel OS i hypervisor muszą być zmodyfikowane do takiej pracy. Pełna wirtualizacja występuje wtedy, gdy warstwa abstrakcyjna realizuje wszystkie odwołania do zasobów sprzętowych. Parawirtualizacja opiera się na architekturze x86. Zarówno Intel, jak i AMD wspierają tę technikę bez potrzeby modyfikacji OS.
Wirtualizacja aplikacji - izoluje oprogramowanie od hardware i OS, sprawiając, że są niezależne i można je przenosić, nie przeszkadzając systemowi w pracy. Umożliwia też uzyskanie znacznie większej kompatybilności pomiędzy programami.
Virtual appliance (VA) - to prewbudowana i preskonfigurowana aplikacja, współpracująca z hypervisorem. Jest zaszyta w systemie operacyjnym maszyny wirtualnej, jej celem jest ułatwienie instalacji i konfiguracji oprogramowania.
Projekt Xen - jest wolnym oprogramowaniem typu open source. To hypervisor, dedykowany systemom x86. Dostępny od 2003 r., na licencji GNU (General Public). Stworzony na University of Cambridge jako projekt naukowy - którego twórcy złożyli później XenSource - dziś wspierany przez większość największych korporacji, włączając Microsoft, Novell czy IBM.
Jak zarobić na wirtualizacji?
Departamenty IT zgodnie twierdzą, że wirtualizacja da się łatwo przeliczyć na pieniądze. Przykładowo, przeciętna firma używa 5 - 25% pojemności serwerów. Większość mocy pobieranej przez sprzęt idzie na "grzanie pomieszczenia", w jałowym cyklu pracy. Zaprzęgnięcie wirtualizacji do konsolidacji nieużywanych serwerów x86 w centrum danych skutkuje natychmiastową oszczędnością pieniędzy. Podstawową zaletą jest redukcja liczby serwerów w centrum danych. Mniej maszyn to mniejsze zużycie prądu przez serwery i system chłodzenia, który musi działać non stop, by nie dopuścić do przegrzania. Wirtualizacja daje możliwość przewidywania rozwoju centrum danych, a mówiąc inaczej, określenia jego rozbudowy. Wskazuje, jak optymalnie zapełnić miejsce zajęte przez szafy rack, dając przestrzeń rozwoju serwerowi. W jednym zdaniu: znakomicie upraszcza administratorom planowanie rozwoju IT.
Jakie wyzwania spotkam?
Technologia zmienia zarządzanie i administrację centrum danych. Przykładowo, przed wirtualizacją serwerów można było pójść do centrum danych, kazać administratorowi wymienić pięć głównych aplikacji i wskazać serwery, na których są uruchomione. Wirtualizacja to uniemożliwia. Poza tym trudno zmierzyć wydajność aplikacji. Ponieważ żyją w wirtualnym świecie pomiędzy maszynami, administrator musi doskonale orientować się, jak działa wirtualne centrum danych. W poznaniu tego świata pomogą dostawcy, którzy dają oprogramowanie pokazujące, na jakiej zasadzie działają aplikacje. Jednakże każde centrum danych działa inaczej i administrator powinien wiedzieć, jak wygląda jego system.
Dlaczego powinienem interesować się wirtualizacją?
Rdzeń technologii wirtualizcji - hypervisor - jest na najlepszej drodze do standaryzacji. Główni dostawcy oprogramowania (np. Microsoft, Sun Microsystems, BEA Systems, Hewlett-Packard, BMC i CA) wspierają go, traktując jako część standardowego oprogramowania. Różni ich umiejętność dostarczenia narzędzi do zarządzania, monitorowania i optymalizacji alokacji wirtualnych zasobów. Dlatego też należy szukać rozwiązań oferujących łatwe w użyciu narzędzia (generatory statystyk, procedury), umożliwiające sprawne zarządzanie systemem. Następne narzędzia umożliwią sprawne zarządzanie. Infrastruktura stworzona przez VMware zawiera wszystko - serwery ESX, pamięć, sieć, storage oraz aplikacje złączone w jeden sprawny i łatwo zarządzany system. Wirtualizacja może uprościć i zredukować wymagania sprzętowe centrum danych, lecz może jednocześnie zwiększyć poziom złożoności zarządzania tych serwerów. Szukaj więc rozwiązań pozwalających na jednoczesne zarządzanie maszyną realną i wirtualną. Warto mieć możliwość sprawnej migracji aplikacji i OS, bez modyfikacji, do wirtualnego środowiska. Migracja nie powinna mieć wpływu na wydajność aplikacji. Potrzebujesz też rozwiązań integrujących wirtualizację z narzędziami zarządzania systemem, jakie już posiadasz. Wirtualizacja przestaje kojarzyć się wyłącznie z konsolidacją serwerów. Główni dostawcy proponują już systemy "live migration", pozwalające administratorom pracować łatwiej i bardziej produktywnie.