ISK: wirtualizacja
This commit is contained in:
@@ -0,0 +1,37 @@
|
|||||||
|
# Charakterystyka wybranej techniki wirtualizacji
|
||||||
|
(to jest oczywiście dość rozległe zagadnienie i sami możemy wybrać o czym dokładnie powiemy, tu spróbowałem zebrać trochę informacji o różnych odmianach wirtualizacji, tak żebyście mieli rozeznanie w temacie)
|
||||||
|
|
||||||
|
__Wirtualizacja sprzętu__
|
||||||
|
Istotą wirtualizacji sprzętu jest uruchamianie na jednym fizycznym komputerze (__gospodarzu__, ang. _host_) wielu maszyn wirtualnych (__gości__, ang. _guest_), działających jak oddzielne komputery i umożliwiających instalację różnych systemów operacyjnych.
|
||||||
|
|
||||||
|
Istnieją dwa rodzaje wirtualizacji sprzętu:
|
||||||
|
- __pełna wirtualizacja__ – wirtualizacja całego sprzętu wchodzącego w skład maszyny wirtualnej, dzięki czemu system operacyjny gościa pracuje tak samo, jak na fizycznej maszynie (z jego poziomu nie widać żadnej różnicy) i nie musi być modyfikowany do uruchamiania na maszynie wirtualnej,
|
||||||
|
- __parawirtualizacja__ – uruchamianie w wydzielonym środowisku gościa specjalnie zmodyfikowanej wersji systemu operacyjnego, tak by nie była konieczna wirtualizacja sprzętu, dzięki czemu system gościa może pracować wydajniej niż w przypadku pełnej wirtualizacji.
|
||||||
|
|
||||||
|
Oprogramowanie służące do tworzenia maszyn wirtualnych na maszynie gospodarza nazywa się __hipernadzorcą__ (ang. _hypervisor_) lub __menedżerem maszyn wirtualnych__ (ang. _virtual machine monitor_).
|
||||||
|
|
||||||
|
Wyróżniane są dwa rodzaje hipernadzorców:
|
||||||
|
- __hipernadzorca typu 1__ – uruchamiany bezpośrednio na sprzęcie gospodarza i mający nad nim pełną kontrolę, umożliwiający uruchamianie systemu operacyjnego gościa w trybie parawirtualizacji lub pełnej wirtualizacji – przykłady: Xen, VMware ESX, Microsoft Hyper-V,
|
||||||
|
- __hipernadzorca typu 2__ – uruchamiany jako program pod kontrolą systemu operacyjnego gospodarza, umożliwiający uruchamianie systemu operacyjnego gościa w trybie pełnej wirtualizacji jako jeden z procesów w systemie gospodarza – przykłady: VirtualBox, VMware Workstation, KVM.
|
||||||
|
|
||||||
|
W celu zwiększenia wydajności zwirtualizowanych systemów zostały opracowane technologie __sprzętowego wspomagania wirtualizacji__ (w przypadku architektury x86: Intel VT-x, AMD-V). Pozwalają one hipernadzorcy obsługiwać sprzętowo część żądań systemu gościa zamiast ich przetwarzania programowego, co zmniejsza obciążenie maszyny gospodarza (i jest istotne przede wszystkim przy pełnej wirtualizacji).
|
||||||
|
|
||||||
|
__Wirtualizacja na poziomie systemu operacyjnego (konteneryzacja)__
|
||||||
|
Konteneryzacja polega na uruchamianiu w obrębie jednego systemu operacyjnego różnych aplikacji w wydzielonych, izolowanych przestrzeniach użytkownika (nazywanych kontenerami). Każdy kontener posiada swój system plików (zawierający wszystkie zależności potrzebne do uruchomienia aplikacji), współdzieli natomiast z systemem gospodarza jądro systemu operacyjnego. Dzięki temu możliwe jest zapewnienie różnym programom oddzielnych środowisk roboczych bez konieczności wirtualizacji systemu operacyjnego i związanych z tym spadków wydajności. Przykłady: Docker (Linux, obecnie najpowszechniejszy mechanizm konteneryzacji), wbudowane mechanizmy Linuksa (LXC), Solarisa (zones), FreeBSD (jails).
|
||||||
|
|
||||||
|
__Wirtualizacja sieci__
|
||||||
|
Wyróżnia się dwa podstawowe rodzaje wirtualizacji sieci:
|
||||||
|
- __wewnętrzną__ – wirtualizacja interfejsów sieciowych, przełączników i innych urządzeń sieciowych w celu zapewnienia łączności maszyn wirtualnych (lub kontenerów) w zależności od potrzeby między sobą nawzajem, systemem gospodarza lub siecią zewnętrzną,
|
||||||
|
- __zewnętrzną__ – logiczny podział sieci lokalnych na podsieci z wykorzystaniem VLANów (na poziomie konfiguracji urządzeń sieciowych, przede wszystkim przełączników), niezależnie od fizycznej struktury urządzeń w sieci.
|
||||||
|
|
||||||
|
__Wirtualizacja serwerów__
|
||||||
|
Wykorzystanie różnych rodzajów wirtualizacji (np. wirtualizacji sprzętu lub konteneryzacji i wewnętrznej wirtualizacji sieci) do uruchamiania na jednej fizycznej maszynie wielu niezależnych serwerów, mogących posiadać różnych administratorów. Umożliwia to często optymalniejsze wykorzystanie zasobów fizycznych serwerów i ułatwia utrzymanie sprzętu w porównaniu z używaniem oddzielnych fizycznych maszyn dla każdego z serwerów.
|
||||||
|
|
||||||
|
__Wirtualizacja pulpitu__
|
||||||
|
Wykorzystanie różnych rodzajów wirtualizacji w celu oddzielenia używanego przez użytkownika systemu operacyjnego od sprzętu, przy którym pracuje. Najczęściej system operacyjny jest uruchomiony na serwerze, a użytkownicy łączą się z nim przez sieć (zwykle za pomocą cienkich klientów) – dzięki temu użytkownik ma dostępne zawsze to samo środowisko pracy niezależnie od stanowiska, ułatwia to też administrację systemami użytkowników.
|
||||||
|
|
||||||
|
W prostszym wariancie może być wykorzystana wirtualizacja sesji – wtedy wielu użytkowników używa jednego systemu operacyjnego uruchomionego na odpowiednio wydajnym serwerze – przykłady: LTSP (projekt społecznościowy), Sun Ray (Oracle, wycofywany).
|
||||||
|
W bardziej skomplikowanym wariancie używa się wirtualizacji sprzętu – system operacyjny każdego z użytkowników jest uruchomiony w maszynie wirtualnej na serwerze – przykłady: VMware Horizon, Citrix XenDesktop.
|
||||||
|
|
||||||
|
__Wirtualne sieci prywatne (VPN)__
|
||||||
|
Wykorzystanie wirtualnych szyfrowanych połączeń punkt-punkt zestawianych przez publiczne łącza, w celu łączenia odległych sieci lokalnych bezpiecznym kanałem bez konieczności dzierżawienia własnych łącz od operatorów (kosztowne) lub w celu zdalnego dostępu do sieci wewnętrznej z dowolnego miejsca w internecie (np. do sieci firmowej z domu pracownika) – przykłady protokołów: OpenVPN, IKEv2+IPSec, Cisco IPSec.
|
||||||
Reference in New Issue
Block a user