Wirtualizacja sprzętu — Hardware virtualization

Wirtualizacja sprzętowa jest wirtualizacja z komputerów jako kompletnych platform sprzętowych, pewne abstrakcje logicznych ich componentry lub tylko funkcje wymagane do uruchamiania różnych systemów operacyjnych . Wirtualizacja ukrywa przed użytkownikami fizyczne cechy platformy obliczeniowej, przedstawiając zamiast tego abstrakcyjną platformę obliczeniową. Na początku oprogramowanie sterujące wirtualizacją nazywano „programem sterującym”, ale z czasem preferowano terminy „ hiperwizor ” lub „monitor maszyny wirtualnej”.

Pojęcie

Termin „wirtualizacja” został ukuty w latach 60. XX wieku w odniesieniu do maszyny wirtualnej (czasami nazywanej „pseudomaszyną”), która sama w sobie pochodzi z eksperymentalnego systemu IBM M44/44X . Tworzenie i zarządzanie maszynami wirtualnymi zostało ostatnio nazwane „wirtualizacją platformy” lub „wirtualizacją serwerów”.

Wirtualizacja platformy jest wykonywana na danej platformie sprzętowej przez oprogramowanie hosta ( program sterujący ), który tworzy symulowane środowisko komputerowe, maszynę wirtualną (VM) dla swojego oprogramowania gościa . Oprogramowanie gościa nie ogranicza się do aplikacji użytkownika; wiele hostów umożliwia wykonywanie kompletnych systemów operacyjnych. Oprogramowanie gościa działa tak, jakby działało bezpośrednio na fizycznym sprzęcie, z kilkoma godnymi uwagi zastrzeżeniami. Dostęp do fizycznych zasobów systemowych (takich jak dostęp do sieci , wyświetlacz, klawiatura i pamięć dyskowa ) jest zwykle zarządzany na bardziej restrykcyjnym poziomie niż procesor hosta i pamięć systemowa. Goście często mają ograniczony dostęp do określonych urządzeń peryferyjnych lub mogą być ograniczeni do podzbioru natywnych możliwości urządzenia, w zależności od zasad dostępu do sprzętu wdrożonych przez hosta wirtualizacji.

Wirtualizacja często powoduje obniżenie wydajności, zarówno w zakresie zasobów wymaganych do uruchomienia hipernadzorcy, jak i zmniejszonej wydajności maszyny wirtualnej w porównaniu z działaniem natywnym na maszynie fizycznej.

Przyczyny wirtualizacji

  • W przypadku konsolidacji serwerów wiele małych serwerów fizycznych jest zastępowanych jednym większym serwerem fizycznym, aby zmniejszyć zapotrzebowanie na więcej (kosztownych) zasobów sprzętowych, takich jak procesory i dyski twarde. Chociaż sprzęt jest skonsolidowany w środowiskach wirtualnych, zazwyczaj systemy operacyjne nie są. Zamiast tego każdy system operacyjny działający na serwerze fizycznym jest konwertowany na odrębny system operacyjny działający na maszynie wirtualnej. W ten sposób duży serwer może „hostować” wiele takich „gościnnych” maszyn wirtualnych. Jest to znane jako transformacja fizyczna na wirtualną (P2V).
  • Oprócz zmniejszenia kosztów sprzętu i pracy związanych z konserwacją sprzętu, konsolidacja serwerów może również przynieść dodatkową korzyść w postaci zmniejszenia zużycia energii i globalnego śladu w ekologicznych sektorach technologii. Na przykład typowy serwer działa z mocą 425 W, a VMware szacuje współczynnik redukcji sprzętu do 15:1.
  • Maszyna wirtualna (VM) może być łatwiej kontrolowana i kontrolowana z lokalizacji zdalnej niż maszyna fizyczna, a konfiguracja maszyny wirtualnej jest bardziej elastyczna. Jest to bardzo przydatne podczas opracowywania jądra i prowadzenia kursów dotyczących systemów operacyjnych, w tym uruchamiania starszych systemów operacyjnych, które nie obsługują nowoczesnego sprzętu.
  • W razie potrzeby można udostępnić nową maszynę wirtualną bez konieczności zakupu sprzętu z góry.
  • W razie potrzeby maszynę wirtualną można łatwo przenieść z jednej fizycznej maszyny na drugą. Na przykład sprzedawca udający się do klienta może skopiować na laptopa maszynę wirtualną z oprogramowaniem demonstracyjnym, bez konieczności przenoszenia fizycznego komputera. Podobnie błąd wewnątrz maszyny wirtualnej nie uszkadza systemu hosta, więc nie ma ryzyka awarii systemu operacyjnego na laptopie.
  • Ze względu na łatwość przenoszenia, maszyny wirtualne mogą być łatwo używane w scenariuszach odzyskiwania po awarii bez obaw o wpływ odnowionych i wadliwych źródeł energii.

Jednak gdy wiele maszyn wirtualnych działa jednocześnie na tym samym hoście fizycznym, każda maszyna wirtualna może wykazywać zmienną i niestabilną wydajność, która w dużym stopniu zależy od obciążenia systemu przez inne maszyny wirtualne. Ten problem można rozwiązać za pomocą odpowiednich technik instalacyjnych w celu tymczasowej izolacji między maszynami wirtualnymi .

Istnieje kilka podejść do wirtualizacji platformy.

Przykłady zastosowań wirtualizacji:

  • Uruchamianie jednej lub więcej aplikacji, które nie są obsługiwane przez system operacyjny hosta: Maszyna wirtualna z wymaganym systemem operacyjnym gościa może zezwolić na uruchamianie żądanych aplikacji bez zmiany systemu operacyjnego hosta.
  • Ocena alternatywnego systemu operacyjnego: nowy system operacyjny można uruchomić na maszynie wirtualnej bez zmiany systemu operacyjnego hosta.
  • Wirtualizacja serwera: na jednym serwerze fizycznym można uruchomić wiele serwerów wirtualnych, aby w pełni wykorzystać zasoby sprzętowe serwera fizycznego.
  • Duplikowanie określonych środowisk: maszyna wirtualna może, w zależności od używanego oprogramowania do wirtualizacji, zostać zduplikowana i zainstalowana na wielu hostach lub przywrócona do stanu systemu z kopii zapasowej.
  • Tworzenie chronionego środowiska: Jeśli system operacyjny gościa działający na maszynie wirtualnej ulegnie uszkodzeniu w sposób, którego naprawa nie jest opłacalna, co może mieć miejsce podczas badania złośliwego oprogramowania lub instalowania źle działającego oprogramowania, maszyna wirtualna może zostać po prostu odrzucona bez szkody dla system hosta i czystą kopię używaną po ponownym uruchomieniu gościa .

Pełna wirtualizacja

Schemat logiczny pełnej wirtualizacji.

W pełnej wirtualizacji maszyna wirtualna symuluje wystarczającą ilość sprzętu, aby niezmodyfikowany „gościnny” system operacyjny zaprojektowany dla tego samego zestawu instrukcji mógł działać w izolacji. Podejście to zostało zapoczątkowane w 1966 roku wraz z IBM CP-40 i CP-67 , poprzednikami rodziny VM .

Wirtualizacja wspomagana sprzętowo

W wirtualizacji wspomaganej sprzętowo sprzęt zapewnia obsługę architektury, która ułatwia budowanie monitora maszyny wirtualnej i pozwala na uruchamianie systemów operacyjnych gości w izolacji. Wirtualizacja wspomagana sprzętowo została po raz pierwszy wprowadzona w IBM System/370 w 1972 roku, do użytku z VM/370, pierwszym systemem operacyjnym maszyny wirtualnej.

W latach 2005 i 2006 firmy Intel i AMD dostarczyły dodatkowy sprzęt do obsługi wirtualizacji. Firma Sun Microsystems (obecnie Oracle Corporation ) dodała podobne funkcje w swoich procesorach UltraSPARC T-Series w 2005 roku.

W 2006 r. stwierdzono, że obsługa 32- i 64-bitowego sprzętu x86 pierwszej generacji rzadko zapewnia przewagę wydajności nad wirtualizacją oprogramowania.

Parawirtualizacja

W parawirtualizacji maszyna wirtualna niekoniecznie symuluje sprzęt, ale zamiast tego (lub dodatkowo) oferuje specjalny interfejs API, z którego można korzystać tylko poprzez modyfikację systemu operacyjnego „gościa”. Aby było to możliwe, musi być dostępny kod źródłowy systemu operacyjnego „gościa”. Jeśli kod źródłowy jest dostępny, wystarczy zastąpić wrażliwe instrukcje wywołaniami API VMM (np.: "cli" z "vm_handle_cli()"), a następnie ponownie skompilować system operacyjny i użyć nowych plików binarnych. To wywołanie systemowe do hipernadzorcy nazywane jest w TRANGO i Xenhiperwezwaniem” ; jest implementowany za pomocą instrukcji sprzętowej DIAG („diagnozowania”) w systemie CMS IBM pod VM (co było początkiem terminu hypervisor )..

Wirtualizacja na poziomie systemu operacyjnego

W przypadku wirtualizacji na poziomie systemu operacyjnego serwer fizyczny jest wirtualizowany na poziomie systemu operacyjnego, dzięki czemu wiele izolowanych i bezpiecznych serwerów zwirtualizowanych może działać na jednym serwerze fizycznym. Środowiska systemu operacyjnego „gościa” współużytkują tę samą działającą instancję systemu operacyjnego, co system hosta. W ten sposób to samo jądro systemu operacyjnego jest również używane do implementacji środowisk „gościa”, a aplikacje działające w danym środowisku „gościa” postrzegają je jako samodzielny system.

Odzyskiwanie po awarii sprzętu wirtualizacji

Plan odzyskiwania po awarii (DR) jest często uważany za dobrą praktykę dla platformy wirtualizacji sprzętu. DR środowiska wirtualizacji może zapewnić wysoki wskaźnik dostępności w szerokim zakresie sytuacji, które zakłócają normalne operacje biznesowe. W sytuacjach, w których ważne jest ciągłe działanie platform wirtualizacji sprzętu, plan odzyskiwania po awarii może zapewnić spełnienie wymagań dotyczących wydajności sprzętu i konserwacji. Plan odzyskiwania po awarii wirtualizacji sprzętu obejmuje zarówno ochronę sprzętu, jak i oprogramowania różnymi metodami, w tym opisanymi poniżej.

Tworzenie kopii zapasowych na taśmach dla potrzeb archiwizacji danych oprogramowania w długim okresie
Ta popularna metoda może być używana do przechowywania danych poza siedzibą firmy, ale odzyskiwanie danych może być trudnym i długotrwałym procesem. Dane kopii zapasowej na taśmie są tak dobre, jak najnowsza przechowywana kopia. Metody tworzenia kopii zapasowych na taśmach będą wymagały urządzenia do tworzenia kopii zapasowych i stałego materiału do przechowywania.
Replikacja całego pliku i aplikacji
Wdrożenie tej metody będzie wymagało oprogramowania sterującego i pojemności pamięci masowej do replikacji aplikacji i przechowywania plików danych, zwykle w tej samej lokacji. Dane są replikowane na innej partycji dyskowej lub oddzielnym urządzeniu dyskowym i mogą być zaplanowaną czynnością dla większości serwerów i są bardziej implementowane dla aplikacji typu bazodanowego.
Redundancja sprzętu i oprogramowania
Ta metoda zapewnia najwyższy poziom ochrony po awarii dla rozwiązania do wirtualizacji sprzętu, zapewniając zduplikowaną replikację sprzętu i oprogramowania w dwóch różnych obszarach geograficznych.

Zobacz też

Bibliografia

Linki zewnętrzne