Virtualizace serverů je v současnosti extrémně populárním tématem, které si nedovolí ignorovat žádný z dodavatelů IT. Ačkoliv hlavní pozornost je dnes zdánlivě soustředěna na rozšířené softwarové produkty na bázi hypervizoru výrobců jako Citrix, Microsoft či VMware, výčet variant tím zdaleka nekončí. Mezi tyto výrobce patří také společnost IBM, jejíž virtualizační technologie dodávaná spolu s unixovými či linuxovými servery z rodiny Power Systems, založenými na platformě Power, nabízí velmi zajímavé a v některých směrech unikátní vlastnosti a možnosti.
Základem virtualizace jsou v případě IBM její procesory Power, jejichž klíčovou vlastností je podpora virtualizace implementovaná přímo na hardwarové úrovni. Tento přístup znamená především výrazně nižší režii, kterou tvoří podíl výkonu CPU spotřebovaný na řízení virtualizovaných požadavků na využití hardwarových zdrojů.
Hypervizor technologie PowerVM je kompletně realizován v hardwarové vrstvě a podpora je implementována přímo do samotného procesoru. Podoba PowerVM se v průběhu doby vyvíjela a její poslední podoba implementovaná v procesorech Power6 nabízí nejucelenější sadu možností, která je od jeho uvedení na trh rozšiřována a upgradována prostřednictvím updatů firmwaru. Podporuje přitom operační systémy AIX, Linux a IBM i.
Správu je možné provádět dvěma způsoby – využít lze buďto Integrated Virtualization Manager, nebo tzv. Hardware Management Console. V prvním případě se jedná o nástroj zahrnutý bezplatně v dodávce každého serveru vstupní řady obsahujícího virtualizační technologii PowerVM. Je dostupný přes přehledné a intuitivní webové rozhraní a dovoluje provádět konfiguraci veškerých parametrů a možností týkajících se virtualizace. Hardwarová správní konzole dovoluje rozšířenější správu včetně možnosti centrálně spravovat všechny servery v síti z jediného místa.
V následujícím textu se podrobněji podíváme na jednotlivé dostupné technologie. Popsané možnosti jsme měli možnost otestovat ve spolupráci se specialisty IBM také v reálném provozu. Testování probíhalo na serverech IBM System p 550 (Power5) a IBM Power 570 (Power6) a ke správě jsme využili hardwarovou konzoli. Pro simulování reálných aplikací byla využita standardní (tj. nijak nemodifikovaná) instalace databáze Oracle, testovací aplikace SwingBench pro generování transakční zátěže, simulující práci skupiny uživatelů připojujících se současně k databázi, a utilita pro sledování a vizualizaci zatížení procesorů serveru a využití jeho zdrojů.
LPAR a Micro-Partitioning
Základním termínem virtualizace ve světě IBM je zkratka LPAR, označující Logical Partitioning, která zde v podstatě nahrazuje známou zkratku VM (Virtual Machine). Logické oddíly, které se poprvé objevily v mainframech tohoto výrobce zhruba v roce 1987 a do světa unixových/linuxových serverů definitivně pronikly s uvedením procesoru Power4 v roce 2001, představují základní „jednotku“ pro rozřezání stroje do několika virtuálních oddílů, které vzájemně izolují v nich běžící operační systémy a aplikace. LPAR provozované na serveru pak dynamicky sdílejí procesorové a veškeré další zdroje.
Už od příchodu generace Power5 přitom výrobce nabízí funkci zvanou Micro-Partitioning, která dovoluje rozdělit jediné procesorové jádro až na deset virtuálních strojů/oddílů s granularitou až do „setin CPU jádra“ (při minimální velikosti oddílu odpovídající 1/10 CPU jádra). Na druhou stranu lze počítat s vysokou škálovatelností – jedinému LPARu lze přidělit až 64 CPU jader, tzn. plnou kapacitu serveru.
K vytvoření a konfiguraci virtuálních strojů (LPAR) je k dispozici přehledný průvodce, který celý proces maximálně zjednodušuje. V rámci konfigurace nastavujete minimální, požadovaný a maximální počet výpočetních jednotek a množství paměti a I/O parametry atd. Pokročilé možnosti nastavení pak poskytují velkou flexibilitu. Co je důležité, LPAR lze následně kdykoliv dynamicky překonfigurovat také přímo za běhu.
Oddílům LPAR je pak k dispozici tzv. Virtual I/O Server, což je speciální hostitelská partition, která zajišťuje virtualizaci a poskytování veškerých I/O zdrojů klientským virtuálním strojům tak, aby pro každý LPAR nebylo nezbytné využívat dedikovaný síťový nebo storage adaptér, potažmo pevný disk. Kromě ethernetových rozhraní je možné touto cestou sdílet také SCSI a Fibre Channel rozhraní diskových a páskových subsystémů.
Oproti většině konkurenčních virtualizačních platforem je zde jeden zásadní rozdíl: Ne všechna I/O zařízení či komunikační kanály musejí být virtualizovány. Jestliže v některé partition běží kritická obchodní aplikace náročná na transakční výkon a I/O, je často výhodnější aby kupříkladu s databázovým serverem komunikovala přímo prostřednictvím dedikovaného fyzického rozhraní, namísto aby jej sdílela s jinými virtuálními stroji. Obě varianty – virtuální i dedikované I/O – je přitom možné libovolně kombinovat podle potřeby. Dokonce i jediný LPAR lze nakonfigurovat tak, aby mohl využít dedikované i virtualizované I/O.
Další možnosti a funkce
Sdílená dedikovaná kapacita: Novou funkcí, která přišla s platformou Power6, je sdílení dedikovaných kapacit procesoru označované jako Shared Dedicated Capacity. V principu jde o rozšíření možností Micro-Partitioningu, který poskytuje v rámci sdíleného poolu procesorů volné cykly CPU procesům v jiných LPAR, i o využití volných cyklů procesorů mimo sdílený pool, které jsou přímo dedikovány na určitý LPAR. Díky tomu pak za běhu dochází k dynamickému přesouvání volných zdrojů směrem k výkonnostně náročnějším procesům, ovšem zároveň je jejich dostupnost garantována pro LPAR, pro něž jsou primárně dedikovány. Při konfiguraci oddílů LPAR stačí pouze označit využívané procesorové zdroje jako Capped nebo Uncapped. V prvním případě LPAR nesmí překročit nastavené maximum využitelných procesorových zdrojů, zatímco pokud zvolíte variantu Uncapped, mohou procesy a aplikace běžící v daném LPAR využít volné CPU kapacity v rámci příslušného poolu.
Důležitým aspektem je také to, že je možné CPU dostupná v rámci jediného serveru rozdělit do více poolů, v nichž může zdroje sdílet několik LPARů. Tímto způsobem lze dosáhnout nejen kompromisu mezi co nejvyšším využitím dostupného výkonu a zvýšením úrovně oddělení LPAR běžících na serveru, ale také lepšího přizpůsobení softwarovým licenčním politikám. Ty dnes stále ještě často vycházejí z počtu procesorů serveru, což je ve světě virtualizace často problematické. Rozdělením procesorů do poolů lze tento problém uspokojivě vyřešit při zachování možnosti dynamicky využívat disponibilní zdroje v případě potřeby.
Active Memory Sharing: Tato technologie je vůbec nejnovějším vylepšením platformy PowerVM, neboť byla finálně uvolněna na konci dubna (pro stávající zákazníky je dostupná prostřednictvím upgradu firmwaru). Funguje podobným způsobem jako sdílení CPU jednotek v rámci poolu, v tomto případě lze ale totéž provádět s dostupnou pamětí – pokud je část dedikované paměti volná, lze ji poskytnout k využití jinými LPAR oddíly.
Live Partition Mobility: Patří ke klíčovým funkcím podporovaným procesory Power6, neboť dovoluje přesouvat aktivní LPAR z jednoho serveru na druhý bez přerušení provozu na něm běžících aplikací. Využitelnost je poměrně široká, neboť bez jakýkoliv prostojů tak můžete uvolnit příslušný server pro plánovanou údržbu nebo za běhu migrovat virtuální stroj (LPAR) i hostovaným softwarem na výkonnější server, pokud dojde k nárůstu požadavků vlivem krátkodobé špičky nebo díky rostoucímu počtu uživatelů.
Proces přesunu běžící partition probíhá tak, že se za běhu na nový hardware kompletně přesune stav procesoru i paměti a jakmile je nový systém připraven, dojde k přepnutí aplikace a její rozběhnutí na druhém serveru. Přitom systém samozřejmě kontroluje, zda nový server disponuje alespoň minimem volných požadovaných zdrojů. Celý proces přesunu proběhl při našem testování velmi rychle – v řádu minut – a jedinou známkou změny bylo asi sekundu trvající zamrznutí při samotném přepnutí aplikace. Podstatné však je, že nedošlo k žádnému narušení jejího běhu – při testování se simulací práce skupiny uživatelů s databází Oracle nedošlo k žádnému přerušení probíhajících sessions či odpojení uživatelů a přechod z jednoho serveru na druhý byl zcela plynulý.
Popsané možnosti navíc dále rozšiřují například funkce PowerVM Lx86, umožňující provozování linuxových aplikací napsaných pro platformy x86, nebo virtualizační nástroje operačního systému AIX. AIX ve verzi 6.1 dovoluje definovat tzv. Workload Partitions (WPAR) zajišťující další oddělení systémů a aplikací provozovaných společně v rámci jediné instance OS. Na této úrovni je pak k dispozici také funkce Live Application Mobility, která je analogií Live Partition Mobility.
Dostupné edice
Virtualizační funkce PowerVM jsou v principu dostupné ve třech edicích, jež určují, které možnosti jsou konkrétně využitelné. Tou nejlevnější je Express Edition dostupná výhradně v serverech Power 520 a Power 550, dovolující využít nanejvýš tři LPAR, Virtual I/O Server a možnosti sdíleného procesorového poolu. Správu lze provádět pouze pomocí webového rozhraní. Edice Standard a Enterprise už nabízejí kompletní a neomezené možnosti včetně podpory více sdílených procesorových poolů a ve druhém případě také Live Partition Mobility.
PowerVM Standard Edition je zdarma pro všechny blade servery založené na Power architektuře. Cena PowerVM Express Edition začíná na 796 Kč za procesorové jádro.
Jednou z klíčových výhod technologie PowerVM je ve srovnání s konkurencí velmi nízká režie. Ta se během našeho testování pohybovala v jednotkách procent (cca 2-5 %), zatímco softwarové hypervizory jsou schopny ve své snaze o zvýšení využití zdrojů spolknout často až několik desítek procent procesorového výkonu a velké množství paměti. Během testování a demonstrace jsme se mohli přesvědčit, že jde o velmi flexibilní, škálovatelnou a vyspělou virtualizační technologii.
IBM PowerVM
+ šíře dostupných možností, flexibilita, granularita, nízká režie
- nepodporuje operační systém Microsoft Windows
Prodejce: IBM, www.ibm.com/cz
Cena (bez DPH): zdarma pro blade servery, od 796 Kč v edici Express