Nástroje pro virtualizaci
Z MiS
(Rozdíly mezi verzemi)
(→Typy nástrojů pro virtualizaci: Upozornění, že virtualizace API není virtualizace počítače.) |
(Odstraněn pojem "hypervizor" ve smyslu virtualizačního nástroje, který je samostatným OS.) |
||
Řádka 134: | Řádka 134: | ||
* virtualizační nástroj obvykle vystupuje jako router, virtuální stroje jsou v podsíti se soukromými IP adresami | * virtualizační nástroj obvykle vystupuje jako router, virtuální stroje jsou v podsíti se soukromými IP adresami | ||
* pokud potřebujeme, aby byly virtuální stroje servery (aby byly dostupné z ostatních fyzických počítačů), musíme toto chování změnit. | * pokud potřebujeme, aby byly virtuální stroje servery (aby byly dostupné z ostatních fyzických počítačů), musíme toto chování změnit. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Verze z 21. 11. 2018, 13:27
Obsah |
Typy nástrojů pro virtualizaci
Virtualizace serveru
- důraz na výkon, stabilitu a efektivitu
- správa běhu virtuálních strojů přes síť
- uživatelské rozhraní obvykle používáme vzdáleně (prostřednictvím sítě)
Příklady nástrojů:
- KVM, XEN, VMware ESXi
Virtualizace desktopových počítačů
- důraz na grafické rozhraní
- uživatel obvykle s virtuálním strojem pracuje na stejném počítači, kde stroj běží
- snaha, aby uživatel nejlépe vůbec nepoznal, který program běží na virtuálním stroji (seamless mode)
- typické použití:
- spouštění Photoshopu na virtuálním stroji, když uživatel používá Linux jako hlavní OS
- virtuální webový server pro ladění webových aplikací
Příklady nástrojů:
- VirtualBox, VMware Player, MS Virtual PC
Virtualizace API daného OS
Pozor, nejedná se o virtualizaci počítače v pravém slova smyslu!
- pouze překlad požadavků API
- teoreticky nejméně zatěžuje systém, je to také nejstarší přístup
- problémy s aplikacemi, které obchází služby API či pracují přímo s HW (výkonově náročné aplikace, antiviry,...)
Příklady nástrojů
- Cygwin
- Spouštění linuxových aplikací ve Windows
- Wine
- Spouštění aplikací pro Windows v prostředí GNU/Linuxu.
Virtualizace desktopů
Oracle VirtualBox
- Vydává firma Oracle (původně vyvinut firmou Innotek)
- základ pod licencí GNU GPL verze 2
- Pro operační systémy (Host OS)
- Windows, Linux, OpenSolaris i MacOS X
- Operační systémy, které lze provozovat virtuálně (Guest OS)
- Windows (NT 4.0, 2000, XP, Server 2003, Vista, Windows 7), DOS/Windows 3.x, Linux (2.4 and 2.6), Solaris a OpenSolaris a OpenBSD,...
- VirtualBox Extension Pack
- proprietární rozšíření
- nesvobodné: VirtualBox Personal Use and Evaluation License (PUEL).
- pro akademické účely, osobní použití a vyzkoušení zdarma
- nabízí navíc
- podpora zařízení USB 2.0
- připojení USB zařízení k virtuálnímu stroji pomocí standardu USB 2.0
- RDP server
- možnost připojit se k běžícímu virtuálnímu stroji vzdáleně
- základní verze má místo toho VNC server
- PXE boot
- USB over RDP
- podpora zařízení USB 2.0
- Další zdroje
VMware Workstation 6
- placené
- připravené stroje jsou k dispozici zdarma
- lze provozovat pomocí zdarma dostupného VMware Player
Windows Virtual PC
(Windows XP mode)
- ve Windows 7 Professional
Virtualizace serverů
VMware ESXi Hypervisor
- typické profesionální řešení
- základní omezená verze zdarma
KVM
- Součást jádra Linuxu
- HW-assisted
- vnořená virtualizace
- memory aggregation
- sdílení paměťových bloků mezi více virtuálními stroji, jsou-li stejné
- live migration
- PCI passthrough
- přiřadí konkrétní PCI zařízení konkrétnímu hostu
XEN/Citrix
- XEN je svoboné řešení, rozšiřující nástroje pro správu dodává Citrix placené.
Hyper-V (Microsoft)
- Microsoft Hyper-V Server 2008 R2 je samostatně k dispozici i zdarma
Virtualizace API
- Nespouští se celý operační systém, pouze se překládají volání jádra operačního systému
- Menší hardwarová náročnost (běží pouze jedno jádro operačního systému + nástroj pro překlad volání)
- Problémy s aplikacemi, které používají přímý přístup k HW či jinak obchází volání jádra OS
- antiviry a jiné systémové nástroje
- aplikace náročné na výkon počítače (Adobe Photoshop)
- programy Microsoftu (Office)
Wine
- Implementace API Win32 pro Linux.
- Umožňuje spouštět pod Linuxem aplikace určené pro Windows
Cygwin
- vyvíjí RedHat
- spouštění aplikací z prostředí Linuxu ve Windows
Možnosti virtualizačních nástrojů
- Migrace VM
- přenos běžícího (!) virtuálního stroje (VM) na jiný fyzický stroj
- pokud je VM například server a uživatelé k němu přistupují, neměli by vůbec zjistit, že k migraci došlo
- Sdílené složky
- z virtuálního stroje přistupujeme do složky fyzického stroje
- Uložení stavu virtuálního stroje
- uloží stav virtuálního stroje včetně prováděného výpočtu
- dočasně přerušíme činnost virtuálního stroje, můžeme vypnout fyzický stroj či ho restartovat
- příště při spuštění virtuálního stroje budeme pokračovat přesně v místě, kde byla činnost přerušena
- typické pro virtualizaci desktopu
- Snímky virtuálního stroje
- uložení kompletního stavu virtuálního stroje v daný moment (třeba před provedením rizikové operace)
- VM dále běží, soubory snímku se ale nemění, změny se zapisují do speciálního souboru.
- při úspěchu rizikové operace můžeme snímek zahodit, provedené změny se přidají do souborů snímku (může trvat dost dlouho)
- při neúspěchu rizikové operace můžeme obnovit snímek (soubor se změnami se zahodí, stroj zůstane přesně ve stavu, v jakém byl v okamžiku pořízení snímku
- snímky zpomalují činnost VM (při čtení dat se musí kontrolovat původní soubor snímku i soubor se změnami!)
- snímky jsou vhodné pouze pro krátkodobé uložení stavu
- Klonování VM
- vytvoření přesné kopie virtuálního stroje.
- obě kopie jsou již dále nezávislé, změny prováděné v originále se nijak nepromítnou do klonu a naopak
- klon již nelze zpětně spojit s originálem
- klonování trvá dlouho (musí se vytvořit kopie virtuálního stroje), po vytvoření klonu už ale jsou klon a originál nezávislé, nedochází ke zpomalení běhu.
- Přístup k síti
- virtualizační nástroj obvykle vystupuje jako router, virtuální stroje jsou v podsíti se soukromými IP adresami
- pokud potřebujeme, aby byly virtuální stroje servery (aby byly dostupné z ostatních fyzických počítačů), musíme toto chování změnit.