Wprowadzenie do wirtualizacji

Wstęp

Maszyna wirtualna (ang. virtual machine, VM) ogólna nazwa dla programów tworzących środowisko uruchomieniowe dla innych programów. Maszyna wirtualna kontroluje wszystkie odwołania uruchamianego programu bezpośrednio do sprzętu lub systemu operacyjnego i zapewnia ich obsługę. Sam proces wirtualizacji maszyn polega na stworzeniu autonomicznej maszyny wewnątrz naszego komputera, który może być traktowany jako nasz drugi komputer. Na takiej maszynie instalujemy system operacyjny,
co pozwala uruchomić „system w systemie”. Co więcej, systemy te są uruchamiane jednocześnie.

Maszyna wirtualna, na której pracujemy to tzw. „Host” (gospodarz),
zaś systemy wirtualne to systemy „Guest” (goście). Co sprawia, że maszyny wirtualne są często wykorzystywane? Otóż, wszystko to co się dzieje na wirtualnym systemie pracuje w wyizolowanym środowisku
i pozwala na bezpieczne testowanie różnego oprogramowania, jak i samych systemów bez szkody dla naszego głównego systemu.

W niektórych zastosowaniach (np. sieci komputerowe) wydajność systemów wirtualnych jest porównywalna z wydajnością natywnie zainstalowanego systemu operacyjnego. Bardzo ważnym elementem struktury jest hypervisor, który jako programowe narzędzie pozwala na jednoczesne działanie wielu systemów operacyjnych na jednym fizycznym komputerze. Można wyróżnić dwa rodzaje hypervisorów:

  • Typu 1 – tzw. natywny, który jest uruchomiony bezpośrednio na sprzęcie komputerowym.
    Mając nad nim pełną kontrolę i monitorując uruchomione systemy operacyjne, a w warstwie wyższej są uruchamiane „systemy goście” (rozwiązania oparte o VMware ESXi, Citrix XenServer czy Microsoft Hyper-V)

  • Typu 2 – tzw. hostowany (ang. hosted), który jest uruchomiony w systemie operacyjnym gospodarza (działa jako program i jest tzw. emulatorem), a „systemy goście” są uruchamiane na trzecim poziomie powyżej sprzętu komputerowego

Historia

Koncepcja wirtualizacji ma swoje korzenie w późnych latach 60-tych i wczesnych 70-tych, kiedy to firma IBM zainwestowała wiele czasu i wysiłku w opracowanie solidnych rozwiązań do współdzielenia czasu.

Wyrażenie Time-sharing odnosi się do wspólnego korzystania z zasobów komputerowych przez dużą grupę użytkowników, co ma na celu zwiększenie wydajności zarówno użytkowników, jak i drogich zasobów komputerowych, które współdzielą. Model ten stanowił istotny przełom w technologii komputerowej:

  • koszt zapewnienia możliwości obliczeniowych znacznie spadł
  • możliwe stało się korzystanie z komputera przez organizacje, czy osoby prywatne, bez konieczności posiadania go na własność.

Dzisiejsze centra danych wykorzystują techniki wirtualizacji do:

  • omijania fizycznego sprzętu
  • tworzenia dużych zagregowanych pul zasobów logicznych składających się z procesorów, pamięci, dysków,
  • przechowywania plików, aplikacji, sieci
  • oferowania tych zasobów użytkownikom lub klientom w postaci skalowalnych i zintegrowanych maszyn wirtualnych.

 Technologia i przypadki użycia wirtualizacji znajdują się w ciągłej ewolucji, jednak podstawowe jej znaczenie ciągle pozostaje takie samo: umożliwienie środowisku obliczeniowemu uruchomienia wielu niezależnych systemów w tym samym czasie.

 

Rodzaje wirtualizacji

Wirtualizacja serwera – pozwala na uruchomienie wielu systemów operacyjnych na jednym fizycznym serwerze, w postaci bardzo wydajnych maszyn wirtualnych. Główne zalety zastosowania wirtualizacji serwera to: zwiększona wydajność stosowanych rozwiązań IT,

  • zmniejszenie kosztów utrzymania urządzeń
  • sprawniejszy i proporcjonalny podział obciążenia pracą
  • zwiększona wydajność działania aplikacji
  • większa dostępność serwera

Wirtualizacja pamięci masowych – zastosowanie wirtualizacji pamięci masowych pozwala na maksymalne wykorzystanie posiadanych przez klienta przestrzeni dyskowych, a także zmniejszenie kosztów eksploatacji. Zapewnia to:

  • łatwiejszą skalowalność danych,
  • zwiększoną elastyczność zasobów,
  • optymalne wykorzystanie dostępnego miejsca
  • lepsze wykorzystanie już istniejącej infrastruktury pamięci masowej

Wirtualizacja sieciowa – stworzenie wirtualnej sieci cechującej się całkowitym odwzorowaniem sieci fizycznej pozwala na pracę z aplikacjami bez zmniejszenia komfortu czy szybkości pracy. Aplikacje działają dokładnie tak samo jak w sieci fizycznej, jednak użytkownik zyskuje dodatkowe zalety związane z łatwością obsługi oraz niezależnością od ograniczeń sprzętowych. W przypadku wirtualizacji sieciowej uzyskujemy logiczny podział na niezbędne porty, switche, routery, zabezpieczenia (firewalle itp.), czy VPNy – użytkownik może w dowolny sposób dzielić obciążenie pracą aby uzyskać jak najlepszy efekt końcowy.

Wirtualizacja pulpitu – wdrożenie pulpitów jako zarządzalnej usługi umożliwia przedsiębiorstwu szybsze odpowiadanie na zmieniające się potrzeby
i wymagania środowiska pracy. Zastosowanie wirtualizacji pulpitów umożliwia firmom szybkie i sprawne dostarczanie aplikacji do oddziałów firmy bądź pracujących zdalnie pracowników, a także pozwala na pracę z urządzeń mobilnych (głównie z systemem iOS lub Android).







Last modified: Sunday, 24 April 2022, 9:40 PM