Virtualizace PC Co je to virtualizace?

Virtualizace je v informatice ozna čení postup ů a technik, které umož ňují v po číta či přistupovat k dostupným zdroj ům jiným zp ůsobem, než jakým fyzicky existují.

Virtualizovat lze na r ůzných úrovních, od celého po číta če (tzv. virtuální stroj), po jeho jednotlivé hardwarové komponenty (nap ř. virtuální procesory, virtuální pam ěť atd.), případn ě pouze SW prost ředí (virtualizace OS).

Původní význam termínu virtualizace , pocházející z 60. let 20. století, je vytvá ření virt.stroj ů za pomoci kombinace hardwaru a softwaru. Pro lepší srozumitelnost toto budeme nazývat virtualizací platformy . Druhy virtualizace

- emulace nebo simulace - nativní virtualizace a plná virtualizace - částe čná virtualizace (a virtualizace adresního prostoru) - paravirtualizace - virtualizace na úrovni OS - aplika ční virtualizace Emulace nebo simulace

- virtuální stroj simuluje celý hardware, dovoluje b ěh neupraveného OS hosta na zcela odlišném procesoru. Tento p řístup je dlouho používán za ú čelem tvorby softwaru pro procesory, které nejsou fyzicky dostupné. P říklady zahrnují , PearPC , Microsoft Virtual PC pro PowerPC , QEMU bez akcelerace a emulátor Hercula . Emulace je implementována širokou škálou technik od stavových automat ů až pod dynamickou rekompilaci na pln ě virtualizovaných platformách.

Nativní virtualizace a plná virtualizace - virtuální stroj simuluje dostate čné množství hardwaru tak, aby umožnil odd ělený b ěh neupraveného OS hosta ur čeného pro stejný druh CPU. Obvykle je možný soub ěh více instancí. Tato p řístup se objevil v roce 1966 u systému CP-4O a CP[-67]/CMS (p ředch ůdce rodiny VM od IBM ). P říklady zahrnují VirtualBox , , Virtual PC , VMware Workstation , VMware Server (d říve znám jako GSX Server), VMware ESX Server , QEMU , Parallels Desktop , Adeos , Mac-On- , Win4BSD , Pro , Hyper-V a z/VM . Částe čná virtualizace (a virt. adresního prostoru)

- virtuální stroj simuluje více instancí mnoha (ale ne všech) prost ředí hardwaru, na kterém b ěží hostitel, p ředevším adresního prostoru . Takové prost ředí podporuje sdílení zdroj ů a izolaci proces ů, ale neumí odd ělit instance hostovaných OS. A čkoliv obecn ě nelze hovo řit o virtuálním stroji , jedná se o významný p řístup z historického hlediska. Byl použit u systém ů CTSS , pokusného IBM M44/44X a z řejm ě i u VMS . (Mnoho dalších systému jako nebo Linux a systémy ze zbývajících kategorií níže používají tuto techniku.) Paravirtualizace - virtuální stroj nemusí nezbytn ě simulovat hardware, ale místo toho (nebo navíc) nabízí zvláštní API , které m ůže být použito jen z upraveného hostovaného OS. Toto systémové volání hypervizora se nazývá „hypercall“ v Xenu , a Enomalism . Volání je implementováno hardwarovou instrukci DIAG („diagnose“) v CMS od IBM pod VM (kde se pojem „hypervizor“ poprvé objevil). P říklady zahrnují Win4lin 9x , logické domény od Sunu a z/VM . Virtualizace na úrovni OS

- virtualizuje se fyzický server na úrovni OS, což umož ňuje b ěh více izolovaných bezpe čných virtuálních server ů na jednom fyzickém serveru. Prost ředí hostovaného OS sdílejí jeden OS s hostitelským systémem – tj. stejné jádro OS je použito pro implementaci hostovaného OS. Aplikace b ěžící v hostovaném prost ředí jej však vnímají jako samostatný systém. Mezi p říklady pat ří Linux-VServer , Virtuozzo (pro Linux nebo Windows), OpenVZ , kontejnery Solarisu a FreeBSD Jail . Aplika ční virtualizace

- Desktopové nebo serverové aplikace b ěžící na daném stroji, používají místní zdroje, ale b ěží ve zvláštním virtuálním stroji. To je rozdíl oproti tradi čnímu lokálnímu b ěhu nativních aplikací, tj. softwaru nainstalovaném přímo na systému. (Srovnejte s instalací softwaru a terminálovými službami .) Taková aplikace b ěží v malém virtuálním prost ředí obsahujícím komponenty nutné ke spušt ění – nap ř. položky registr ů, soubory, prom ěnné prost ředí, prvky uživatelského rozhraní a globální objekty. Toto virtuální prost ředí se chová jako vrstva mezi aplikací a opera čním systémem , která zabra ňuje konflikt ům mezi aplikací a OS nebo mezi aplikacemi vzájemn ě. P říklady zahrnují Java od Sunu Softricity , Citrix , VMware , Altiris , Portable Apps a Trigence . (Tento druh virtualizace je z řeteln ě odlišný od všech p ředešlých. D ělí je pouze tenká hranice od prost ředí virtuálních prost ředí jako je Smalltalk , Forth , Tcl , P-kód a další interpretované jazyky .) Některé virtualiza ční systémy a emulátory

Komer ční SW

• Hyper -V - hypervizorov ě stav ěný serverový systém pro -64 (32 a 64 bit) systémy • Citrix XenServer - platforma podnikové t řídy pro správu virtualizovaných aplikací v rámci libovolného po čtu server ů datového centra formou agregovaného souhrnu výpo četních zdroj ů. XenServer Platinum Edition je prvním a v tuto chvíli jediným řešením na trhu, které řeší virtuální i fyzické servery zárove ň, a datové centrum je díky tomu dynami čtější. • Cirix XenDesktop - komplexní systém virtuální infrastruktury desktop ů – VDI (Virtual Desktop Infrastructure) • VMware Workstation - virtuální stroj, pro provoz více OS najednou. V po číta čích s procesorem x64 je schopen podporovat ob ě platformy x86 a x64. Podporuje nejvíce opera čních systém ů. • Vmware ESXi Server - virtuální stroj, ur čený p ředevším pro velké servery a jejich konsolidaci Některé virtualiza ční systémy a emulátory

Nekomer ční SW

• Citrix XenDesktop Express Edition - zdarma balí ček 10 uživatelských licencí zahrnující Desktop Delivery Controller a Virtual Desktop Infrastructure • MS Virtual PC 2004 SP1 - virtuální stroj, pro provoz více OS najednou. Podporuje oficiáln ě jen opera ční systémy Microsoft Windows. Je ší řen zcela zdarma i ke komer čním ú čel ům. • MS Virtual Server 2005 R2 - virtuální stroj, ur čený p ředevším pro nasazení v serverech. Podporuje oficiáln ě opera ční systémy Microsoft Windows a n ěkteré distribuce Linuxu. V po číta čích s procesorem x64 je schopen podporovat ob ě platformy x86 a x64. Je ší řen zcela zdarma i ke komer čním ú čel ům. • Qemu - o n ěco rychlejší emulátor x86 • VirtualBox - virtuální stroj vytvo řený firmou InnoTek, vydaný pod licencí GNU GPL • VMware Player - virtuální stroj, úr čen pouze pro demonstra ční ú čely a pouze pro b ěh již vytvo řených virtuálních stroj ů ve VMware Workstation. Je ší řen zcela zdarma i ke komer čním ú čel ům. Některé virtualiza ční systémy a emulátory

Další platformy

• IBM pSeries – hardwarová RISC platforma IBM • 1964 – emulátor Nintenda 64 • PearPC - virtuální stroj umož ňující b ěh opera čního systému Mac OS X v Microsoft Windows nebo Linuxu (nad x86). • Qemu – rychlý emulátor n ěkolika platforem (x86, ARM, SPARC, atd.) • VisualBoyAdvance - emulátor GameboyAdvance • ZNES - emulátor NES Zpřístupnění platformy bez virtualizace

Další možnost zp řístupn ění platformy p ředstavuje reimplementace všech binárních rozhraní zp řístup ňované platformy. Ve výsledku díky vzniklé p řekladové vrstv ě (compatibility layer) jsou aplikaci poskytovány stejná rozhraní jako na originální platform ě. Tato myšlenka se často používá k zp řístupn ění Windows nap říklad z Linuxu. Nejpoužívan ějším řešením je software . Protože se nejedná o virtualizaci Windows, není pot řeba nap říklad nabýt licenci k používání Windows. Další možností je speciální kompilace, kdy volání služeb p ůvodní platformy jsou nahrazeny nap říklad voláním emulujících funkcí ze speciální sdílené knihovny apod. Tento postup se hojn ě využívá p ři kompilaci softwaru ur čeného pro Linux pod Windows nap říklad s pomocí MinGW. Výsledkem je zvýšení režie (zpomalení, zvýšení pam ěť ových nárok ů…), často dochází ke snížení stability a v n ěkterých p řípadech výsledek kompilace není běhuschopný. Zpřístupnění platformy bez virtualizace

Komer ční

• Cedega - umož ňuje b ěh moderních her pro Windows na Linuxu (vychází z Wine) • CrossOver - umožňuje běh některých aplikací (např. MS Office) na Linuxu a MacOS (vychází z Wine)

Nekomer ční

• DOSBox - emulace MS-DOS pro opera ční systémy Linux a Windows, ur čený především ke hraní starých her. • DOSEMU - emulace MS-DOS v Linuxu • Wine - umožňuje běh programů pro Windows na Linuxu • Cygwin, MiniGW, .. - prost ředky kompilace POSIXových aplikací pro nativní spoušt ění pod Windows (p řevedení do Windows API) Jak virtualizace funguje?

Na fyzickém HW nebo v OS je pot řeba mít tzv. hypervizor (též Virtual Machine Monitor, , VMM) což je jedna z technik virtualizace HW, která umožní na jednom po číta či spustit více OS. Hypervizor je pro hostovaný systém nejvyšším arbitrem, který řídí p řístup virtualizovaných po číta čů k HW po číta če, řídí jejich b ěh a zárove ň je od sebe odd ěluje.

Jsou 2 druhy hypervizoru:

Typ 1 (nativní) - hypervizor typu 1 b ěží p římo na hostitelském hardwaru. Zde monitoruje a řídí b ěh virtualizovaných stroj ů (guest ů) z hlediska hardwarových prost ředk ů. Hostovaný opera ční systém tak funguje na jiné úrovni, pod hypervizorem. Tento model p ředstavuje klasické provedení architektury virtuálního stroje , p ůvodní hypervizor byl CP/CMS, vyvinutý v IBM v roce 1960. Dnes tento typ m ůžeme najít nap říklad u hypervizoru ESXi od firmy VMware .

Typ 2 (hostovaný) - hypervizor typu 2 je spušt ěn v konven čním prost ředí opera čního systému. Vrstva hypervizora se nachází nad vrstvou opera čního systému. zdroj: http://blogs.technet.com/b/chenley/archive/2011/02/09/hypervisors.aspx Hypervizor typu 1

VMware ESXi - oproti jiným produkt ům VMware běží jen na HW (nepot řebuje další OS). Neobsahuje Linux kernel (do verze 4.1 obsahoval) ale mikrokernel zvaný vmkernel. Tento komunikuje p řes 3 rozhraní s: HW, hostovanými systémy a servisní konzolí (OS konzole). Pro správu ESXi se používá VMware vSphere Client.

Hyper-V - existuje ve 2 verzích

1) jako role - jedná se o instalaci WS2008, která zahrnuje plnou funk čnost Hyper -V, ovšem ostatní SW vybavení je možno používat normáln ě, stejn ě tak jako mnoho služeb Windows. 2) jako celek - jedná se o instalaci jádra WS 2008 bez GUI, management serveru je pak jen přes CLI a p řes n ěj se spravuje kompletn ě vše (nastavení konfigurace, nastavení OS, HW, atd.) Hypervizor typu 2

VirtualBox - umož ňuje na podporovaných OS vytvá řet a spravovat hostované OS. Pro lepší výkon je na hostovaných OS instalovat balí ček ovlada čů , aby bylo možno nap říklad akcelerovat grafiku, ale také jiné části hostovaného OS.

Podporovan platformy: Windows, Linux, Solaris & OpenSolaris, porty FreeBSD a Genode Lze hostovat: Windows, Linux, BSD, OS/2, Solaris, atd. OD verze 3.2 je podporována částe čná virtualizace Mac OS X na HW od Applu. Výrobce: Oracle Corp. Ší řeno pod licencní GPLv2

VirtualPC - umož ňuje na Windows 7 vytvá řet a spravovat hostované OS.

Podporované platformy: Windows XP SP3, MS-DOS oficiáln ě nepodporován. Linux je možné spustit, ale není oficiáln ě podporován jelikož MS neposkytuje žádné pot řebné ovlada če. Výrobce: Microsoft Licence: Freeware Hypervizor typu 2

VMware Player - umož ňuje na podporovaných OS spravovat hostované OS, ale neumož ńuje jejich vytvá ření. Pro lepší výkon je na hostovaných OS instalovat balí ček ovlada čů .

Podporované platformy: Windows, Linux Lze spustit: Windows, Ubuntu, Red Hat Enterprise Linux 7, CentOS 7, OpenSUSE 13.2, SUSE Enterprise 12 Výrobce: VMware Licence: Freemium Ukázky

VMware Workstation VirtualPC VirtualBox VMware vSphere Client Realné využití ve firm ě: Konsolidace HW - několik OS na jednom kusu HW snižuje fina ční zát ěž (nižší cena za HW) a také energetickou náro čnost celé instalace (úspora energie = finan ční úspora)

Ve škole: Nap říklad jeden centrální server s n ěkolika OS ušet ří finan ční náklady na jednu po čítza čovou t řídu. Je to také jednoduší na správu a deployment uživatelského prost ředí.

Doma:

Vytvo ření testovacího prost ředí nap říklad pro vývoj nebo testování aplokací. Děkuji za pozornost