Srovnání virtualizačních technik

Kontejnerová virtualizace

V rámci jednoho operačního systému OS, vytváří vzájemně oddělená prostředí – kontejnery. Lze tak na jednom stroji provozovat kupř. několik webových serverů, aniž by bylo nutné mít pro každý z nich nainstalovaný kompletní systém.

+-------+  +-------+
|  App  |  |  App  |
+-------+  +-------+
+------------------+
|       Linux      |
+------------------+
+------------------+
|     Hardware     |
+------------------+

Výhody:

  • menší náročnost na systémové prostředky
  • menší technická náročnost – kontejnery se vytváří v rámci jedné instalace
  • nad hardware běží pouze jedno jádro – kontejnery využívají společnou MM, power management, scheduler, ..

Nevýhody:

  • nejde o opravdovou virtualizaci – používá se stejný kernel, stejný OS a oddělení není úplné.
  • problém s technologiemi jako SELinux, AppArmor

Příklady:

  • chroot – Změna kořenového adresáře procesu. Root v chrootu ale může stále přistupovat k systémovým prostředkům
  • OpenVZ – podobné Solaris Zones, každý kontejner má svoje uživatele, svého roota, svůj /proc, /sys Vyžaduje patch pro kernel
  • BSD Jail
  • Solaris Zones

Softwarová virtualizace

Při softwarové virtualizaci se emuluje celá hardwarová platforma, na které běží virtualizovaný systém.

+-----+ +-----------+ +-----------+
|     | |    App    | |    App    |
|     | +-----------+ +-----------+
| App | |  GuestOS  | |  GuestOS  |
|     | +-----------+ +-----------+
|     | | Virt. App | | Virt. App |
+-----+ +-----------+ +-----------+
+---------------------------------+
|              Linux              |
+---------------------------------+
+---------------------------------+
|             Hardware            |
+---------------------------------+

Výhody:

  • Možnost emulace nedostupného hardware – včetně architektury procesoru

Nevýhody:

  • Velmi nízký výkon virtuálních strojů

Příklady:

  • QEMU (bez modulů jako KVM-Qemu nebo KQEMU)

Paravirtualizace

Paravirtualizací se rozumí technika virtualizace, kdy se prostředí pro virtualizovaný stroj neemuluje úplně, ale část instrukcí se zpracovává přímo prostřednictvím reálného prostředí. To však předpokládá spolupráci virtualizovaného stroje s hostitelem. Podmínkou pro paravirtualizaci tedy je odpovídajícím způsobem nakonfigurované jádro hostitele resp. zavedené moduly které komunikaci mezi virtuály a jádrem zprostředkují.

+-----+ +-----------+ +-----------+
| App | |    App    | |    App    |
+-----+ +-----------+ +-----------+
|     | |  GuestOS  | |  GuestOS  |
|     | +-----------+ +-----------+
|     | | Virt. App | | Virt. App |
|     | +-----------+ +-----------+
|     +---------------------------+
|  Linux s podporou virtualizace  |
+---------------------------------+
+---------------------------------+
|             Hardware            |
+---------------------------------+

Výhody:

  • Vysoký výkon – to je dáno tím, že většinu výpočetního výkonu realizuje skutečný procesor a emulovaný virtuální HW se výkonem od skutečných zařízení zas tolik neliší.

Nevýhody:

  • Nelze virtualizovat úplně odlišný hardware (například jinou architekturu procesoru)
  • Pro dosažení vyššího výkonu je třeba upravit kód virtualizovaného systému, což přináší problémy tam kde není přístup ke zdrojovým kódům, popř. neexistují pro virtualizovaný systém příslušné ovladače.

Příklady:

  • QEMU (s jaderným modulem KQEMU)
  • VMware Workstation
  • VMware Server (dříve GSX)
  • VirtualBox
  • XEN (pro paravirtualizaci vyžaduje upravený hostitelský systém)

Plná virtualizace

Plná virtualizace vyžaduje podporu ze strany procesoru. Jelikož se procesorové instrukce u AMD liší od těch na Intelu, používají i virtualizační nástroje jiný kód podle typu procesoru.

Rozdělování systémových prostředků tak neřeší hostitelský systém, ale tzv. hypervizor (u KVM funguje jako hypervizor linuxové jádro), který pro každý virtualizovaný systém vytváří vlastní sadu virtualizovaných prostředků. Systém v Dom0 většinou obsahuje nástroje pro práci s hypervizorem, tj. není přímo hypervizorem samotným. (jak už bylo zmíněno – výjimkou je KVM)

+---------+ +---------+  +---------+
|   App   | |    App  |  |   App   |
+---------+ +---------+  +---------+
| GuestOS | | GuestOS |  | GuestOS |
+---------+ +---------+  +---------+
|   Dom0  | |   DomU  |  |   DomU  |
+---------+ +---------+  +---------+
+----------------------------------+
|             Hypervizor           |
+----------------------------------+
+----------------------------------+
| Hardware s podporou virtualizace |
+----------------------------------+

Výhodou je, že není třeba žádné modifikace virtualizovaného OS. Nevýhodou je nutnost emulovat kompletní hardware virtualizovaného stroje a tedy o něco nižší výkon oproti paravirtualizaci.

Příklady:

  • KVM (Hypervizor je obsluhován přes QEMU skrze jaderným modul KVM-Qemu)
  • XEN
  • VMware ESX server

Zdroj: http://cs.wikibooks.org/wiki/Virtualizace_v_Linuxu

Diskuze

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *

Přejít nahoru