Wirtualizacja sprzętu
Wirtualizacja sprzętu to wirtualizacja komputerów jako kompletnych platform sprzętowych, pewnych logicznych abstrakcji ich komponentów lub tylko funkcji wymaganych do uruchamiania różnych systemów operacyjnych . Wirtualizacja ukrywa przed użytkownikami fizyczne cechy platformy obliczeniowej, przedstawiając w zamian abstrakcyjną platformę obliczeniową. Na początku oprogramowanie kontrolujące wirtualizację było nazywane „programem sterującym”, ale z czasem terminy „ hiperwizor ” lub „monitor maszyny wirtualnej” stały się preferowane.
Pojęcie
Termin „wirtualizacja” został ukuty w latach 60. XX wieku w odniesieniu do maszyny wirtualnej (czasami nazywanej „pseudomaszyną”), termin, który sam pochodzi z eksperymentalnego systemu IBM M44/44X . Tworzenie i zarządzanie maszynami wirtualnymi zostało ostatnio nazwane „wirtualizacją platform” lub „wirtualizacją serwerów”.
Wirtualizacja platformy jest wykonywana na danej platformie sprzętowej przez oprogramowanie hosta ( program sterujący ), które 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 uruchamianie 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 generalnie 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 wiąże się z obniżeniem wydajności, zarówno w zakresie zasobów wymaganych do uruchomienia hiperwizora, jak i zmniejszonej wydajności maszyny wirtualnej w porównaniu z uruchomieniem natywnej maszyny 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. Zamiast tego każdy system operacyjny działający na serwerze fizycznym jest konwertowany na odrębny system operacyjny działający w maszynie wirtualnej. W ten sposób duży serwer może „obsługiwać” wiele takich „gościnnych” maszyn wirtualnych. Jest to znane jako fizyczna-w-wirtualna (P2V).
- Oprócz zmniejszenia kosztów sprzętu i robocizny 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 sektorach technologii środowiskowo-ekologicznych. Na przykład typowy serwer działa z mocą 425 W, a firma VMware szacuje, że współczynnik redukcji sprzętu wynosi do 15:1.
- Maszynę wirtualną (VM) można łatwiej kontrolować i kontrolować ze zdalnej lokalizacji niż maszynę fizyczną, a konfiguracja maszyny wirtualnej jest bardziej elastyczna. Jest to bardzo przydatne w rozwoju jądra i do nauczania kursów dotyczących systemów operacyjnych, w tym obsługi 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 wcześniejszego zakupu sprzętu.
- W razie potrzeby maszynę wirtualną można łatwo przenieść z jednej maszyny fizycznej na inną. Na przykład sprzedawca jadący do klienta może skopiować maszynę wirtualną z oprogramowaniem demonstracyjnym na swojego laptopa, bez konieczności transportu fizycznego komputera. Podobnie błąd w maszynie wirtualnej nie szkodzi systemowi hosta, więc nie ma ryzyka awarii systemu operacyjnego na laptopie.
- Dzięki tej łatwości relokacji 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 fizycznym hoście, każda maszyna wirtualna może wykazywać zmienną i niestabilną wydajność, która w dużym stopniu zależy od obciążenia nałożonego na system przez inne maszyny wirtualne. Ten problem można rozwiązać, stosując odpowiednie techniki instalacji w celu tymczasowej izolacji między maszynami wirtualnymi .
Istnieje kilka podejść do wirtualizacji platformy.
Przykłady przypadków użycia wirtualizacji:
- Uruchamianie jednej lub więcej aplikacji, które nie są obsługiwane przez system operacyjny hosta: maszyna wirtualna z wymaganym systemem-gościem 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 serwerów: na jednym serwerze fizycznym można uruchomić wiele serwerów wirtualnych, aby pełniej 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 poprzedniego stanu systemu z kopii zapasowej.
- Tworzenie chronionego środowiska: jeśli system-gość działający na maszynie wirtualnej ulegnie uszkodzeniu w sposób, którego naprawa nie jest opłacalna, na przykład podczas badania złośliwego oprogramowania lub instalowania źle działającego oprogramowania, maszynę wirtualną można po prostu wyrzucić bez szkody dla system hosta i czystą kopię używaną po ponownym uruchomieniu gościa.
Pełna wirtualizacja
działanie niezmodyfikowanego systemu operacyjnego „gościa”, zaprojektowanego dla tego samego zestawu instrukcji , 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 wsparcie architektoniczne, które ułatwia budowanie monitora maszyny wirtualnej i umożliwia uruchamianie systemów-gości w izolacji. Wirtualizacja wspomagana sprzętowo została po raz pierwszy wprowadzona w systemie IBM System/370 w 1972 r. do użytku z VM/370, pierwszym systemem operacyjnym dla maszyn wirtualnych.
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 do swoich procesorów UltraSPARC z serii T w 2005 roku.
W 2006 roku stwierdzono, że obsługa sprzętowa pierwszej generacji 32- i 64-bitowych procesorów x86 rzadko oferowała przewagę wydajności nad wirtualizacją programową.
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ę [ wymagane wyjaśnienie ] systemu operacyjnego „gościa”. Aby było to możliwe, kod źródłowy systemu operacyjnego „gościa” musi być dostępny. 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 hiperwizora jest nazywane w TRANGO „hiper wywołaniem”. i Xen ; jest zaimplementowany za pomocą instrukcji sprzętowej DIAG („diagnozuj”) w CMS IBM pod VM [ potrzebne wyjaśnienie ] (od którego pochodzi termin hypervisor ).
Wirtualizacja na poziomie systemu operacyjnego
W przypadku wirtualizacji na poziomie systemu operacyjnego serwer fizyczny jest wirtualizowany na poziomie systemu operacyjnego, co umożliwia działanie wielu izolowanych i bezpiecznych serwerów zwirtualizowanych na jednym serwerze fizycznym. Środowiska systemu operacyjnego „gościa” współużytkują tę samą działającą instancję systemu operacyjnego, co system hosta. Tym samym to samo jądro systemu operacyjnego jest wykorzystywane również do implementacji środowisk „gościa”, a aplikacje działające w danym środowisku „gościa” traktują je jako samodzielny system.
Odzyskiwanie sprzętu po awarii wirtualizacji
Plan odzyskiwania po awarii (DR) jest często uważany za dobrą praktykę w przypadku platformy wirtualizacji sprzętu. DR środowiska wirtualizacji może zapewnić wysoką dostępność w wielu różnych sytuacjach, które zakłócają normalną działalność biznesową. W sytuacjach, w których ważne jest ciągłe działanie sprzętowych platform wirtualizacji, plan odzyskiwania po awarii może zapewnić spełnienie wymagań dotyczących wydajności sprzętu i konserwacji. Plan odzyskiwania sprzętu po awarii wirtualizacji obejmuje ochronę zarówno sprzętu, jak i oprogramowania za pomocą różnych metod, w tym opisanych poniżej.
- Taśmowe kopie zapasowe danych w oprogramowaniu do długoterminowej archiwizacji
- 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ć urządzenia do tworzenia kopii zapasowych i ciągłego przechowywania materiałów.
- Replikacja całych plików i aplikacji
- Wdrożenie tej metody będzie wymagało oprogramowania sterującego i pojemności pamięci masowej do replikacji pamięci masowej aplikacji i plików danych, zazwyczaj w tej samej lokalizacji. Dane są replikowane na innej partycji dysku lub oddzielnym urządzeniu dyskowym i mogą stanowić zaplanowaną czynność dla większości serwerów, a częściej są implementowane w aplikacjach bazodanowych.
- Nadmiarowość sprzętu i oprogramowania
- Ta metoda zapewnia najwyższy poziom ochrony rozwiązania do wirtualizacji sprzętu w przypadku odzyskiwania po awarii, zapewniając zduplikowaną replikację sprzętu i oprogramowania w dwóch różnych obszarach geograficznych.
Zobacz też
- Wirtualizacja aplikacji
- Porównanie oprogramowania do wirtualizacji platform
- Wirtualizacja pulpitu
- Dynamiczna infrastruktura
- Emulacja sprzętu
- Przechwytywanie
- Symulator zestawu instrukcji
- Wymagania wirtualizacyjne Popek i Goldberg
- Fizyczność
- Cienkie udostępnianie
- Urządzenie wirtualne
- Wirtualizacja dla agregacji
- Wirtualizacja przestrzeni roboczej
Linki zewnętrzne
- Wprowadzenie do wirtualizacji zarchiwizowano 22 października 2020 r. w Wayback Machine , autor: Amit Singh
- Xen and the Art of Virtualization , ACM, 2003, autorstwa grupy autorów
- Oprogramowanie do wirtualizacji systemu Linux
- Zoppis, Bruno (27 sierpnia 2007) [1 wyd. LinuxDevices:2007]. „Korzystanie z hiperwizora w celu uzgodnienia licencji GPL z zastrzeżonym kodem osadzonym” . Gadżety Linuxa . Zarchiwizowane od oryginału w dniu 24 grudnia 2013 r.