Xen – virtualizace na Z´apadoˇcesk´e univerzitˇe ˇ Michal Svamberg 20. ˇr´ıjna 2007
Virtualizace se dˇr´ıve v rutinn´ım provozu pˇr´ıliˇs nepouˇz´ıvala, zvl´aˇstˇe z d˚ uvod˚ u potˇreby ˇs´ahnout ke speci´aln´ımu hardwaru nebo komerˇcn´ımu softwaru. Na poli svobodn´eho softwaru existovaly virtualizaˇcn´ı n´astroje, kter´e pˇrev´aˇznˇe na platformˇe i386 dok´azaly vytvoˇrit virtu´aln´ı stroj. Jejich velkou nev´ yhodou byla pomalost nebo velmi u ´zk´e zamˇeˇren´ı. Do vzniku projektu Xen neexistovalo ˇreˇsen´ı virtualizace zaloˇzen´e na svobodn´em softwaru, kter´e by bylo moˇzn´e nasadit do bˇeˇzn´eho provozu na stranu server˚ u. Pr´avˇe moˇznost provozu virtu´aln´ıch stroj˚ u v produkˇcn´ım prostˇred´ı zp˚ usobila velkou oblibu virtualizace v posledn´ım obdob´ı. Nejˇcastˇeji zmiˇ novan´e projekty v tomto svˇetle jsou Xen a Linux VServer. O tom proˇc jsme pro provoz virtu´aln´ıch stroj˚ u vybrali pr´avˇe Xen, jak jsme jej nastavili a s jak´ ymi zkuˇsenostmi jej provozujeme se dozv´ıte v tomto ˇcl´anku.
1
Virtualizace
Jak jiˇz bylo naznaˇceno, v pˇr´ıspˇevku se budeme nad´ale vˇenovat pouze softwarov´emu ˇreˇsen´ı virtualizace. Zde existuj´ı tˇri z´akladn´ı pˇr´ıstupy: Virtualizace emulac´ı kompletn´ıho hardware se vytv´aˇr´ı virtu´aln´ı stroj, na nˇemˇz bˇeˇz´ı hostovan´ y syst´em. D´ıky tomuto pˇr´ıstupu nevyˇzaduje hostovan´ y syst´em ˇz´adn´e u ´pravy; lze takto dokonce provozovat syst´emy urˇcen´e pro jinou architekturu neˇz je fyzick´a. Nev´ yhodou tohoto pojet´ı virtualizace je vysok´a reˇzie vznikl´a vlivem softwarov´eho pˇrekladu instrukc´ı nebo I/O operac´ı. Existuje nˇekolik optimalizac´ı (dynamick´a rekompilace, pˇr´ım´e vykon´an´ı instrukce), avˇsak reˇzie je i tak vysok´a. Typick´ ymi z´astupci jsou BOSCH, QEMU nebo DOSEMU. Virtualizace na u ´ rovni OS kde je virtu´aln´ımu stroji pˇredloˇzena ˇc´ast fyzick´eho stroje. Jejich vz´ajemn´a izolace je zajiˇstˇena vytvoˇren´ım bari´er mezi tˇemito syst´emy. Vˇsechny virtu´aln´ı stroje bˇeˇz´ı nad spoleˇcn´ ym j´adrem, nelze tedy m´ıt virtu´aln´ı stroje r˚ uzn´ ych operaˇcn´ıch syst´em˚ u. Typick´ ym z´astupcem tohoto zp˚ usobu virtualizace je VServer. paravirtualizace Tˇret´ı skupina se pokusila spojit to lepˇs´ı z obou pˇredchoz´ıch pˇr´ıstup˚ u. Virtu´aln´ı stroj se nesnaˇz´ı hardware simulovat, nam´ısto toho poskytuje hostovan´emu syst´emu speci´aln´ı rozhran´ı, kter´e k nˇemu umoˇzn´ı pˇristupovat. Pro tento pˇr´ıpad je nutn´e hostovan´e syst´emy pˇrizp˚ usobit tak, aby dok´azaly vyuˇz´ıt virtualizaˇcn´ı rozhran´ı. Nutnost takov´e u ´pravy je urˇcitou komplikac´ı tohoto ˇreˇsen´ı, nicm´enˇe univerzalita a v´ ykon, kter´eho lze t´ımto pˇr´ıstupem dos´ahnout jednoznaˇcnˇe pˇredˇc´ı oba v´ yˇse zm´ınˇen´e. Paravirtualizace nen´ı jen dom´enou Xenu, tuhle myˇslenku pouˇz´ıv´a tak´e User Mod Linux (UML). Ovˇsem UML bylo konstruov´ano za u ´ˇcelem ladˇen´ı a v´ yvoje linuxov´eho j´adra, proto neopl´ yv´a v´ yrazn´ ym v´ ykonem. D´ale existuje skupina aplikaˇcn´ı virtualizace do n´ıˇz patˇr´ı zn´am´e Wine. Zn´am´ y VMWare, ale nejen on, spad´a do skupiny nativn´ı virtualizace, coˇz je pln´a virtualizace s ˇc´asteˇcnou 1
emulac´ı hardware. Aby byla zachov´ana u ´nosn´a reˇzie je tˇreba, aby architektura hostitele byla totoˇzn´a s virtu´aln´ım strojem. V pˇr´ıpadˇe t´eto virtualizace nen´ı potˇreba prov´adˇet modifikace hostovan´eho syst´emu.
2
Xen
Umoˇzn ˇuje bezpeˇcn´ y provoz nˇekolika virtu´aln´ıch stroj˚ u – kaˇzd´ y se sv´ ym vlastn´ım operaˇcn´ım syst´emem – na jedin´em fyzick´em stroji. V´ ykon virtu´aln´ıch stroj˚ u spravovan´ ych Xenem se bl´ıˇz´ı jejich v´ ykonu pˇri nativn´ım chodu. Xen byl p˚ uvodnˇe zam´ yˇslen jako podkladn´ı vrstva pro klastrov´a ˇreˇsen´ı. A to jak napˇr´ıklad pro v´ yvoj aplikac´ı, kdy na jednom ˇzeleze lze pˇripravovat a testovat klastrov´e u ´lohy, tak hlavnˇe pro moˇznosti spr´avy jednotliv´ ych uzl˚ u, aby bylo moˇzn´e vzd´alenˇe uzly usp´avat ˇci je pˇresouvat mezi fyzick´ ymi stroji. Projekt ale naˇsel daleko ˇsirˇs´ı uplatnˇen´ı. Ve sv´e podstatˇe je Xen sada patch˚ u pro j´adra Linuxu1 ˇci OpenBSD a nˇekolik skript˚ u, kter´ ymi lze virtualizaci ovl´adat. Z´akladn´ım kamenem je hypervisor. Hypervisor je mal´a ˇc´ast j´adra, kter´a m´a za u ´kol ˇr´ıdit nedˇeliteln´e operace. Je to zvl´aˇstˇe pl´anov´an´ı procesorov´eho ˇcasu, ˇr´ızen´ı pˇreruˇsen´ı, mapov´an´ı str´anek ˇci bootovac´ı sekvence stroje a start Domain-0, tzv. privilegovan´eho stroje. Pro ˇr´ızen´ı Xenu je tˇreba m´ıt odpov´ıdaj´ıc´ı prostˇred´ı, nejl´epe s plnohodnotn´ ym operaˇcn´ım syst´emem a ovladaˇci k hardwaru. Tuto sluˇzbu n´am zajiˇst’uje Domain-0, kter´ y se startuje po zaveden´ı hypervisora. Ovladaˇce se v pojet´ı Xenu dˇel´ı na dvˇe skupiny: front-end a backend. Ovladaˇce typu back-end spravuj´ı pˇr´ıstup k fyzick´emu zaˇr´ızen´ı, ke kaˇzd´emu back-end ovladaˇci tedy pˇr´ısluˇs´ı nˇejak´ y bˇeˇzn´ y ovladaˇc. Front-end ovladaˇc je pak jak´asi trubka, kter´a se z jin´ ych stroj˚ u pˇripojuje k back-end ovladaˇci spravuj´ıc´ı norm´aln´ı ovladaˇc. Nejbˇeˇznˇejˇs´ı zp˚ usob je, ˇze back-end ovladaˇce jsou v Domain-0 a front-end ovladaˇce ve virtu´aln´ıch stroj´ıch. Vzhledem k tomu, ˇze ud´alosti v syst´emu n´am spravuje hypervisor, je moˇzn´e, aby zaˇr´ızen´ı bylo ”exportov´ano” do samostatn´eho virtu´aln´ıho stroje, kter´ y bude pˇres back-end ovladaˇc zpˇr´ıstupˇ novat toto zaˇr´ızen´ı dalˇs´ım virtu´aln´ım stroj˚ um. Aby to bylo jeˇstˇe zaj´ımavˇejˇs´ı, lze mezi sebou kombinovat r˚ uzn´e druhy syst´em˚ u. Napˇr´ıklad na Domain-0 s j´adrem v2.6 lze provozovat linuxov´e stroje s j´adry v2.4 i v2.6 a nav´ıc si jako bonus pustit OpenBSD. S n´astupem Xenu 3.0 se do toho pˇrim´ıch´av´a 64bitov´a architektura a tak´e moˇznost spouˇstˇet nemodifikovan´e syst´emy. T´ım se otev´ır´a dalˇs´ı moˇznost vyuˇzit´ı Xenu – v´ yvoj´aˇr softwaru jiˇz nebude potˇrebovat pro testov´an´ı sv´e aplikace v´ıce stroj˚ u, ale bude mu staˇcit jeden s mnoha virtu´aln´ımi stroji. Xen je zaloˇzen na principu paravirtualizace. S n´ızkou reˇzi´ı je rozumnˇe univerz´aln´ı. Vzhledem k nutnosti z´asahu do zdrojov´ ych k´od˚ u jej lze pouˇz´ıt jen s operaˇcn´ımi syst´emy, kter´e jsou otevˇren´e. Ve verzi Xen 3.0 pˇribyla podpora hardwarov´e virtualizace, s jej´ıˇz kombinac´ı je moˇzn´e provozovat t´eˇz neupraven´e hostovan´e syst´emy. Technologie IntelVT obsahuje podporu virtualizace v samotn´em hardware. Zjednoduˇsenˇe lze ˇr´ıci, ˇze tyto hardwarov´e ˇcipy maskuj´ı existenci hypervisora jako spr´avce prostˇredk˚ u, ˇc´ımˇz si hostovan´ y operaˇcn´ı syst´em mysl´ı, ˇze m´a cel´ y syst´em pod kontrolou. 1
Od verze 2.6.23 je Xen souˇc´ast´ı zdrojov´ ych k´ od˚ u j´adra.
2
Zde se jedn´a o tzv. k ruhy ochrany (rings), kter´e jsou ˇc´ıslov´any od 0 ke 3. Operaˇcn´ı syst´emy jsou zvykl´e bˇeˇzet v kruhu 0 a rozhodovat o prostˇredc´ıch poˇc´ıtaˇce. Ale pˇri virtualizaci uˇz je v kruhu 0 zaveden hypervisor a ten spouˇst´ı hosty v kruhu 1. Zamaskovat tento probl´em pro nemodifikovan´e operaˇcn´ı syst´emy lze pouze pˇri spolupr´aci softwarov´ ych a hardwarov´ ych prostˇredk˚ u. V kruhu 3 jsou spouˇstˇeny aplikace, kruh 2 neb´ yv´a vyuˇz´ıv´an.
2.1
Pˇ r´ınosy Xenu
Z´asadn´ım pˇr´ınosem nasazen´ı Xenu jsou pen´ıze. Pouˇzit´ım jednoho stroje pro v´ıce hostovan´ ych syst´em˚ u se ˇsetˇr´ı hlavnˇe za hardware, elektˇrinu na nap´ajen´ı, m´ıstˇe v serverovnˇe, ale tak´e na chlazen´ı nebo z´aloˇzn´ıch zdroj´ıch elektrick´eho proudu. V pˇr´ıpadˇe, kdy na jednom stroji je hostov´ano v´ıce aplikac´ı, roste d˚ uleˇzitost takov´eho stroje a jeho v´ ypadek m˚ uˇze b´ yt kritiˇctˇejˇs´ı. Proto lze doporuˇcit pro virtualizaci zakoupit lepˇs´ı hardware, nejl´epe s redundantn´ım zdrojem a vyˇsˇs´ım poˇctem disk˚ u tak, aby bylo moˇzn´e zapnout HW nebo SW RAID. T´ım sice rostou poˇrizovac´ı n´aklady, ale z´aroveˇ n kaˇzd´ y hostovan´ y syst´emu dost´av´a kvalitn´ı z´aklad. Dalˇs´ım pˇr´ınosem je jednoduˇsˇs´ı spr´ava. Snadno vytvoˇr´ıte nov´ y stroj, nemus´ıte napˇred sh´anˇet ˇzelezo, um´ıstit jej nˇekde a zapojovat k elektrick´ ym rozvod˚ um, ale ani hledat voln´ y port na pˇrep´ınaˇci. Velmi snadno lze zjistit stav hostovan´ ych syst´em˚ u a vytvoˇrit nov´ y stroj vˇcetnˇe instalace.2 Samozˇrejmˇe zruˇsen´ı nebo pˇreinstalace virtu´aln´ıho stroje je opˇet snazˇs´ı a v´ yraznˇe ˇsetˇr´ı ˇcas obsluhy. Pˇrestoˇze pˇr´ınosy virtualizace jsou obecnˇe stejn´e pro vˇsechny virtualizaˇcn´ı n´astroje, m´a Xen jednu velkou v´ yhodu – migraci. Pokud jsou pro Xen splnˇeny i nˇekter´e podm´ınky z pohledu IT infrastruktury, pak v´am umoˇzn´ı migrov´an´ı (pˇresunut´ı) virtu´aln´ıch stroj˚ u. T´ım lze zv´ yˇsit dostupnost hostovan´ ych stroj˚ u, protoˇze pˇred pl´anovanou odst´avkou lze virtu´aln´ı stroje pˇremigrovat na jin´ y Xen server. Nasazen´ı Xenu m´a i jedno negativum, je j´ım riziko HW poruchy a t´ım odpadnut´ı vˇsech hostovan´ ych stroj˚ u. Tento probl´em je nevyzpytateln´ y a kaˇzd´ y s n´ım m´a osobn´ı zkuˇsenost, ale lze jej alespoˇ n omezit redundanc´ı nejprobl´emovˇejˇs´ıch ˇc´ast´ı a poctiv´ ym zahoˇren´ım jednotliv´ ych komponent. Pokud je k dispozici migrace, pak v pˇr´ıpadˇe neˇcekan´eho p´adu, lze virtu´aln´ı stroj okamˇzitˇe nastartovat na jin´em serveru a nen´ı tˇreba ˇcekat na opraven´ı p˚ uvodn´ıho stroje. To vˇse lze samozˇrejmˇe udˇelat vzd´alenˇe.
2.2
Omezen´ı
Z pohledu hostovan´eho operaˇcn´ıho syst´emu by se mˇel dle konceptu virtualizace chovat virtu´aln´ı stroj na nˇemˇz syst´em bˇeˇz´ı jako re´aln´ y hardware. V praxi vˇsak pˇrece objevujeme urˇcit´e rozd´ıly, kter´e jsou v tomto smyslu v´ıce ˇci m´enˇe jist´ ym omezen´ım. Pro virtu´aln´ı stroje spravovan´e Xenem se jedn´a zejm´ena o n´asleduj´ıc´ı pˇr´ıpady: Nelze virtualizovat pevn´e disky jako celky, pouze jednotliv´e odd´ıly, kter´e jsou pˇri konfiguraci virtu´aln´ıho stroje vybr´any pro export. Jin´ ymi slovy, pro virtu´aln´ı stroj neexistuje 2
Automatick´ a instalace virtu´aln´ıho stroje metodou FAI vˇcetnˇe pˇr´ıpravy konfiguraˇcn´ıch soubor˚ u pro ˇ do 10 minut. FAI i Xen zvl´ ad´ame na ZCU
3
zaˇr´ızen´ı /dev/hda, pˇrestoˇze zaˇr´ızen´ı /dev/hda1 existuje. S t´ım je tˇreba poˇc´ıtat pˇri instalaci syst´emu na virtu´aln´ı stroj (pokud se instal´ator bude pokouˇset rozdˇelit disk na odd´ıly dojde patrnˇe k selh´an´ı).
2.3
ˇ Xen na ZCU
O nasazen´ı nˇejak´eho virtualizaˇcn´ıho n´astroje se zaˇcalo uvaˇzovat v polovinˇe roku 2003, kdy se nahromadilo nˇekolik poˇzadavk˚ u na samostatn´ y testovac´ı stroj um´ıstˇen´ y na serverovnˇe. V t´e dobˇe chybˇelo skoro vˇse: m´ısto v racku, z´aloˇzn´ı zdroje a hlavnˇe voln´e porty na pˇrep´ınaˇc´ıch. Naˇstˇest´ı tou samou dobou byl jiˇz projekt Xen stabilizov´an v podobˇe ˇrady 2.x. V porovn´an´ı s jin´ ymi virtualizaˇcn´ımi n´astroji mˇel vˇzdy navrch, a to jak s cenou, tak rychlost´ı ˇci dokumentac´ı. N´asledovalo testov´an´ı moˇznost´ı Xenu, ale i kompatibility s ostatn´ım ˇ zvl´aˇstˇe AFS3 , FAI4 a podpora VLAN (802.1q). vybaven´ım IT prostˇred´ı ZCU, Na z´akladˇe zkuˇsenost´ı byl zakoupen stroj s potˇrebn´ ym HW vybaven´ım a rozhodnuto, ˇze datov´e disky virtu´aln´ıch stroj˚ u budou um´ıstˇeny na Fibre Channel5 . Prvn´ı rok byly na takto vznikl´em stroji provozov´any virtu´aln´ı stroje, kter´ ym by pˇr´ıpadn´ y p´ad nehrozil, pˇrev´aˇznˇe pro testov´an´ı. Ovˇsem jak ˇcas plynul, software urˇcen´ y k testov´an´ı pˇrech´azel v ostr´ y provoz a s n´ım nar˚ ustala i d˚ uleˇzitost zachov´an´ı provozu Xenu. Po naplnˇen´ı kapacity se poˇr´ıdil druh´ y stroj a ˇzivot ˇsel d´al. Nyn´ı m´ame t´emˇeˇr ˇctyˇrletou zkuˇsenost s provozem Xenu a smˇele jej mohu prohl´asit za velmi stabiln´ı. Nikdy jsme neˇreˇsili SW probl´em p´adu hypervisora a naˇstˇest´ı ani HW probl´emy. Nyn´ı m´ame celkem 4 stroje, z nichˇz jeden je urˇcen pro provoz ostr´ ych virtu´aln´ıch syst´em˚ u, druh´ y pro testovac´ı virtu´aln´ı stroje. Tˇret´ı stroj byl koupen z grantu fondu Rozvoje CESNET6 na ovˇeˇren´ı migrace virtu´aln´ıch stroj˚ u. Konfigurace tˇr´ı server˚ u je t´emˇeˇr stejn´a: • 2xCPU Xeon na 3,2GHz s podporou Hyper Threadingu • 4GB RAM • 2xGbit ethernet (zat´ım pouˇz´ıv´an jen jeden) • 2x80GB SATA disk (partitiony v SW RAIDU - mdadm) • Fibre Channel adapter QLA2300 • redundantn´ı zdroj ˇ Ctvrt´ y stroj byl tak´e zakoupen v r´amci grantu Fondu Rozvoje CESNET7 , kter´ y navazoval na pˇredchoz´ı projekt, tentokr´at byl smˇerov´an k testov´an´ı 64bitov´e architektuˇre a moˇznosti provozu nemodifikovan´ ych virtu´aln´ıch stroj˚ u pˇri uˇzit´ı HW podpory virtualizace. Stroj je obdobn´e konfigurace, je ale 64bitov´ y a m´a podporu hardwarov´e virtualizace. 3
Andrew File System – http://www.openafs.org/ Fully Automated Installation – http://www.informatik.uni-koeln.de/fai/ 5 Fibre Channel – http://hsi.web.cern.ch/HSI/fcs/ 6 Grant je veden pod ˇc´ıslem 154R1/2005, elektronick´e zdroje pouˇzit´e pˇri ˇreˇsen´ı jsou k dispozici na http://support.zcu.cz/index.php/CIV:Granty/Overeni migrace Xen virtualnich stroju 7 Cislo grantu je 192R2/2006, grant v souˇcasnosti prob´ıh´a a jeho souˇc´ast´ı je tak´e tento pˇr´ıspˇevek. 4
4
2.4
Probl´ emy pˇ ri nasazov´ an´ı
Pˇri zav´adˇen´ı Xenu jsme se pot´ ykali s nˇekolika z´asadnˇejˇs´ımi probl´emy. Jedna z v´ yznamn´ ych pot´ıˇz´ı byla kompilace j´adra do .deb bal´ık˚ u n´astrojem make-kpkg. V tomto pˇr´ıpadˇe ˇslo zvl´aˇstˇe o nastaven´ı spr´avn´ ych parametr˚ u a pˇrejmenov´an´ı defaultn´ıch n´azv˚ u patchovan´ ych jader. Zprovoznˇen´ım kompilace pˇres make-kpkg byla tak´e u ´spˇeˇsnˇe zkompilov´an modul klienta pro OpenAFS do bal´ıˇcku. Kompilace j´adra a rozˇsiˇruj´ıc´ıch modul˚ u do debian´ıch bal´ıˇck˚ u byla d˚ uleˇzit´a prerekvizita pro nasazen´ı FAI. Ten se ale pot´ ykal pˇri rozdˇelov´an´ı disk˚ u s probl´emem neexistence disku (partitiony ale existuj´ı). Tento probl´em byl pˇrekon´an vlastn´ım n´astrojem pro rozdˇelov´an´ı disk˚ u; nebylo potˇreba zasahovat do k´odu FAI. Virtu´aln´ı stroje mˇely b´ yt um´ıst’ov´any na r˚ uzn´ ych s´ıt’ov´ ych segmentech dle poˇzadavk˚ u provozovan´e aplikace. V hypervisorovi je s´ıt’ov´e rozhran´ı nastaveno tak, ˇze obsahuje nˇekolik intern´ıch bridg˚ u (pro kaˇzd´ y segment jeden) a ke kaˇzd´emu bridgi je pˇrivedena dan´a tagovan´a pods´ıt’ dle 802.1q. Xen pˇri vytv´aˇren´ı nov´eho hosta s´am podle konfigurace napoj´ı s´ıt’ov´e rozhran´ı na dan´ y bridge.
2.5
Migrace
Jak jste si vˇsimli, byla z popisu vynech´any informace o n´astroj´ıch a provozu Xenu. D˚ uvodem je noˇsen´ı dˇr´ıv´ı do lesa, tato ˇc´ast je totiˇz velmi dobˇre zdokumentov´ana na str´ank´ach projektu http://xen.sf.net/ a k dispozici je tak´e LiveCD na kter´em si lze Xen vyzkouˇset. Mimo jin´e existuje mnoho r˚ uzn´ ych howto, kter´e v´as do problematiky instalac´ı a provozu uvedou. ˇ pˇres Proto rovnou odskoˇc´ıme k t´ematu migrace, kterou u ´spˇeˇsnˇe vyuˇz´ıv´ame na ZCU rok. Xen dok´aˇze hibernovat hosta do souboru (virtu´aln´ı stroj je zastaven a obsah pamˇeti uloˇzen) a pozdˇeji jej znovu probudit. Pokud bychom jej chtˇeli probudit na jin´em stroji, mus´ıme splnit dvˇe podm´ınky: • zachov´an´ı disku jako blokov´eho zaˇr´ızen´ı (SAN, NAS, iSCSI, . . . ), • zachov´an´ı s´ıt’ov´eho segmentu. Pr´avˇe tomuto se ˇr´ık´a v pojet´ı Xenu migrace. Tu rozliˇsujeme na off-line a on-line. Rozd´ıl mezi nimi spoˇc´ıv´a v rychlosti migrace a dostupnosti syst´emu bˇehem migrace. Off-line migrace prob´ıh´a prakticky ve v´ yˇse popsan´ ych tˇrech f´az´ıch: usp´an´ı, pˇresun obrazu pamˇeti na nov´eho hypervisora, probuzen´ı. Bˇehem tˇechto f´az´ıch nen´ı hostovan´ y syst´em dostupn´ y, ale migrace je provedena bez zbyteˇcn´eho zdrˇzov´an´ı. Naproti tomu on-line migrace umoˇzn ˇuje 8 jen minim´aln´ı v´ ypadek (m´enˇe neˇz 1 vteˇrina ), ale proveden´ı migrace je ˇcasovˇe i procesorovˇe n´aroˇcnˇejˇs´ı – mus´ı se nav´ıc hl´ıdat z´apisov´e operace do pamˇeti.
2.6
Nemodifikovan´ e operaˇ cn´ı syst´ emy
Mezi novinky v ˇradˇe 3.x patˇr´ı moˇznost provozu nemodifikovan´ ych operaˇcn´ıch syst´em˚ u. M´a to ale h´aˇcek, je potˇreba m´ıt HW podporu virtualizace. Podporou se rozum´ı, ˇze mus´ıte m´ıt 8
Z´aleˇz´ı na zat´ıˇzen´ı stroje, zvl´ aˇstˇe poˇctu prov´ adˇen´ ych operac´ı v pamˇeti.
5
spr´avn´ y ˇcipset, d´ale procesor a zapnutou podporu v BIOSu. V Xenu jsou podporov´any technologie od Intelu9 i AMD10 . ˇ se objevila potˇreba obˇcas otestovat novou aplikaci v MS Windows. Kupovat Na ZCU a instalovat nov´ y stroj pro tyto obˇcasn´e potˇreby nen´ı z ekonomick´eho hlediska ide´aln´ı. Podle r˚ uzn´ ych n´avod˚ u a vlastn´ıch zkuˇsenost´ı se n´am podaˇrilo na stroji s podporou IntelVT11 . Virtu´aln´ımu stroji jsou potˇrebn´a rozhran´ı k fyzick´emu stroji emulov´ana, jde zejm´ena o BIOS, grafickou kartu, s´ıt’ovou kartu a disky. Xen vyuˇz´ıv´a pro tyto u ´ˇcely k´od z projektu QEMU, coˇz je patrn´e pˇri startu. Tato emulace I/O rozhran´ı m˚ uˇze b´ yt pˇr´ımo nav´az´ana na jednotliv´e komponenty d´ıky ˇr´ızen´ı pˇr´ıstupu, kter´ y zajiˇst’uje hardwarov´a podpora virtualizace. To n´am zajist´ı dostateˇcn´e oddˇelen´ı virtu´aln´ıch stroj˚ u a z´aroveˇ n neztr´ac´ıme rychlost dan´ ych operac´ı. Z´aroveˇ n nen´ı potˇreba provozovat modifikovan´ y syst´em, kter´ y by si rozumˇel s hypervisorem v Xenu. V ˇr´ıjnu 2007 jsme mˇeli k dispozici jeden stroj s hardwarovou podporou virtualizace. Z´aroveˇ n je tento stroj plnˇe 64bitov´ y, coˇz n´am otevˇrelo cestu ub´ırat se smˇerem ke zkouˇsen´ı nemodifikovan´ ych operaˇcn´ıch syst´em˚ u, ale poskytnout spr´avc˚ um sluˇzeb testovac´ı platformu pro 64bitovou architekturu.
3
Z´ avˇ er
Tento pˇr´ıspˇevek si nekladl za c´ıl sezn´amit uˇzivatele s detaily virtualizace, proto se vyhnul i nˇekter´ ym d˚ uleˇzit´ ym pojm˚ um nebo je jen okrajovˇe zm´ınil. Z ˇcl´anku by mˇel b´ yt patrn´ y zp˚ usob nasazen´ı a v´ yvoj virtualizace na Z´apadoˇcesk´e univerzitˇe, moˇznosti jeho vyuˇzit´ı i n´astin pl´an˚ u do budoucnosti. Dnes je k dispozici v´ıce virtualizaˇcn´ıch technologi´ı, kter´e poskytuj´ı takov´ y v´ ykon, aby mohly b´ yt nasazeny v provozu. Velmi zd´arnˇe se vyv´ıj´ı projekt 12 13 Linux VServer nebo KVM , kter´ y je od verze 2.6.20 pˇr´ımo v j´adˇre. Z´aleˇz´ı pouze na vaˇsich potˇreb´ach, protoˇze kaˇzd´a technologie m´a nˇeco pozitivn´ıho i negativn´ıho a bez kompromis˚ u se neobejdete.
Literatura ´ [1] Miroslav Such´ y: Uvod do virtualizace pomoc´ı XENu http://www.root.cz/clanky/uvod-do-virtualizace-pomoci-xenu/
[2] Ian Pratt a kol.: Live Migration of Virtual Machines http://www.cl.cam.ac.uk/research/srg/netos/papers/2005-migration-nsdi-pre.pdf
[3] Kolektiv autor˚ u: Xen 3.0 User Manual http://www.cl.cam.ac.uk/research/srg/netos/xen/readmes/user.pdf 9
Naz´ yv´a se k´ odov´ ym oznaˇcen´ım Vanderpool, procesor lze poznat podle pˇr´ıznaku vmx. AMD ji oznaˇcuje n´azvem Pacifica, procesory obsahuj´ı pˇr´ıznak vms. 11 IntelVT je starˇs´ı n´azev podpory virtualizace, kter´a nakonec dostala n´azev Vanderpool. 12 Domovsk´ a str´ anka projektu VServer: http://linux-vserver.org 13 Informace o projektu KVM jsou na http://kvm.qumranet.com/kvmwiki 10
6