facebook LinkedIN LinkedIN - follow
Virtualizace IT , Cloud a virtualizace IT

Virtualizace v kostce

K čemu, jak a proč?

Jiří Pomazal


-Virtualizaci bychom mohli v krátkosti popsat jako vytvoření virtuálního, zdánlivého počítače uvnitř počítače skutečného (fyzického) pomocí vhodného softwaru. Ačkoli se může zdát, že je pojem virtualizace skloňován teprve pár let, reálné základy byly položeny již poměrně dávno. V dnešních dnech, kdy virtualizační technologie značně pokročily, již ani nemusí jít o virtualizaci celých počítačů. Virtualizovat lze i jednotlivé aplikace.


První virtuální krůčky

Poprvé s touto koncepcí přišla již v šedesátých letech dvacátého století firma IBM u svých sálových počítačů. Výhoda tohoto řešení spočívala stejně jako dnes ve vytvoření několika zdánlivých počítačů v rámci jednoho fyzického.

Virtualizace v této době znamenala především hledání možností, jak ze systémů, které byly schopné zpracovávat jen jeden úkol v jeden okamžik, vytvořit vícevláknová zařízení, která by jednotlivé operace prokládala, a tím lépe využívala možností tehdejšího hardwaru. Jedním z prvních strojů využívající virtualizaci byl počítač IBM 704 s technologií Compatible Time Sharing System. Další vývoj v této oblasti nastavil víceuživatelská prostředí jako jakýsi standard a virtualizace se v těchto letech začala podobat tomu, jak ji známe dnes. Základem byl dispečer nazývaný typicky virtual machine monitor, který měl přímý přístup k fyzickým prostředkům počítače (hardwaru) a následně spravoval jednotlivé virtuální počítače. Dnes běžně nazýváme takovýto systém jako hypervisor.

Osobní počítače založené na x86 (intelovských) procesorech dlouho o něčem podobném nemohly uvažovat, jelikož výpočetní výkon ani kapacita paměti těchto strojů na něco podobného jednoduše nestačily. Vývoj ale od té doby značně pokročil, a tak jako jedna z prvních firma VMware, později následovaná množstvím dalších společností včetně opensource komunity, přišla s řešením. Vytvořila v počítači skutečném počítač virtuální.

V současnosti známe hned několik základních virtualizačních technologií. Abychom však dokázali správně uchopit rozdíly mezi jednotlivými přístupy k řešení virtualizace počítačů, je třeba si nejdříve ujasnit principy práce samotného operačního systému.

Virtualizace dnes: Hodně cest, jeden cíl

Na běžném počítači (případně serveru) dnešní vyspělé operační systémy pracují v podstatě v těchto dvou režimech:

  • samotný operační systém přistupuje přímo na hardware (síť, grafika, disky atd.),
  • uživatelská aplikace nemá přímý přístup k hardwaru, ten získává pomocí volání funkcí operačního systému.

Tomuto odpovídají při běhu programů úrovně privilegií. Instrukce, které sahají přímo na hardware, jsou privilegované a může je provést pouze operační systém. Pokud se takovou instrukci, pracující přímo s hardwarem, pokusí provést aplikace, která k tomu nemá potřebná oprávnění, procesor vyvolá tzv. výjimku – skok na definovanou adresu programu. Tam je možno takovou aplikaci buď ukončit, nebo nasimulovat provedení operace a pokračovat dál, jako by se nic mimořádného nestalo.

Tento problém je samozřejmě nutné vyřešit i u počítačů virtuálních, přičemž aktuálně existuje hned několik metod, z nichž každá má své klady i zápory:

Softwarová emulace hardwaru (full virtualization-binary translation)

Výhodou emulace je absolutní nezávislost na hardwaru a možnost provozovat ve virtuálních serverech nezměněné operační systémy. Například společnost VMware vyvinula technologii binary translation, která umožňuje přímo za běhu překládat instrukční sadu x86 do jiné, a tím umožnit běh jinak nekompatibilních aplikací. Jasnou nevýhodou tohoto přístupu je samozřejmě velká výkonnostní režie. Tento typ virtualizace lze tedy uplatnit jen při velmi malém počtu virtualizovaných strojů.

Virtualizace s hardwarovou asistencí (hardware assisted virtualization)

S rostoucími požadavky na virtualizaci se výrobci hardwarových komponent zaměřili na hardwarovou podporu virtualizace na úrovni procesorů (Intel VT, AMD-V), chipsetů, pamětí a dalších komponent. Pomocí přenechání některých činností hardwarovým komponentám je možné minimalizovat virtualizační režii hypervisorů a dosáhnout tak daleko vyššího výkonu – například pro vizualizaci i několika desítek virtuálních strojů na jednom fyzickém.

Paravirtualizace

Metoda virtualizace, která vyžaduje zásah do jádra operačního systému provozovaného ve virtuálním prostředí. V jádře paravirtualizovaného operačního systému existují speciální rutiny, které přesměrovávají instrukce, které by jinak měly být vykonány hardwarem, do hypervisoru.

Výhodou paravirtualizace je obecně nižší výkonnostní režie než u plné softwarové emulace. Nevýhoda pak spočívá právě v nutnosti používat upravené operační systémy. To s sebou nese další omezení, jako například nemožnost instalovat do virtuálních počítačů vlastní low-level ovladače (antiviry atd.) a zároveň nemožnost plnohodnotné aktualizace takového systému. Virtualizovaný systém je tedy vždy do značné míry závislý na hostitelském. Příkladem takovéto virtualizace jsou Virtuozzo Containers od společnosti Parallels.

Virtualizace na úrovni operačního systému

Virtualizační vrstva je umístěna mezi operačním systémem serveru a virtuálními servery. Na jednom fyzickém serveru podporuje pouze jeden operační systém.

Proč virtualizovat?

Zpočátku šlo hlavně o lepší využití potenciálu hardwaru. Dnes, v době moderních datových center, vysokých nároků na dostupnost a kvalitu služeb a téměř neustálého vývoje, nachází virtualizace stále další využití.

Lepší využití existujícího hardwaru – konsolidace serverů

Díky možnosti provozovat mnoho virtuálních počítačů na jednom fyzickém stroji je možno vystačit s menším počtem fyzických serverů, což znamená menší spotřebu elektřiny, méně místa, méně tepla a méně nároků na chlazení. Zároveň díky stále se zvyšujícímu výkonu současného hardwaru, je možné tento výkon lépe využít provozem hned několika serverů v různých rolích na jediném fyzickém stroji.

 

Obr. 1: Základní princip konsolidace serverů
Obr. 1: Základní princip konsolidace serverů – díky možnosti provozovat mnoho virtuálních počítačů na jednom fyzickém stroji je možno vystačit s menším počtem fyzických serverů

 

Serverovou virtualizací se samozřejmě zabývají všichni tři aktuálně nejsilnější hráči na tomto poli.

V čele je jednoznačně VMware se svou serverovou virtualizační platformou vSphere 4, která je v současnosti brána za technologický standard, ke kterému se ostatní výrobci snaží přiblížit.

Vyplývá to především z hodnocení renomované analytické společnosti Burton Group, která vypracovala metodiku měření vhodnosti nasazení jednotlivých virtualizačních platforem do datových center. Metodika obsahuje nutné, preferované a volitelné parametry, z nichž právě prozatím jediný VMware splňuje sto procent. Podrobné specifikace této metodiky jsou pro zájemce k dispozici na stránkách Burton Group (www.burtongroup.com).

Ve stínu nechtějí zůstat ani ostatní výrobci. Další velmi dobře zavedený výrobce Citrix aktuálně v datových centrech bojuje se svou nejrozšířenější verzí XenServer 5.5. Verze 5.5 přišla oproti starší verzi 5.0 s plnou podporou adresářových služeb (Active Directory, Open LDAP), vylepšenou správou snapshotů virtuálních serverů a podporou rolí ve správě přístupových práv. Hlavními výhodami řešení Citrix je podpora více hypervisorů. Krom hypervisoru XenServer je podporován Hyper-V od Microsoftu. Stejně jako VMware (ESX 3i Free), tak i Cirtix nabízí některé základní virtualizační nástroje zdarma. Oproti VMware však Citrix přidává ještě konzoli pro centrální správu a podporu živé migrace virtuálních strojů mezi fyzickými servery.

Relativním nováčkem na poli serverové virtualizace je Microsoft se svou platformou Hyper-V, která je součástí systému Windows Server 2008. Od verze R2 je součástí této platformy též Live migration a další technologie pro vysokou dostupnost. Microsoft pro své produkty nabízí pravděpodobně nejpropracovanější prostředí pro správu s názvem System Center.

Rychlá implementace nových serverů

Virtuální stroj je reálně tvořen pouze několika soubory. Jakmile tedy v jednom virtuálním stroji nainstalujete operační systém, stáhnete povětšinou nemalé množství příslušných aktualizací a service packů a připravíte základní aplikace, vyrobení dalších podobných strojů je otázkou vytvoření kopie těchto souborů a drobných úprav. Vytvoření nového serveru se z několika hodin na fyzickém hardwaru redukuje na minuty ve virtuálním prostředí

Všichni uvedení výrobci samozřejmě v rámci svých administračních nástrojů nabízejí funkce pro vytvoření kopie již existujících serverů. Tyto kopie lze pak využívat pro rychlé nasazení nového serveru, případně pro další účely, čímž se dostáváme k další z výhod virtualizace.

Zálohování, migrace

Jak bylo zmíněno výše, virtuální počítač je zpravidla tvořen pouze několika soubory (konfigurační soubory, virtuální disky). Virtualizovaný hardware, který virtuální počítač vidí, je vždy stejný, ať je hostitelský systém postaven na čemkoliv. Přenos na jiný fyzický stroj tedy znamená většinou jen zkopírování těchto souborů, pak je ihned možno virtuální stroj opět zprovoznit. Totéž platí pro zálohování. Jakmile máme kopii těch několika souborů tvořících virtuální počítač, máme jeho kompletní zálohu. Žádná komplikovaná reinstalace aplikací, obnova dat, shánění kompatibilního hardwaru jako v případě havárie fyzického systému. Je možné zálohovat i běžící virtuální počítač bez jakéhokoli výpadku provozu.

Tuto technologii najdeme u největších dodavatelů pod názvem „snapshot“. Využitím této funkce je možné virtuální prostředí v případě potřeby vrátit v čase do stavu například před instalací problémového ovladače a tím okamžitě a bez velkého úsilí obnovit funkci virtuálního serveru.

Vývoj softwaru

Vývojáři aplikací mohou pomocí virtuálních počítačů snadno testovat kompatibilitu svých programů ve všech myslitelných operačních systémech – to vše na jediném fyzickém stroji.

V této specifické oblasti nachází své uplatnění především desktopová virtualizace. Své zástupce na tomto poli mají všichni hlavní výrobci. V čele můžeme vidět znovu VMware s produkty jako Workstation 7 či View 4. Zde je třeba zdůraznit zásadní rozdíl mezi těmito aplikacemi. Workstation 7 je software určený pro běh na silných pracovních stanicích s vícejádrovými procesory. Virtuální počítače (podporována je opravdu široká paleta operačních systémů) jsou spouštěny a uloženy přímo na lokální pracovní stanici. Oproti tomu View 4 potřebuje ke svému běhu vSphere 4.

Jednotlivá virtuální prostředí jsou uložena na centrálním serveru a pomocí protokolu PCoIP (PC over IP) přenášena do koncových klientů, na které tak nejsou kladeny nijak vysoké výkonnostní nároky. Každý uživatel tak může mít na základě svého účtu definováno hned několik virtuálních prostředí, které může spouštět. Samozřejmostí je dostupnost přes sítě typu WAN, jako například internet.

 

Obr. 2: VMware Workstation 7 – demonstrace
Obr. 2: VMware Workstation 7 – demonstrace současného běhu Windows 7, ESX server 4.0 a Google Chrome OS

 

Citrix na tomto poli nabízí řešení fungující na stejném principu (tedy klient/server) a to XenDesktop 4. Svá želízka v ohni má i Microsoft. Pokud se budeme bavit o lokální virtualizaci přímo na desktopu, nabízí Microsoft produkt Virtual PC. Virtual PC však na svou konkurenci značně ztrácí, a to především v podpoře operačních systémů (oficiálně jen systémy z rodiny Microsoft). Nástupcem Microsoft Virtual PC je produkt Windows Virtual PC určený například pro provoz XP mode pod operačním systémem Windows 7. Co se týče řešení na bázi infrastruktury (tedy desktopy dodávané na principu klient/server) má i zde Microsoft své zastoupení, které nabízí pod označením VDI – Virtual Desktop Infrastructure.

Vyšší flexibilita práce a centrální přístup k aplikacím

Díky možnosti virtualizovat jednotlivé aplikace odpadají problémy s kompatibilitou na různých operačních systémech. Všechny potřebné aplikace mohou být uloženy na centrálním aplikačním serveru a odsud spouštěny. Spouštěná aplikace tedy nemusí být na koncovém klientu vůbec instalovaná. Přínos je především ve snadnosti správy takového systému. Není třeba instalovat aplikace na koncové stanice, aplikace lze centrálně aktualizovat, lze řídit přístupová práva pro jednotlivé uživatele. Uživatel při tomto modelu navíc nemusí být vázán na konkrétní pracovní stanici. Po přihlášení na libovolném klientu jsou mu předem definované aplikace automaticky zpřístupněny.

Společnost Microsoft například u svého produktu pro virtualizaci aplikací App V 4.6 používá metodu přenosu celé aplikace do klientského počítače (tedy aplikace včetně nastavení registrů atd.). Tato aplikace následně až do ukončení sezení, které zajišťuje agent nainstalovaný na klientském PC, běží na hardwaru koncového PC, což snižuje zátěž centrálního serveru. Nevýhodou je naopak větší přenos dat při spuštění aplikace.

 

Obr. 3: Schéma virtualizace aplikací
Obr. 3: Schéma virtualizace aplikací – Microsoft (zdroj: prezentace Microsoft Application Virtualization)

 

Úskalí virtualizace

Tak jako všechny cesty má i ta virtuální svá úskalí. Paradoxně vyplývají z výhod tohoto řešení. Pakliže jsou všechny servery, aplikace a desktopy konsolidovány na jediný fyzický hardware a dojde k poruše tohoto hardwaru (serveru), znamená takováto porucha okamžitý výpadek celé infrastruktury, a tedy daleko větší škody. Řešením takové situace je provozování virtuálních serverů v clusteru, kdy při poruše jednoho hardware nodu jsou zrcadlené virtuální servery okamžitě spuštěny na druhém nodu. Takové řešení si však žádá další nemalé investice.

Zvolení míry virtualizace a zabezpečení serverů proti selhání je tedy otázka na každého administrátora, který o tomto řešení uvažuje. Při volbě správné technologie má však virtualizace jednoznačně potenciál k úspoře nákladů na provoz IT a zvýšení efektivity práce.

Autor pracuje jako specialista technické podpory ve společnosti Ignum.
Chcete získat časopis IT Systems s tímto a mnoha dalšími články z oblasti informačních systémů a řízení podnikové informatiky? Objednejte si předplatné nebo konkrétní vydání časopisu IT Systems z našeho archivu.


Inzerce

Jak si vedou české firmy v kybernetické bezpečnosti

Praktické zkušenosti z oblasti etického hackingu a penetračního testování

Komplexní zabezpečení pod­ni­ko­vé infrastruktury, počínaje výpočetními systémy přes úložná řešení, až po komunikační linky není jednoduchá záležitost. S větší či menší úspěšností se o to snaží každá organizace.