Softwarová virtualizace:

Virtualizační software umí z jednoho serveru vytvořit více serverů. Snižuje tak náklady na hardware a zároveň činí ...


Virtualizační software umí z jednoho serveru vytvořit více serverů. Snižuje tak
náklady na hardware a zároveň činí systémy spolehlivějšími a ovladatelnějšími.
Tato technologie se původně používala zejména ke konsolidaci různorodého
serverového hardwaru, jehož výkon nedokázal uživatel naplno využít, na menší
počet zařízení. Od té doby ale vyrostla do víceúčelového řešení, které nabízí
větší spolehlivost, vylepšenou správu a přináší také další výhody, jež z něj
dělají téměř nepostradatelný nástroj pro správce podnikových datových center.
Jde o jednu z mála technologií, která dokáže prakticky beze zbytku splnit
všechna do ní vkládaná očekávání. Dnes vám blíže představíme dva programové
balíky, které dodávají na trh lídři v této oblasti společnosti VMware a
Microsoft.

Když použijeme silně zjednodušenou definici, lze říci, že virtuální server
napodobuje pouze s použitím softwaru chování a schopnosti samostatného počítače.
Architektura softwarové virtualizace je jednoduchá: Základní vrstvu tvoří jediná
instalace obyčejného operačního systému, který je nainstalován přímo na hardwaru
serveru. Nad ní pracuje virtualizační vrstva, která prostřednictvím přesměrování
a emulací vytváří virtuální počítač. O kombinaci těchto dvou spodních vrstev se
hovoří jako o hostiteli. Ten zajišťuje veškerou funkčnost běžného PC hardwaru a
dokáže vytvořit tolik virtuálních PC s různými uživatelsky definovanými
konfiguracemi, kolik je podle pokynů uživatele potřeba.
Stejně jako fyzický server je virtuální PC k ničemu, dokud na něj
nenainstalujete operační systém. Operační systémy, které instalujete na své
virtuální hostitele, se nazývají hosty. Instalace takového OS/hosta může být
obdobně snadná jako bootování z instalačního CD operačního systému. Je to
stejné, jako instalování operačního systému na PC, a pokud chcete vědět, jak se
virtualizace bude chovat, tady je odpověď: Přesně jako PC. Je lehké se v takové
změti operačních systémů ztratit díváte se na svůj hostitelský OS Windows nebo
na jeden ze čtyř hostujících Windows, které jste právě instalovali? Vy můžete
být zmateni, ale vaše hostující operační systémy a jejich aplikace nikdy. Každý
OS/host věří, že má celý počítač pro sebe. A svým způsobem má.

Hardware na bázi softwaru
Operační systémy a aplikace, které běží na virtuálních serverech, nemají přímou
kontrolu nad zdroji, jako je paměť, disky a síťové porty. Místo toho virtuální
stroj, který sídlí pod OS a aplikacemi, zachytává žádosti o interakci s
hardwarem a zachází s nimi tak, jak uzná za vhodné. Skutečný šém, který dělá z
této technologie něco podobného kouzlu, spočívá v tom, že virtualizační stroj,
jako je VMware ESX Server, může syntetizovat celou hardwarovou konfiguraci,
která se jen velmi málo podobá základnímu hardwaru. Například hostitel by mohl
simulovat inicializační proces SCSI řadiče do posledního detailu a přesvědčit
OS/hosta, že tato inicializace byla provedena, i když fyzicky žádný SCSI řadič
neexistuje. Dále může způsobit, aby IDE disky vypadaly jako SCSI disky,
konvertovat síťové disky na lokálně připojené storage, změnit jeden ethernetový
adaptér na několik a vytvořit brány mezi staršími operačními systémy a
nepodporovaným moderním hardwarem, jako jsou adaptéry Fibre Channel. Postavíte
si tak vlastní servery, které se budou přesně hodit pro potřeby vašich aplikací,
ale místo šroubováku použijete myši.
Instalování OS a softwaru na fyzický server
pokaždé, když ho potřebujete, může být únavné. Naštěstí to díky virtualizaci
nemusíte dělat. Jakmile vyladíte virtualizovanou konfiguraci přesně podle
libosti, můžete uložit její obraz do souboru a použít ho jako šablonu pro další
hostující systémy. V praxi je práce s těmito programy lahůdkou. Můžete například
zálohovat virtuální server pouhým zkopírováním souboru, vytvořit nový server
duplikováním souboru (kopírování Windows vyžaduje reaktivaci a příslušné
licence) nebo přesunout existující server na jiný fyzický hardware.
Virtualizované servery mají všechny ctnosti a nectnosti normálních serverů.
Bootují se, vypínají se, mohou zatuhnout a mohou se i zhroutit. Je-li hostující
OS nebo používaný ovladač zařízení poškozený, virtuální PC se zhroutí. Ale
nikoli fyzický počítač, a to je to hlavní.
Jestliže se operační systém zhroutí nebo aplikace zatuhne, hardwaru se nic
nestane. Jeden virtuální stroj může nahradit jiný porouchaný, ať už v čistě
virtuálním smyslu nebo způsobem, který je bližší realitě. Dokonce i když vypoví
službu určité hardwarové zařízení a provoz bude standardními prostředky
přesměrován jinam, bude vše fungovat tak, jako kdyby virtuální PC bylo reálné.
Ve většině případů bude podnikový řídicí systém reagovat na výpadek virtuálního
serveru tak, jako by byl skutečný. Programy jako HP OpenView pracují s
virtuálními servery stejným způsobem, jako by to byly fyzické jednotky.
Zaznamenaná konfigurace serverů se po virtualizaci změní, ale je pravděpodobné,
že při každodenní správcovské činnosti prakticky žádnou změnu nepocítíte.
Kromě toho většina virtualizačních systémů obsahuje rovněž software pro správu
specifických řešení, který správci dovoluje sedět u centrální konzole a
manipulovat se všemi virtuálními servery v podniku. Je velmi příjemné, když
můžete vyměnit virtuální ethernetovou kartu, aniž byste se dotkli hardwaru.
Řídící konzole virtualizačního řešení vám dává do rukou stupeň kontroly nad
virtuálními PC, který přesahuje vše, co mohou správci dokázat tradičními
nástroji. Z centrální jednotky tak můžete bootovat a shazovat virtuální PC podle
potřeby. Můžete je také pozastavit, což je bezpečně zmrazí v jejich aktuálním
stavu, nebo je hibernovat tím, že uložíte jejich stav do souboru na disk.
Přepsáním souboru na disku lze pak PC jednoduše obnovit ze zálohovaného stavu a
vrátit zpět změny, které ho vyřadily z provozu a to vše v rámci jedné relace z
terminálu.
Pokud například fyzická konfigurace vaší jednotky pro ukládání dat umožňuje
sdílení disků naše testy byly prováděny se SAN zařízením, přepínačem Emulex a
diskovým polem Apple Xserve RAID funkce VMotion v VMware vám dovolí pozastavit
běžícího hosta a znovu jej spustit na jiném fyzickém serveru. V sekundách tak
můžete přenést všechny běžící hosty a jejich aplikace z jednoho fyzického
serveru na druhý a zařízení vypnout kvůli údržbě. Nebo můžete použít VMotion pro
optimalizaci rozložení zátěže. Virtuální PC, které blokuje síťový segment, může
být přesunuto do místa v síti s menším provozem. Není přitom potřeba provádět
žádné přepojování kabelů a vznikne maximálně několikavteřinová pauza v provozu,
bez ukončování relací nebo rebootování.
V prostředí s mixem operačních systémů
což je běžná situace, která dokáže zkomplikovat i jinak jednoduchou konsolidaci
by mohlo být jedním z řešení hostování každého OS v jeho vlastním virtualizačním
stroji. Například na serveru, kde je nainstalováno jedno z virtualizačních
řešení VMware, lze provozovat jakoukoliv kombinaci serverů Windows (2003, 2000,
NT 4.0), různé verze Linuxu a FreeBSD. Virtualizační software můžete dokonce
použít pro hostování různých verzí stejného OS. Linuxový software je nechvalně
známý svou závislostí na konkrétní verzi a distribuci prodejce Linuxu.
Virtualizace je jediným způsobem, jak provozovat aplikace určené pro Red Hat 7.2
a SuSE 9.0 současně na jediném serveru.

Virtuální dokonalost
Virtualizace je skvělá věc, ale sama nevyskočí z krabičky a nevyléčí všechny
bolesti. Nikdy nemůžete vytvořit virtuální PC, které by výkonem převyšovalo
fyzický systém. O systémových požadavcích svých aplikací se dozvíte více, když
je přenesete do virtuálního prostředí. Pravděpodobně vás překvapí buď tím, jak
málo využívaly původní server což je typický případ nebo jak jsou nenasytné.
Když je třeba, můžete ty nejtroufalejší trochu přiškrtit. A i když jedním z
hlavních přínosů virtualizace je bezpečnost těžko něco dokážete, když se
pokusíte rozbít systém, který neexistuje přesto může být virtualizované PC
ohroženo. Naštěstí jej lze vyléčit přepsáním jeho diskového obrazu jiným, o
kterém víte, že je v pořádku. Koneckonců, hardwarová konsolidace je jen jedním
důvodem, proč volit virtualizaci serverů. IT manažeři mohou najít mnoho dalších
možností, jak tuto technologii využít pro řešení konkrétních potřeb ve firmě.

Microsoft Virtual Server 2005
Na virtuálním serveru s označením 2005 od Microsoftu lze pravděpodobně nejlépe
nahlížet jako na přímého konkurenta na trhu dobře zavedeného GSX Serveru
vyvíjeného společností VMware. Ale míra, do jaké je Virtual Server integrován do
ostatních serverových produktů Microsoftu, ho řadí do samostatné kategorie.
Abychom tento produkt otestovali, nakonfigurovali jsme různé systémy. Primární
hardwarovou banku tvořily dva rackové servery osazené dvojicí procesorů Opteron,
jeden se 4 GB RAM a jeden s 8 GB RAM. Opterony jsme vybrali proto, že jak
Microsoft, tak VMware pro ně přizpůsobily své produkty a nabízejí speciální
funkce pro práci právě s tímto procesorem. Podobně jako produkty VMware je i
Virtual Server 2005 32bitovým softwarem, který nevyužívá výhodu rozšířených
registrů a matematických funkcí Opteronu nebo Intelu EM64T.
S výjimkou nároků na
paměť jsou systémové požadavky Virtual Serveru 2005 lehce splnitelné. Jediným
podporovaným hostitelským OS je totiž Windows Server 2003, takže pravidla pro
práci s ním stanovuje seznam hardwarové kompatibility. Virtual Server 2005 je
dostupný ve dvou verzích: Standard Edition pracuje až se čtyřmi CPU, zatímco
Enterprise Edition podporuje neomezený počet procesorů na jediném stroji.
Nejvýznamnějším požadavkem aplikace Microsoftu je ten na velikost operační
paměti. Potřebujete takovou, kterou byste normálně dali do serveru domníváme se,
že 1 GB je minimem pro servery nižší třídy s procesory Opteron/Xeon plus tolik
fyzické paměti, kolik chcete dedikovat všem svým běžícím virtuálním serverům
dohromady. Potřebnou velikost pak lze sečíst poměrně rychle: Pokud zamýšlíte
provozovat najednou pouze čtyři servery a každému přidělit skromných 512 MB
paměti, je to celkem 3 až 4 GB RAM.
Standardně rostou virtuální pevné disky
Virtual Serveru 2005 podle potřeby; i když pro virtuální stroj alokujete 20 GB
prostoru na disku, na počátku obsadí pouze tolik reálného prostoru, kolik bude
vyžadovat instalovaný software. Protože však pro nás velikost diskového prostoru
nebyla problémem, mohli jsme významně zvýšit výkon viruálního stroje použitím
dedikovaných disků Fibre Chanel SAN.
Kromě toho funkce "diferenčních disků"
virtuálního serveru podporuje konfiguraci "jednou instalovat, víckrát spustit".
Můžete spustit tolik virtuálních strojů, kolik chcete, z jediného diskového
obrazu, aniž by se rušily s ostatními. Virtual Server uloží data o každém stroji
v odděleném souboru, který obsahuje pouze data, jež se liší od obrazu původního
stroje.
Většinu našich testů jsme zaměřili na obvyklý případ, a sice hostující Windows.
Použili jsme běžnou metodu bootování každého operačního systému z CD a postavili
virtuální stroje pro Windows NT 4.0, Windows 2000 Server a Windows XP. Na
serveru Opteron s 8 GB RAM byl výkon Windows pro požadavky aplikací primárně
jsme použili IIS, Exchange Server, Terminal Services a Visual Studio .Net
přijatelný, když běžely čtyři virtuální servery. Jejich počet jsme mohli zvýšit
na šest snížením paměti alokované každému virtuálnímu stroji. Mohli jsme také
vybalancovat zdroje CPU ve prospěch interaktivních relací nebo relací na pozadí.
Virtual Server 2005 nabízí administrační rozhraní na webové bázi, ale toto
uživatelské rozhraní nezvládá způsob aktivního řízení, potřebný v náročném
produkčním prostředí nebo v situacích, kdy podrobně monitorujete více
testovaných virtuálních strojů. V těchto nastaveních je nejlepší strategií
použít dodanou sadu řídicích rozšíření Virtual Serveru 2005 pro MOM (Microsoft
Operations Manager). MOM ovládá virtuální stroje se zvláštním ohledem na
koordinaci jejich stavu se zdravím skutečného hardwaru jejich fyzického
hostitele.
Bohužel, potenciál virtuálního serveru je omezen. Microsoft
nedokumentuje ani oficiálně nepodporuje použití Linuxu nebo BSD jako hostujících
OS, čímž došlo k odklonu od politiky Connectixu, od kterého Microsoft koupil
technologii virtuálního serveru. Virtual Server také omezuje každý virtuální
stroj na jediný virtuální procesor, čímž omezuje jeho špičkový výkon. A navíc,
hostující OS nemohou balancovat použití I/O, procesorové cache a paměti. Podle
Microsoftu je to menší problém pro architekturu Opteron NUMA (Non-Uniform Memory
Access), která nepotřebuje, aby OS zvládal přesnou arbitráž vícenásobných
datových toků přes jedinou sběrnici. Hlavní příspěvek Microsoftu k virtuálnímu
serveru poté, co jej koupil začátkem roku 2003 od Connectixu, se týká oblastí
správy, podnikové integrace a vyladění NUMA. Funkce diferenčních disků umožňuje
širokosáhlé testování a experimentování s možností rychlého návratu do
bezpečného stavu. Domníváme se, že se virtualizace skutečně stane standardní
vlastností serverů Windows, a jsme si jisti, že se Virtual Server za současnou
cenu vyplatí.

VMware ESX Server 2.1.1
Firma VMware, kterou nyní vlastní společnost EMC, vytvořila svůj serverový
virtualizační produkt ESX pro uživatele, kteří potřebují virtualizaci skutečně
podnikové třídy. ESX Server 2.1.1 podporuje konsolidaci, dynamický provisioning,
sdružování zdrojů a další funkce na úrovni drahého systémového a storage
hardwaru. Dělá to však s běžnými servery, modulárními SAN a operačními systémy.
Testy jsme začali s párem rackových dvouprocesorových serverů jedním na
platformě Opteron a druhým na platformě Nocona Xeon, ale pak jsem přešli na
jediný dvouprocesorový Opteron server a dvojici samostatných systémů Athlon FX,
abychom lépe prověřili přístup ESX Serveru k distribuovanému řízení.
Očekávali
jsme, že ESX Server bude pracovat obdobně jako podobný GSX Server z levnější
řady, jen s kalibrací pro velkoobjemové prostředí. Tomuto účelu bez pochyby
poslouží, ale jeho využití jen pro typickou konsolidační/izolační roli nám
připadá jako příliš omezené. Revoluční na tomto produktu je, že vytváří
strukturu fyzických serverů, virtuálních strojů a síťových paměťových disků,
které jsou propojeny způsobem "každý s každým".
Firma VMware nás silně
přesvědčovala, abychom pro své testy použili heterogenní SAN. Do každého serveru
jsme zapojili dvouportový Apple/LSI Logic Fibre Channel adaptér a k propojení
serverů s párem diskových polí Apple Xserve RAID jsme použili storage přepínač
Emulex 355. Nastavení SAN v praxi trvalo déle než instalace serveru ESX a
hostujících operačních systémů, ale brilantní využití síťového ukládání dat
serverem ESX za to stojí. Ten implementuje svůj vlastní souborový systém SAN,
plný nejmodernějších funkcí, jako je read/write sdílení disků, uzamykání na
úrovni souborů a vícecestý přístup pro případ závady. Virtualizační vrstva ESX
Serveru přináší všechny vymoženosti SAN i do operačních systémů, které nemají
ovladače Fibre Channel hostující systémy vidí SAN jako jednoduchý SCSI adaptér.
ESX Server ovládá transparentně i LAN. Ať už obchází zácpu v síti, řeší selhání
karty nebo stěhuje virtuální stroj z místa na místo, hostovaný operační systém
si ničeho nevšimne. Vidí stejnou sestavu síťových karet a stejné fixní IP
adresy.
VMware licencuje ESX Server podle počtu procesorů. Jeho hostitelským
srdcem je běžné linuxové jádro vybavené z důvodů stability omezenou sadou
neprůstřelných ovladačů. Seznam kompatibilního hardwaru je tak pro ESX Server
velmi krátký, všechny naše dvouprocesorové systémy Opteron a Xeon s ním však bez
problémů spolupracovaly. I když se na to náš zájem zvlášť nesoustřeďoval,
použili jsem ve svém testu tři volitelné doplňky VMware: rozšiřitelné řešení
provisioningu VirtualCenter, Virtual SMP, který vytváří dvouprocesorové duální
stroje (významný pokrok), a VMotion, který umožňuje přestěhovat běžící virtuální
stroj z jednoho fyzického místa na jiné bez přerušení činnosti.
Zejména VMotion
představuje velmi praktické řešení. V prostředí orientovaném na služby dokáže
reprodukovat všechny služby s jejich závislostmi, od databází po IP adresy,
alokování a uvolňování zdrojů. Například služba, která pracuje s velkým
množstvím XML dat, potřebuje rychlou cestu k paměti. VMotion dokáže přestěhovat
tuto službu na systém, který je vybaven porty Fibre Channel. Když tato potřeba
pomine, může VMotion vrátit službu zpět. Nejsou přitom přerušena žádná spojení
ani není znovu přidělena žádná IP adresa.
Při našem nastavení byl výkon databáze
SQL Server serveru ESX takový, jaký bychom očekávali od dedikovaného serveru s
pomalejším CPU, ale skvělým I/O. Ve skutečnosti bychom raději provozovali více
instancí SQL Serveru nebo Oracle na jednom fyzickém stroji, než abychom
provozovali každou jednotlivou instanci na více virtuálních strojích.
Co se týče
serveru ESX, je důležité neztratit ze zřetele jednu nevyhnutelnou skutečnost: PC
servery nejsou určeny pro virtualizaci nebo dělení hardwaru na oddíly. I když
VMware ESX Server dokáže ze systémů x86 vytěžit vlastnosti, které se překvapivě
blíží schopnostem většího hardwaru, administrační práce spojená s touto
virtualizací je značná. Mějte také na mysli, že i na 64bitovém hardwaru vytváří
ESX Server virtuální 32bitové x86 systémy, což limituje zátěž, kterou na sebe
může každý virtuální stroj vzít. A vzájemná síťová propojení v rámci ESX Serveru
se nevyrovnají agregaci výpočetního cyklu nabízené monolitickými
multiprocesorovými servery a blady s rychlým propojením. Ale špatných zpráv už
bylo dost. Přes všechen čas, který jsme se serverem ESX strávili, by trvalo
mnohem déle odhalit všechny jeho složitosti. Ti, kteří přecházejí z hardwaru
Sparc, Power nebo PA-RISC, by neměli uvažovat o jiné volbě než ESX Serveru. A
ti, kdo pracují se servery x86, které se nevejdou do racku, by měli vážně
přemýšlet o tom, že vymění trochu surového výkonu, tak často vyplýtvaného, za
dokonale rekonfigurovatelnou architekturu serveru s vysokou dostupností, kterou
tento produkt umožňuje. Je pozoruhodné přímo zázračné vidět, co všechno VMware
dokáže.

Hledá se: Pomocná ruka hardwaru
Špičkoví vývojáři společností VMware a Conectix (nyní Microsoft) strávili
spoustu času vymýšlením spletitých záplat pro konstrukční nedostatky
architektury x86. Ale nemuselo tomu tak být. Když virtualizaci pomůže hardware,
její výkon vyletí vzhůru. Taková hardwarová výpomoc je běžnou věcí na
mainframech a ostatním velkém železe, ale jen málo lidí si dnes pamatuje, že
Intel nastolil precedens pro podporu hardwarové virtualizace na čipech x86 již
před téměř 20 roky.
Procesor Intel 80286 dovolil Microsoftu ve Windows nahradit původní a velmi
vysmívaný softwarový multitasking rychlejším, bezpečnějším přístupem na
hardwarovém základě. Fungovalo to, ale přestože Microsoft prosazoval Windows 2.0
(později známé jako Windows/286) jako multitaskingové grafické rozhraní určené
široké veřejnosti, zákazníci primárně žádali, aby ve Windows běžely vícenásobné
instance DOSu. I když se tomu tenkrát říkalo multitaskingový DOS, virtualizace
byla jediným způsobem, jak provozovat DOS ve Windows.
Když šlo do tuhého, usoudily Microsoft a Intel, že softwarová virtualizace je
příliš pomalá na to, aby uspokojila zákazníky. V důsledku toho vyvinul Intel
řadu virtuálních procesorů 8086 na čipu 80386. Každá z virtuálních jednotek 8086
sama zaváděla DOS nebo jakékoliv OS určený pro 8086 a pracovala přesně jako
samostatný systém. Dnes směřují PC do šlamastyky, která je podobná výše popsané
situaci. Současné 32bitové operační systémy jsou DOSy moderního IT věku
software, který trvá na vlastnění serverů, na nichž běží, a který se odkazuje
přímo na hardware bez jakékoli ochrany. Krokem vpřed jsou 64bitové CPU a
nastupující vícejádrové procesory, ale těm se nedaří uspokojit dynamické potřeby
podnikového IT.
Intel, který hodil rukavici virtualizace PC, a AMD, která ji nedokázala
zvednout, nyní hovoří bez detailů o přidání podpory hardwarové virtualizace do
příštích procesorů. Je ale těžké odhadnout, kdy by technologie Intel Vanderpool
a AMD Pacifica mohly skutečně přijít na trh. Microsoft, SWsoft, VMware a několik
dalších si do té doby své příjmy za virtualizační software zaslouží. Ale IT
skutečně potřebuje, aby se veškerý důmysl soustředil na mnohem větší problém jak
řídit velké pooly virtuálních strojů a storage, a ne vymýšlení, jak postavit
servery x86 prostřednictvím C++ bez pomoci hardwaru.

Virtuální reality
Moderní technologie virtualizace serverů nejsou jen chytrým trikem, ale nabízejí
mnoho výhod. Dobře navržené virtualizační řešení dokáže toto:
n Snížit náklady konsolidací serverového hardwaru.
n Dynamicky alokovat zdroje, kde a kdy jsou zapotřebí.
n Dramaticky snížit čas potřebný pro zavedení nových systémů.
n Izolovat celkový zdravotní stav systému před selháním aplikací nebo OS.
n Usnadnit správu heterogenních zdrojů.
n Ulehčit testování a debugging v řízených prostředích.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.