Virtualiz´aci´os Technol´ogi´ak ´ M´er´esi Utmutat´ o Informatikai technol´ogi´ak laborat´orium I. ¨ossze´all´ıtotta: T´oth D´aniel M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek 2009. m´arcius 25.
A m´ er´ es c´ elja A m´er´es c´elja, hogy a hallgat´ ok megismerkedjenek egy nagyv´allalati szerver virtualiz´aci´ os megold´ assal, annak haszn´alat´aval ´es alapvet˝o karbantart´as´aval. A m´er´es sor´an egy el˝ore telep´ıtett VMware ESX Server virtualiz´aci´ os k¨ornyezetben kell feladatokat v´egezni. A feladatok r´eszben a virtualiz´aci´ os rendszer konfigur´al´as´ahoz, r´eszben pedig a virtu´alis g´epek l´etrehoz´as´ahoz, m´odos´ıt´as´ ahoz kapcsol´ odnak, egy r¨ovid reprezentat´ıv ´attekint´est adva egy virtualiz´aci´ os rendszer mindennapi haszn´alat´ar´ ol. A m´er´es sor´an lehet˝ os´eg ny´ılik a virtualiz´aci´ o k¨ozponti menedzsmentj´enek megismer´es´ere is a VMware VirtualCenter Server seg´ıts´eg´evel. Ilyen k¨ozponti menedzsmethez kapcsol´ od´o feladat p´eld´ aul a virtu´alis g´epek m˝ uk¨od´es k¨ozbeni mozgat´asa, hibat˝ ur˝o f¨ urt ki´ep´ıt´ese, automatikus terhel´eseloszt´as, vagy virtu´alis g´epek automatiz´alt u ¨ zembehelyez´ese.
1.
Bevezet˝ o
Virtualiz´ aci´ onak nevezz¨ uk az olyan technol´ ogi´ akat, melyek lehet˝ov´e teszik, hogy egy fizikai sz´am´ıt´og´ep vagy annak valamilyen hardver er˝oforr´asa t¨ obb, esetleg elt´er˝o t´ıpus´ u virtu´alis sz´am´ıt´og´epnek, illetve er˝ oforr´ asnak l´atsz´odjon a g´epen fut´o szoftverek sz´am´ ara.
! "
1. ´abra. Az els˝o virtualiz´aci´ os megold´asokat az IBM fejlesztette ki a 60-as ´evekben a CP-40-re ´ep¨ ul˝o nagyg´epes rendszereiben. A modern oper´aci´ os rendszerek is egyfajta er˝ oforr´ as virtualiz´ aci´ ot val´os´ıtanak meg azzal, hogy elfedik a hardvert a g´epen fut´o folyamatok el˝ol ´es egy egys´eges szoftveres interf´eszt biztos´ıtanak az er˝ oforr´ asok dinamikus lefoglal´ as´ara ´es el´er´es´ere. Teljes sz´am´ıt´og´ep virtualiz´al´ asa (´ un.: platform virtualiz´ aci´ o ) oly m´odon, hogy a g´epen t¨ obb oper´aci´ os rendszer is futhasson, sok´aig csak nagyg´epes (mainframe) k¨ornyezetben volt el´erhet˝o. Ennek egyik f˝o 1
oka, hogy a virtualiz´aci´ o k¨ ul¨onleges k¨ovetelm´enyeket1, t´ amaszt a processzor utas´ıt´ask´eszlete, a mem´oria kezel˝o egys´eg (MMU, Memory Management Unit) illetve a perif´eri´ak programoz´ oi fel¨ ulet´evel szemben. A hagyom´ anyos PC-kben tal´ alhat´ o x86-os processzor architekt´ ura tervez´esekor ezeket a k¨ovetelm´enyeket nem vett´ek figyelembe, ez´ert PC-re platform virtualiz´aci´ o csak a k¨ozelm´ ultban k¨ ul¨onleges szoftveres megold´asokkal (fut´as k¨ozbeni k´od m´odos´ıt´as, binary translation) v´alt el´erhet˝ ov´e. Ilyen megold´asok egyik u ´ tt¨or˝oje ´es sok´aig a piacon egyed¨ uli sz´all´ıt´oja a VMware c´eg volt. A virtualiz´aci´ os megold´asok rohamosan b˝ ov¨ ul˝o piac´an id˝ok¨ ozben sz´amos m´as szerepl˝ o ´es term´ek is megjelent: x86 platformra: Citrix XenServer, Parallels, Sun VirtualBox, Microsoft VirtualPC ´es Hyper-V, m´ıg pl. Power platformra az IBM Logical Partitions (LPAR). A virtualiz´aci´ o k¨ ul¨on ´ ag´at k´epviselik az alkalmaz´ as szint˝ u futtat´ ok¨ ornyezetek ami szoftverek futtat´as´at teszi lehet˝ ov´e elt´er˝ o architekt´ ur´aj´ u processzorokon, szint´en fut´asi idej˝ uu ´ jraford´ıt´assal. Ennek legismertebb p´eld´ ai a JavaVM (Java Virtual Machine) ´es a Microsoft .NET CLR (Common Language Runtime). A fentebb ismertetett platform virtualiz´aci´ o t¨ obbnyire a hardverrel azonos architekt´ ur´aj´ u processzort biztos´ıt a virtu´alis g´epek sz´am´ ara, a JavaVM ´es a .NET CLR azonban a hardvert˝ ol teljesen elt´er˝ o utas´ıt´ ask´eszletet biztos´ıt az alkalmaz´asok sz´am´ ara. L´eteznek m´eg a virtualiz´aci´ onak egy´eb fajt´ ai, melyek valamilyen korl´atozott form´aj´ at val´os´ıtj´ak meg ´es legink´ abb az er˝ oforr´ as virtualiz´ aci´ o k¨or´ebe sorolhat´oak be. Legfontosabb az oper´ aci´ os rendszer szint˝ u virtualiz´ aci´ o, vagy kont´ener alap´ u virtualiz´ aci´ o melynek l´enyege, hogy egyazon oper´aci´ os rendszeren bel¨ ul elk¨ ul¨on´ıtett v´egrehajt´ asi k¨ornyezeteket (container, jail ) alak´ıtunk ki, amik nem tudnak egym´ as l´etez´es´er˝ ol, elk¨ ul¨on´ıtett er˝oforr´ask´eszlettel (pl. f´ajlrendszer, h´ al´ozati portok) rendelkeznek, u ´ gy viselkednek, mintha k¨ ul¨on oper´aci´ os rendszereken futn´anak, ´am a kernel val´oj´ aban k¨oz¨os. Ilyen megold´asok p´eld´ aul, az OpenVZ, Linux VServer, Solaris Containers, IBM AIX Workload Partitions (WPAR). Oper´aci´ os rendszer szint˝ u virtualiz´aci´ ot legink´abb az k¨ ul¨onb¨ ozteti meg a platform virtualiz´aci´ ot´ol, hogy az el˝obbi az oper´aci´ os rendszer er˝oforr´asainak virtualiz´al´ as´ at jelenti, m´ıg az ut´obbi hardver er˝oforr´asok´et. Term´eszetesen vannak a kett˝ ot kombin´al´o megold´asok is. Alkalmaz´ as virtualiz´ aci´ o nak2 nevezik az olyan oper´aci´ os rendszer szint˝ u virtualiz´aci´ ot megval´os´ıt´o term´ekeket, amik kifejezetten azt a c´elt szolg´ alj´ak, hogy nagy ´es komplex alkalmaz´asokat telep´ıt´es n´elk¨ ul lehessen futtatni egy oper´aci´ os rendszer felett. Az izol´alt k¨ornyezetek k¨oz¨osen haszn´alj´ak az oper´ aci´ os rendszer kernelj´et, ´am elk¨ ul¨on´ıtett programk¨ onyvt´arakat ´es konfigur´aci´ os f´ajlokat (Windows eset´en Registry-t) kapnak, ami egy ¨onhord´o, egyszer˝ uen elind´ıthat´o csomagban terjeszthet˝ o. Ilyen term´ekek p´eld´ aul a VMware Thinstall vagy a Microsoft Softgrid ´es bizonyos m´ert´ekig a Citrix XenApp.
2.
A virtualiz´ aci´ o szerepe az IT-ben
A virtualiz´aci´ o nagyv´allalati k¨ornyezetben megfigyelhet˝o nagyszab´ as´ u terjed´es´e´ert els˝osorban h´ arom f˝o szempont felel˝ os: Er˝ oforr´ as konszolid´ aci´ o Szepar´ aci´ o (hibat˝ ur´es ´es biztons´ag) T´ avoli menedzselhet˝ os´eg
Gyakori, hogy a hardverek teljes´ıtm´eny´et, er˝oforr´asait nem lehet optim´ alisan kihaszn´ alni, mert az alkalmaz´asok funkcion´ alis ´es ,,nemfunkcion´ alis” 3 (m´ as sz´oval extrafunkcion´ alis) k¨ovetelm´enyei megk¨ ot´eseket t´ amasztanak azzal kapcsolatban, hogy miket telep´ıthet¨ unk egy g´epre. 1 Gerald J. Popek and Robert P. Goldberg (1974). ”Formal Requirements for Virtualizable Third Generation Architectures”. Communications of the ACM 17 (7): 412 -421 2 Nem o ¨sszet´ evesztend˝ o az alkalmaz´ as szint˝ u futtat´ ok¨ ornyezetekkel. Sajnos az elnevez´ esek nem egy´ ertelm˝ uek, mert gyakran ,,application virtualization” n´ even eml´ıtik mindk´ et f´ ele megold´ ast. Ennek oka r´ eszben abban keresend˝ o, hogy sz´ amos futtat´ ok¨ ornyezet mell´ ekesen ny´ ujt t´ amogat´ ast alkalmaz´ as izol´ aci´ ora illetve telep´ıt´ es n´ elk¨ uli o ¨nhord´ o csomagb´ ol ind´ıthat´ o alkalmaz´ asokra is (pl. Java WebStart). 3 A teljes´ ıtm´ eny is egy jellegzetesen nemfunkcion´ alis k¨ ovetelm´ eny, itt most a teljes´ıtm´ enyn´ el fontosabbnak ´ıt´ elt nemfunkcion´ alis k¨ ovetelm´ enyekr˝ ol van sz´ o, pl. biztons´ agr´ ol
2
P´eld´ aul k¨ ul¨onb¨ oz˝o oper´ aci´ os rendszeren fut´o szolg´ altat´ asokat nem telep´ıthet¨ unk egyazon g´epre. Ez nemcsak szerverek, hanem asztali g´epek, munka´ allom´asok eset´en is gyakori probl´ema, p´eld´ aul t¨ obbplatformos szoftverfejleszt´esn´el. Biztons´ agi szempontb´ol kritikus alkalmaz´ast sem c´elszer˝ u telep´ıteni olyan g´epre, ami az Internet ir´ any´aba nyitott szolg´ altat´ ast ny´ ujt. Sz´amos nagyv´allalati szoftver olyan k¨ovetelm´enyeket t´ amaszt az oper´aci´ os rendszer k¨ornyezet´ere, ami megakad´alyozza, hogy m´as szoftverekkel egy¨ utt fusson egy g´epen. Olyan oper´aci´ os rendszerek menedzsmentje eleve neh´ezkess´e v´alik, amin t´ uls´ agosan sok heterog´en szolg´ altat´ as fut egyszerre. Ezen k¨ovetelm´enyek miatt gyakran kell k¨ ul¨on g´epre telep´ıteni olyan alkalmaz´asokat, amik nem haszn´alj´ak ki, vagy csak az id˝o kis r´esz´eben haszn´alj´ ak ki a hardver kapacit´ as´at. A virtualiz´aci´ o lehet˝ ov´e teszi, hogy szepar´alt k¨ornyezeteket alak´ıtsunk ki, ´ıgy egy g´epre ¨osszevonhassunk olyan szolg´ altat´ asokat, amiket a fent felsorolt vagy ehhez hasonl´ o okok miatt dedik´alt g´epre kellene telep´ıteni. Ezzel a hardver kihaszn´ alts´aga jav´ıthat´o, ez´altal a szolg´ altat´ as ki´ep´ıt´esi ´es u ¨ zemeltet´esi k¨olts´ege (jellemz˝o m´er˝osz´ am a Total Cost of Ownership, TCO) jelent˝ osen cs¨okkenthet˝ o. A rendelkez´esre ´ all´as jav´ıthat´o, hiszen egy meghib´asod´ as a virtu´alis g´epen bel¨ ulre elszigetel˝odik, a fizikai g´epen fut´o egy´eb szolg´ altat´ asokat nem ´erinti. Hasonl´ok´eppen a biztons´agi kock´azat is cs¨ okken, mert egy esetleges illet´ektelen hozz´ af´er´es is virtu´alis g´epen bel¨ ulre korl´atoz´odik. Nagy sz´ am´ u g´ep karbantart´asa ´es a v´altoz´ o ig´enyek eset´en u ´ j szerverek u ¨ zembe´ all´ıt´asa, ideiglenes tesztk¨ ornyezetek kialak´ıt´ asa gyakori feladatok nagyv´allalati, de sok esetben kis´es k¨oz´epv´allalkoz´asok informatikai rendszereiben is. A virtualiz´aci´ o lehet˝ov´e tesz dinamikus er˝oforr´as allok´aci´ ot, ami u ´ j g´epek u ¨ zembe´ all´ıt´ as´at k¨onny´ıti meg. Tov´abbi fontos szempont a t´ avmenedzsment. L´eteznek megold´asok sz´am´ıt´og´epekhez val´o t´ avoli hozz´ af´er´esre, ´am ezek sok´aig csak dr´aga fels˝o kateg´ori´as szerverg´epekben voltak megtal´alhat´oak. Ezen megold´asok j´o r´esze is korl´atozott, vannak olyan feladatok, amik nem v´egezhet˝ ok el fizikai hozz´ af´er´es n´elk¨ ul (konfigur´aci´ o megv´ altoztat´ asa). A virtualiz´aci´ o, l´ev´en, hogy szoftveresen hozza l´etre a virtu´alis k¨ornyezetet, lehet˝os´eget biztos´ıt arra, hogy a virtu´alis g´epeken olyan m˝ uveleteket is elv´egezz¨ unk t´ avolr´ol, amiket fizikai g´epen csak fizikai hozz´ af´er´essel tehet¨ unk meg. Fontos megjegyezni, hogy a virtualiz´aci´ o minden esetben teljes´ıtm´enyvesztes´eggel (overhead ) j´ar, ez bizonyos esetekben eleny´esz˝ o (n´eh´any %), ´am vannak olyan sz´els˝os´eges esetek is, ahol csak 10% a virtualiz´alt rendszer teljes´ıtm´enye a k¨ozvetlen hardveren futtat´ashoz k´epest.
3.
Platform virtualiz´ aci´ os megk¨ ozel´ıt´ esek
Teljes sz´am´ıt´ og´ep virtualiz´al´ as´ ara k´et megk¨ ozel´ıt´es terjedt el.
2. ´abra. Az u ´ n. hosted vagy 2. t´ıpus´ u virtualiz´aci´ o eset´en a hardverre k¨ozvetlen¨ ul telep´ıtve van egy oper´aci´ os rendszer (a tov´abbiakban host oper´aci´ os rendszer) ´es efelett fut egy virtualiz´ aci´ os szoftver ami futtatja a virtu´alis g´epeket (a tov´abbiakban vend´eg, guest g´epek) ´es a virtu´alis hard3
ver k¨ornyezetet biztos´ıtja. Ilyenek p´eld´ aul a VMware Workstation, Player ´es Server term´ekei illetve a VirtualBox ´es a Microsoft Virtual PC. Ennek el˝onye, hogy viszonylag k¨onnyen telep´ıthet˝o megl´ev˝ o rendszerekre. A hardver el´er´es´ehez a host oper´aci´ os rendszer meghajt´ oprogramjait (driver ) veszi ig´enybe, mint b´ armely m´as alkalmaz´as. Sz´amos oper´aci´ os rendszer szint˝ u er˝oforr´as biztos´ıthat´ o a virtu´alis hardver sz´ am´ ara, ´ıgy egyszer˝ uen megoldott a virtu´alis g´epek kezel´ese, mert a host oper´ aci´ os rendszeren ablakban megjelen´ıthet˝o a k´eperny˝ok´ep, hozz´ af´erhet a host g´ep f´ajlrendszer´ehez stb. L´etezik olyan megold´as is (Paralells Workstation, VMware Unity) amely a guest g´epen fut´o alkalmaz´asok ablakait a host g´ep grafikus fel¨ ulet´en nat´ıv ablakokba helyezi (seamless windowing), ´ıgy a felhaszn´al´ o el˝ ol elrejti, hogy val´oj´ aban az alkalmaz´as virtualiz´alt k¨ornyezetben fut. Ezen k´enyelmi szolg´ altat´ asok miatt miatt f˝oleg asztali alkalmaz´asok vagy munka´ allom´asok eset´en alkalmazz´ ak az oper´ aci´ os rendszer feletti virtualiz´aci´ os megold´ast. H´ atr´ anya viszont, hogy a virtualiz´alt k¨ornyezetet a host oper´ aci´ os rendszer felett ´ep´ıti fel, ´ıgy nagyobb az overhead. Nem sk´ al´az´odik j´ ol, ha sok virtu´alis g´ep fut egyazon hoston. A m´asik megold´as a u ´ n. bare-metal vagy 1. t´ıpus´ u virtualiz´aci´ o, melyben egy hypervisor komponens telep¨ ul k¨ozvetlen¨ ul a hardverre. A hypervisor l´enyeg´eben egy speci´ alis oper´aci´ os rendszer kernel, ami virtu´alis hardverk¨ornyezetet biztos´ıt. Minden virtu´alis g´ep efelett fut, m´eg a hypervisor menedzsel´es´ehez haszn´alt oper´ aci´ os rendszer is val´oj´ aban egy virtu´alis g´ep. A hypervisor is rendelkezhet saj´ at meghajt´ oprogramokkal, de l´etezik olyan megold´as is, amikor a guest oper´aci´ os rend´ szer k¨ozvetlen hozz´ af´er´est kap valamely perif´eri´ahoz. Altal´ aban a menedzsment oper´aci´ os rendszer speci´ alis abb´ol a szempontb´ol, hogy sz´ amos hardverhez nem virtualiz´alt, k¨ozvetlen hozz´ af´er´ese van. Hypervisor architekt´ ur´at haszn´al pl. a Xen, a VMware ESX Server ´es microsoft Hyper-V, valamint Power platformon az LPAR.
3.1.
Emul´ aci´ o, nat´ıv- ´ es paravirtualiz´ aci´ os megold´ asok
Ahhoz, hogy a guest oper´ aci´ os rendszert ne befoly´ asolja, hogy val´odi hardver helyett virtualiz´alt k¨ornyezetben fut, a futtat´orendszernek a speci´ alis (privil´egiz´ alt, csak oper´aci´ os rendszer kernel ´altal haszn´alhat´ o) utas´ıt´ asokat el kell fognia (trap) ´es ki kell cser´elnie saj´at rendszerh´ıv´ asaira. Az x86os architekt´ ura j´ on´eh´any olyan privil´egiz´alt utas´ıt´assal rendelkezik, amire nem lehet hardveres elfog´ast be´ all´ıtani. Hasonl´o a probl´ema a mem´oriakezel´essel, hiszen az oper´aci´ os rendszerek a virtu´alis mem´ oria lapok (page) hat´ekony kezel´esekor hardveres megold´asra t´ amaszkodnak (MMU), a virtu´alis g´epek sz´ am´ ara azonban egy indirekci´os r´eteget kell beiktatni. Ennek a probl´em´ anak a megold´as´ ara h´ arom f˝ o megold´asi ir´ any l´etezik: Emul´ aci´ o - egy futtat´o szoftver vizsg´alja ´es ´atalak´ıtja a guest oper´aci´ os rendszer ´altal v´egrehajtott utas´ıt´ asokat. Saj´at maga tart karban egy legfels˝o szint˝ u page t´ abl´ at a mem´ oriael´er´esek kezel´es´ere. Ez a leglassabb, de legflexibilisebb megold´as, mert ez lehet˝ov´e teszi, hogy a fizikai processzor´et´ol elt´er˝o utas´ıt´ask´eszletet haszn´aljon a virtu´alis g´ep. Ilyen megold´as a QEMU, ´es a Java illetve .NET Runtime k¨ornyezetek. Az emul´aci´ o megval´os´ıthat´o fut´as k¨ozben interpret´ alt m´odon vagy dinamikus u ´ jraford´ıt´assal (´ un. just-in-time, JIT ford´ıt´ as). A JIT ford´ıt´ ok ´ altal´ aban az interpret´aci´ on´al l´enyegesen jobb fut´asi teljes´ıtm´enyt biztos´ıtanak. Platform virtualiz´aci´ on´al a nagy overhead miatt k´ıv´ anatos elker¨ ulni a tiszta emul´aci´ o alkalmaz´as´ at. Szoftveres virtualiz´ aci´ onak nevezz¨ uk az emul´aci´ onak azon speci´ alis form´aj´ at, amikor azonos a fizikai ´es a virtualiz´alt platform, ´es csak bizonyos utas´ıt´asokat kell u ´ jraford´ıtani, m´as utas´ıt´ asok v´altoztat´ as n´elk¨ ul v´egrehajthat´ oak. Ez a megold´as a tiszta emul´aci´ on´al l´enyegesen jobb teljes´ıtm´enyt ny´ ujthat. Paravirtualiz´ aci´ o - a guest oper´aci´ os rendszert m´odos´ıtjuk, hogy ne hajtson v´egre olyan utas´ıt´ asokat, amik probl´em´ at okozhatnak, helyett¨ uk haszn´aljon egy-egy speci´ alis rendszerh´ıv´ ast. Hasonl´ok´eppen a mem´oria lap t´ abl´ ak kezel´es´ere is speci´ alis rendszerh´ıv´ asokat haszn´al, a k¨ozvetlen MMU el´er´es helyett. A guest oper´aci´ os rendszer CPU u ¨ temez´ese is kooper´ alhat a virtualiz´aci´ os keretrendszer u ¨ temez˝oj´evel. Jelenleg ez a leggyorsabb megold´ as, ´ am sok esetben nem haszn´alhat´o, mert a guest oper´aci´ os rendszerben nem lehet m´odos´ıt´ asokat v´egezni. A ny´ılt forr´as´ u (mindenekel˝ott a Linux alap´ u) rendszerekben ez
4
megoldott, a leg´ ujabb kernel kiad´asok forr´ask´odj´aban m´ar eleve benne vannak a paravirtualiz´ aci´ ot t´ amogat´o r´eszek. Windows eset´en ´altal´ aban nem lehet tiszt´ an paravirtualiz´aci´ ot megval´ os´ıtani, mert a kernel nem m´odos´ıthat´o, ilyenkor az emul´aci´ onak ´es a paravirtualiz´aci´ onak kombin´ aci´ oj´ at alkalmazz´ak, ami szint´en viszonylag j´o teljes´ıtm´enyt biztos´ıthat. Nat´ıv virtualiz´ aci´ o - a CPU utas´ıt´ask´eszlet´enek ´es u ¨ zemm´odjainak olyan kieg´esz´ıt´ese, ami lehet˝ ov´e teszi a guest oper´ aci´ os rendszer k´odj´anak m´odos´ıt´as n´elk¨ uli futtat´as´at. Az Intel ´es az AMD leg´ ujabb processzorai tartalmaznak ilyen kieg´esz´ıt´eseket (Intel VT, AMD-V), ´am r´egebbi processzorokkal szerelt g´epek eset´en ez a megold´as nem alkalmazhat´o. Teljes´ıtm´enye jelenleg elmarad a paravirtualiz´aci´ ohoz, illetve a paravirtualiz´aci´ oval kombin´alt emul´aci´ ohoz k´epest, ´ am az elmarad´ as az egyes processzorgener´ aci´ okkal folyamatosan cs¨okken. Nem minden virtualiz´aci´ os k¨ornyezet k´epes kihaszn´ alni ezt a lehet˝os´eget.
A VMware term´ekei a m´ar eml´ıtett szoftveres virtualiz´aci´ ora alapulnak, ami kieg´esz¨ ulhet paravirtualiz´aci´ oval, ´es speci´ alis esetekben (64 bites guestek futtat´asa) hardveres virtualiz´aci´ ot is ig´enybe vesz. M´ as szoftverek (pl. Xen Server) tiszt´ an paravirtualiz´aci´ ot haszn´alnak, ha a guest oper´aci´ os rendszer ezt lehet˝ ov´e teszi, egy´ebk´ent hardveres virtualiz´aci´ ora hagyatkoznak. Ha processzorb´ol hi´anyzik az ehhez sz¨ uks´eges kieg´esz´ıt´es, teljes emul´aci´ ora l´epnek vissza.
Perif´ eri´ ak virtualiz´ al´ asa *+' "!"!$
%#
# #
) #
) #
*+' "!"!$
(
) # #
) # #
%#
# #
) #
) #
(
) # #
) # #
+ " %&
'
-&" &""
( (
(
, ! "
3.2.
!"#$
3. ´abra. A guest oper´ aci´ os rendszerek sz´ am´ ara biztos´ıtott hardver a processzoron ´es az allok´alt mem´ori´an k´ıv¨ ul tartalmaz virtu´alis merevlemezt ´es h´ al´ozati interf´eszt, grafikus megjelen´ıt˝ot, opcion´alisan egy´eb perif´eri´at is. Ez leggyakrabban soros, p´ arhuzamos vagy USB port, n´eh´any rendszer eset´en hangk´ artya vagy ak´ ar grafikus gyors´ıt´o is lehet. A virtu´alis hardver t¨ obbf´elek´eppen lehet megval´ os´ıtva. A f˝ obb lehet˝ os´egek hasonl´ oak az alapvet˝o virtualiz´aci´ os megold´asokn´ al t´ argyaltakhoz: 5
Emul´ alt perif´ eria - valamilyen l´etez˝o hardver programoz´ oi fel¨ ulet´et (regiszterk´eszlet´et, interrupt ´es DMA viselked´es´et) egy szoftveres implement´ aci´ o val´os´ıtja meg, a val´odi hardvert a lehet˝ o legpontosabban ut´anozva. A guest kernel driverei pontosan u ´ gy m˝ uk¨odnek, mintha val´ odi hardvert kezeln´enek, mik¨ ozben val´oj´ aban a hardvert emul´al´o szoftverrel kommunik´alnak. Gyakorlatban ez a legkev´esb´e probl´em´ as megold´as, mert ha a virtualiz´aci´ os keretrendszer egy kell˝oen elterjedt hardvert emul´al, akkor a guest oper´aci´ os rendszer azt kezelni fogja meghajt´ o telep´ıt´ese n´elk¨ ul is. Ez f˝oleg a guest oper´aci´ os rendszer telep´ıt´ese sor´an fontos, amikor m´eg nincs lehet˝os´eg saj´at drivereket bet¨olteni. Ennek a megold´asnak meglehet˝osen nagy az overheadje, viszont az emul´alt hardver elt´er˝o lehet a fizikait´ ol, ak´ ar oper´ aci´ os rendszer szint˝ u er˝ oforr´as is k¨onnyen haszn´alhat´o virtu´alis hardverk´ent. Paravirtualiz´ alt perif´ eri´ ak - leegyszer˝ us´ıtett programoz´ oi interf´esz haszn´alata a hardver emul´atorban, az egyes I/O m˝ uveletek helyettes´ıt´ese rendszerh´ıv´ asokkal. ´Igy gyakorlatilag a regiszterek, direkt mem´ oria-hozz´af´er´es ´es megszak´ıt´asok emul´aci´ oja elhagyhat´o, az interf´eszen kereszt¨ ul a magas szint˝ u m˝ uveletek l´enyeg´eben f¨ uggv´enyh´ıv´ as-szer˝ uen zajlanak le. Ez a megold´as nagyon gyors, h´ atr´ anya azonban, hogy saj´at meghajt´ oprogramok telep´ıt´es´et ig´enyli, hiszen val´ os´ agban nem l´etezik olyan hardver, amelyiknek a programoz´ oi fel¨ ulete hasonl´ıtana a paravirtualiz´alt hardverek´ehez. Enn´el a megold´asn´ al van a legt¨obbf´ele lehet˝ os´eg oper´ aci´ os rendszer szint˝ u er˝oforr´asok virtu´alis hardverk´ent val´o kiaj´anl´ as´ara (pl. f´ajlrendszer is kiaj´ anlhat´ o, nemcsak blokkos eszk¨ oz). K¨ ozvetlen hardver el´ er´ es - egyes hardver elemek dedik´ altan hozz´ arendelhet˝oek egyegy virtu´alis g´ephez, aminek az oper´aci´ os rendszere k¨ozvetlen¨ ul vez´erli a hardvert. Ez egy rendk´ıv¨ ul gyors ´es hat´ekony m´odja a virtu´alis perif´eri´ak megval´os´ıt´as´anak, ´am sok szempontb´ol kompromisszumot jelent. Jelenleg ez legink´abb azt jelenti, hogy egy hardvert legfeljebb egy virtu´alis g´ep vez´erelhet egyidej˝ uleg, a hozz´ arendel´es statikus. Csak a t´enyleges fizikai hardverfajta virtualiz´alhat´o, a guestnek ezt kell t´ amogatnia. A szepar´ aci´ ot is al´ aakn´azhatja ez a megold´as, mert sok olyan hardverfajta van, ami felprogramozhat´o, hogy tetsz˝ oleges fizikai c´ımen v´egezzen DMA m˝ uveleteket. DMA seg´ıts´eg´evel (ak´ar nem sz´ and´ekosan, meghib´asod´ asb´ ol kifoly´ olag is) hozz´ af´erhet egy virtu´alis g´ep olyan mem´ oriater¨ ulethez, ami m´as virtu´alis g´ephez, a hosthoz vagy esetleg a hypervisorhoz tartozik. Ezt a megold´ast h´ atr´ anyai miatt ´altal´ aban ker¨ ulni szokt´ak, csak speci´ alis esetekben alkalmazz´ ak, k¨ ul¨on¨osen akkor, ha olyan hardvert kell el´erhet˝ov´e tenni, amihez a virtualiz´aci´ os keretrendszernek nincs drivere (pl. 3D grafikus gyors´ıt´ok). A k¨ozelj¨ov˝ oben v´arhat´o IOMMU-val szerelt alaplapi chipsetek ´es t¨ obbsz¨or¨os konkurens hozz´ af´er´esre felk´esz´ıtett perif´eri´ak megjelen´ese, mely kik¨ usz¨ ob¨oli sz´amos h´ atr´ any´at ennek a megold´asnak.
6
4.
A VMware ESX Server bemutat´ asa
A VMware c´eg nagyv´allalati szerver virtualiz´aci´ os megold´as´at forgalmazza a Virtual Infrastructure n´even. Ennek alap komponense az ESX Server, mely egy hypervisor alap´ u virtu´alis g´ep menedzsel˝ o ´es futtat´ok¨ ornyezet. Ez azt jelenti, hogy k¨ozvetlen¨ ul a hardverre kell telep´ıteni, mag´aban tartalmazza a hypervisort ´es a menedzsment oper´aci´ os rendszert, ami egy m´odos´ıtott RedHat Enterprise Linux 3. A k¨ozelm´ ultban megjelent egy ehhez hasonl´ o, ´am egyszer˝ us´ıtett fel´ep´ıt´es˝ u (´es ez´altal kisebb er˝ oforr´ asig´eny˝ u) v´altozat az ESXi Server. Ennek jelenleg egy ingyenes v´altozata is el´erhet˝o. Eredetileg be´ agyazott (teh´ at a szerver g´epbe be´ep´ıtett, flashben t´ arolt) firmware c´elokra fejlesztett´ek ki, ´ am v´arhat´ oan id˝ovel teljesen le fogja v´altani az eredeti ESX Servert. A hardver t´ amogatotts´ag m´ar most is sz´elesebb k¨or˝ u az ESXi eset´en, mint az eredeti ESX-n´el. Az ESXi architekt´ ur´aj´ at most r´eszletesen nem ismertetj¨ uk, a m´er´es sor´an a r´egebbi architekt´ ur´aj´ u ESX Servert fogjuk haszn´alni.
4.1.
Az ESX Server szolg´ altat´ asai
Az ESX Server c´elja, hogy kev´es ki´ep´ıt´esi ´es karbantart´asi r´aford´ıt´assal biztos´ıtson nagyv´allalati ig´enyeket is kiel´eg´ıteni k´epes szerver virtualiz´aci´ os k¨ornyezetet, az ehhez sz¨ uks´eges ¨osszes kieg´esz´ıt˝o szolg´ altat´ assal (pl. t´ avoli el´er´es, er˝ oforr´asok dinamikus kioszt´ asa ´es ´atkonfigur´al´asa, hozz´ af´er´esi jogosults´agok kezel´ese stb.). Fontos megjegyezni, hogy a VMware a teljes term´eksk´al´aj´ an kompatibilis virtu´alis g´ep form´atumot haszn´al. Ez azt jelenti, hogy (n´eh´any megk¨ ot´essel) a Workstationnel k´esz´ıtett virtu´alis g´epek futtathat´oak pl. Playerrel ´es ESX Serverrel is, ´es ford´ıtva.
4.2.
Az ESX fel´ ep´ıt´ ese
Az ESX Server architekt´ ur´aja teh´ at a k¨ovetkez˝okb˝ ol a´ll: VMkernel - ez a hypervisort ´es a virtualiz´ alt hardverek meghajt´ oprogramjait tartalmaz´ o alap oper´ aci´ os rendszermag. Service Console - ez a menedzsment fel¨ uletet biztos´ıt´o Linux alap´ u virtu´alis g´ep.
A Service Console alapb´ol biztos´ıt egy sz¨oveges m´od´ u fel¨ uletet a host g´ep konzolj´an. Ez a sz¨oveges fel¨ ulet el´erhet˝ o SSH protokollon kereszt¨ ul is. Ezen k´ıv¨ ul van egy webes kezel˝ofel¨ ulete, amivel meg lehet tekinteni a konfigur´ aci´ ot ´es n´eh´any alapm˝ uveletet el lehet v´egezni a virtu´alis g´epeken. A Service Console webszolg´ altat´ asokon (Web Services) kereszt¨ ul biztos´ıt k´ıv¨ ulr˝ ol el´erhet˝o programoz´oi fel¨ uletet, tov´abb´a t´ amogatja a WBEM (Web Based Enterprise Management), ezen bel¨ ul a CIM-XML (Common Information Model over XML), illetve SNMP (Simple Network Management Protocol) szabv´anyokat is. A Virtual Infrastructure Client egy Windows-on (teh´ at k¨ ul¨on g´epen) fut´o vastagkliens alkalmaz´as, mellyel a Service Console-hoz kapcsol´odhatunk a webszolg´altat´ asos fel¨ uleten. Ennek seg´ıts´eg´evel konfigur´ alhatjuk a host rendszert illetve kezelhetj¨ uk a virtu´alis g´epeket. Ez kieg´esz¨ ulhet m´eg a Virtual Center Serverrel, ami egy Windows Serveren fut´o komponens, ami sz´ amos ESX Servert futtat´o host kezel´es´et k´epes k¨ozpontos´ıtottan megoldani ´es sz´amos fejlettebb menedzsment k´epess´eggel terjeszti ki azokat.
4.3.
F˝ obb alrendszerek
Virtu´ alis t´ ar - a virtu´alis g´epeket le´ır´ o konfigur´aci´ os f´ajlok (.vmx, .vmxf) a virtu´alis g´ep ´allapot´at t´ arol´o f´ajlok (.nvram, .vswp) ´es a virtu´alis g´ep merevlemezeinek tartalm´at t´ arol´o f´ajlok (.vmdk) t´ arol´as´ara szolg´ al. Az ESX Server egy speci´ alis f´ajlrendszert (VMFS3 ) haszn´al erre a c´elra, melyet kifejezetten nagy f´ ajlok t´ arol´ as´ ara optimaliz´ altak. Val´oj´ aban alacsony szinten a logikai k¨otetkezel˝ okh¨ oz hasonl´ o elven m˝ uk¨ odik, ´ am egy szab´alyos f´ ajlrendszer fel¨ uletet biztos´ıt, ami a kezel´es´et egyszer˝ us´ıti. Fontos tulajdons´ aga, hogy f¨ urt¨ oz¨ott (clustered) el´er´est biztos´ıt, teh´at egy h´ al´ozati t´ arrendszeren (SAN) elhelyezve egyszerre t¨ obb k¨ ul¨on´ all´o ESX Server is haszn´alhat egy k¨oz¨os t´ arat.
7
H´ al´ozati t´ arol´ ast a VMkernel biztos´ıt, ami egy teljesen f¨ uggetlen h´ al´ozati stack ´es h´ al´ozati t´ ar el´er´esi protokoll implement´ aci´ oval rendelkezik. Virtu´ alis h´ al´ ozat - a virtu´alis g´epek h´ al´ozati kapcsolat´at virtu´alis switch-ek (gyakorlatilag szoftveres Ethernet hidak) biztos´ıtj´ ak. A virtu´alis switch-ek egy k¨ozbens˝ o r´eteget jelentenek a fizikai interf´eszek ´es virtu´alis g´epek h´ al´ ozati interf´eszei k¨oz¨ott, haszn´alatukkal flexibilis hozz´ arendel´est lehet kialak´ıtani. A Service Console ´es a VMkernel h´ al´ozati hozz´ af´er´es´et is virtu´alis switch-eken konfigur´alhatjuk, ezeknek is k¨ ul¨on MAC c´ım¨ uk ´es IP c´ım¨ uk van, pontosan u ´ gy, mintha fizikai h´ al´ozati interf´esszel rendelkezn´enek. Ez´altal megoldhat´o a fizikai h´ al´ozati interf´eszen pl a h´ al´ozat t´ arrendszer forgalm´ anak multiplexel´ese a virtu´alis g´epek forgalm´ aval. Lehets´eges z´ art (hoston bel¨ uli, fizikai interf´esz n´elk¨ uli) virtu´alis h´ al´ozatokat is defini´alni, ami csak egy host g´epen fut´o guest g´epek k¨oz¨ott m˝ uk¨ odik. CPU u ¨ temez˝ o - a host CPU idej´et osztja sz´et a guest g´epek, a Service Console ´es a VMkernel bels˝o szolg´ altat´ asai k¨oz¨ott. Lehets´eges priorit´ asokat ´es minim´alisan garant´ alt illetve maxim´ alis kioszthat´ o CPU id˝ot defini´alni. Az u ¨ temez˝o felismeri a processzorok topol´ogi´ aj´ at, a t¨ obbmagos processzorokat, a Hyperthreading technol´ ogi´ at. Figyelembe veszi az u ¨ temez´eskor, hogy mely logikai processzorok f¨ uggetlenek egym´ ast´ ol, mennyi a k¨olts´eggel j´ar egy virtu´alis g´epet ami id´aig egy processzoron futott ´ at¨ utemezni egy m´asik processzorra, ami k¨ ul¨on¨osen nagym´eret˝ u, nem egys´eges mem´ oriael´er´est haszn´al´o rendszerekn´el (NUMA, Non Uniform Memory Access) sz´am´ıt teljes´ıtm´enyben sokat. A CPU virtualiz´al´o rendszer m˝ uk¨odhet emul´aci´ os ´es paravirtualiz´alt u ¨ zemm´odban. Tiszt´ an emul´aci´ os m´od t¨ obbnyire csak a guest oper´aci´ os rendszer telep´ıt´es´enek idej´en akt´ıv, ha lehets´eges paravirtualiz´aci´ os vagy szoftveres emul´aci´ oval kombin´alt virtualiz´aci´ os u ¨ zemm´odba l´ep ´ at. Mem´ oriakezel˝ o - a CPU u ¨ temez˝oh¨oz hasonl´ oan ez is kezel minim´alis ´es maxim´ alis foglal´asi be´ all´ıt´ asokat, valamint priorit´ asokat. Dinamikus mem´oriakioszt´ ast haszn´al, ami virtualiz´aci´ o eset´en k¨ ul¨on¨osen neh´ez feladat, mert a virtu´alis g´epeknek adott mem´oriam´eret¨ uk van, amir˝ ol felt´etelezik, hogy sz´ amunkra rendelkez´esre ´all. A VMkernel mem´oriakezel˝oje figyeli az egyes virtu´alis g´epek aktivit´ as´ at ´es mem´orialap-haszn´alat´at, ennek megfelel˝oen k´epes k´esleltetni a mem´oria t´enyleges allok´al´ as´ at egy virtu´alis g´epnek. Ilyen m´odon lehets´eges ak´ ar t´ ulfoglalni (overbooking) is a host g´epet, b´ ar ez er˝osen ellenjavallt. Ha a host mem´ori´aja nem el´eg, akkor k´epes lapoz´of´ ajlba (swap) ´ırni a virtu´alis g´epek mem´oriatartalm´at. Kifejezetten k´aros lehet, ha a virtu´alis g´ep oper´ aci´ os rendszere lapoz (bels˝o swap), mik¨ ozben a virtualiz´aci´ os keretrendszer is lapozza mem´ ori´aj´ at (k¨ uls˝ o swap), mert a guest oper´aci´ os rendszer nem tudja, hogy az ˝o ´altala gyors mem´ ori´anak gondolt c´ımtartom´any egy r´esze is diszken van, ´ıgy el˝ofordulhat, hogy a k´et swap ter¨ ulet k¨oz¨ott ide-oda m´asolgatj´ ak a mem´orialapokat ami verg˝ od´est (trashing) azaz a diszk alrendszer nagy terhel´ese mellett rendk´ıv¨ ul alacsony teljes´ıtm´enyt okoz. Ennek elker¨ ul´es´ere l´etezik paravirtualiz´aci´ ora alapul´ o kooper´ aci´ os technika a vmkernel ´es a guest oper´aci´ os rendszer k¨oz¨ott (memory balooning). Ezen t´ ul m´eg van sz´ amos, nem kev´esb´e jelent˝ os alrendszer is, pl a guest g´epek grafikus fel¨ ulet´ehez val´ o t´ avoli hozz´ af´er´est biztos´ıt´o virtu´alis framebuffer, ami itt nem ker¨ ul r´eszletes t´ argyal´asra.
4.4.
A virtu´ alis hardver fel´ ep´ıt´ ese
A virtu´alis g´epek sz´ am´ ara biztos´ıtott hardverk¨ornyezet tartalmaz: CPU - 1, 2 vagy 4 db lehet (de nem t¨ obb, mint a host g´epben l´ev˝ o processzorok sz´ama), t´ıpusa azonos a host CPU-´eval, ´am opcion´alisan letilthat´oak speci´ alis kieg´esz´ıt´esek (SSE, 64bit, Nx bit, stb). Ez ut´obbira akkor van sz¨ uks´eg, ha m˝ uk¨od˝o (vagy suspendelt) virtu´alis g´epet mozgatni akarunk elt´er˝o CPU-val szerelt hostok k¨oz¨ott. Az ilyen letilt´as teljes´ıtm´enyveszt´essel j´ arhat ´es m´eg a virtu´alis g´ep elind´ıt´as el˝ott kell be´ all´ıtani. Mem´ oria - maximum 64 GB mem´oria oszthat´o ki, ak´ ar 32 bites guesteknek is, emul´alt PAE (Paging Address Extension) kiterjeszt´essel. A mem´oriam´eret is csak le´all´ıtott virtu´alis g´epen m´odos´ıthat´ o.
8
Chipset - Intel 440BX chipsetet emul´ al. Csak interrupt ´es perif´eria er˝oforr´as konfigur´aci´ os szerepe van. BIOS, NVRAM - Egy saj´ at BIOS-t biztos´ıt. A BIOS be´ all´ıt´asokat t´ arol´o nem felejt˝o mem´ oria tartalm´at k¨ ul¨on f´ ajlban (.nvram) t´ arolja. Grafikus vez´ erl˝ o - Alap VGA, VESA u ¨ zemm´odokat emul´al, nagyon lass´ u. L´etezik paravirtualiz´alt u ¨ zemm´odja is, mely j´ol haszn´alhat´o sebess´eget biztos´ıt. IDE vez´ erl˝ o - ESX Server csak CD/DVD meghajt´ ot emul´al IDE felett, a Workstation merevlemezt is t´ amogat. SCSI vez´ erl˝ o - LSI Logic vagy Buslogic t´ıpus´ u emul´alt hardver, k¨ ul¨on meghajt´ oprogram van hozz´ a, amit telep´ıt´esn´el pl. Windows XP-nek meg kell adni. Floppy vez´ erl˝ o - floppy lemez image-et tartalmaz´ o f´ajlb´ ol szolg´ altat tartalmat vagy a host fizikai meghajt´ oj´ at kapcsolja hozz´ a a virtu´alis g´ephez. Lehet˝os´eg van a Virtual Infrastructure klienst futtat´o g´ep meghajt´ oj´ at is csatlakoztatni h´ al´ozaton kereszt¨ ul. CD/DVD - CD vagy DVD image-et (.iso) tartalmaz´ o f´ajlb´ ol szolg´ altat tartalmat vagy a host fizikai meghajt´ oj´ at kapcsolja hozz´ a a virtu´alis g´ephez. Lehet˝os´eg van a Virtual Infrastructure klienst futtat´o g´ep meghajt´ oj´ at is csatlakoztatni h´ al´ozaton kereszt¨ ul. Merevlemez - ESX alatt csak a SCSI vez´erl˝ ore csatolhat´o. Tetsz˝oleges m´eret˝ u f´ajl (.vmdk) hozhat´ o l´etre az adatok t´ arol´ as´ ara. Fontos, hogy az ESX mindig a teljes diszket allok´alja (flat form´atum), m´ıg a Workstation t´ amogat olyan form´atumot is, ahol dinamikus a helyfoglal´ as (sparse form´atum). H´ al´ ozati interf´ esz - Lehet˝os´eg van AMD PCNet32 vagy Intel E1000 (Intel PRO/1000 term´ekcsal´ ad) k´arty´ak emul´al´ as´ara vagy VMXNet meghajt´ oval paravirtualiz´alt Ethernet interf´esz kialak´ıt´ as´ ara. Az ´eppen haszn´alt t´ıpust t¨ obbnyire automatikusan v´alasztja ki (,,flexible”), azonban ez manu´ alisan fel¨ ulb´ır´ alhat´o. Soros port - a host g´ep soros portj´ ara, egy f´ajl tartalma vagy h´ al´ozaton kereszt¨ ul a klienst futtat´o g´ep portj´ ara kapcsolhat´ o. P´ arhuzamos port - a host g´ep p´ arhuzamos portj´ ara, egy f´ajl tartalma vagy h´ al´ozaton kereszt¨ ul a klienst futtat´o g´ep portj´ ara kapcsolhat´o Egyebek - Csak Workstation alatt t´ amogatott: Audio vez´ erl˝ o, USB port, Megosztott k¨ onyvt´ ar (f´ ajlrendszer megoszt´ as kiaj´anl´ asa)
Mint m´ar eml´ıtett¨ uk, a j´ o teljes´ıtm´eny el´er´ese ´erdek´eben a paravirtualiz´aci´ o haszn´alata a k´ıv´ anatos. Erre van a VMware Tools csomag, ami paravirtualiz´alt meghajt´ oprogramokat tartalmaz a guest oper´ aci´ os rendszer r´esz´ere. Legink´abb a grafikus vez´erl˝o sebess´eg´en ´es az eg´er transzparens kezel´es´en (sim´ abb mozg´ as, ablak sz´el´en be- ´es kil´ep´es) vehet˝ o ´eszre a Tools hat´asa, de ´altal´ aban minden virtu´alis hardverkomponens teljes´ıtm´eny´en jelent˝ osen jav´ıt.
9
5.
ESX Server kezel´ ese a Virtual Infrastructure Clienttel
Az ESX Server 3.5-¨ os verzi´ oj´ ahoz a Virtual Infrastructure Client 2.5-¨os verzi´oj´ aval lehet kapcsol´odni. A VI Client telep´ıt˝ ok´eszlete let¨ olthet˝ o a ESX Server webes fel¨ ulet´er˝ol. Egy frissen telep´ıtett ESX Serverre csak a root felhaszn´al´oval lehet bel´epni, a telep´ıt´es sor´an megadott jelsz´ oval. Bel´ep´es ut´an a 10. ´abr´ an l´athat´o kezel˝ofel¨ ulet fogad. Jobb oldalt egy er˝oforr´as fa tal´ alhat´ o, legfel¨ ul a host g´eppel. Bal oldalon az aktu´alis kiv´ alasztott objektum (Host, er˝oforr´as csoport, virtu´alis g´ep) tulajdons´ agait tekinthetj¨ uk meg, illetve ´all´ıthatunk be k¨ ul¨onb¨ oz˝o f¨ uleken.
5.1.
Alap konfigur´ aci´ o be´ all´ıt´ asa
4. ´abra. A host g´epet kiv´ alasztva a configuration f¨ ul¨on v´egezhetj¨ uk el a be´ all´ıt´asokat (4. ´abra). Fontos megjegyezni, hogy az ESX Server virtu´alis g´ep adatt´arnak csak SCSI merevlemezeket, iSCSI c´elpontokat vagy NFS megoszt´ asokat tud kezelni. Mivel a laborg´epekben nincs SCSI merevlemez, ez´ert a m´er´es sor´an iSCSI c´elpontot kell konfigur´alni. Els˝o l´ep´esk´ent meg kell gy˝ oz˝odni r´ola, hogy a VMkernel ´es Service Console h´ al´ozati interf´eszei fel vannak v´eve a Networking alatt (5. ´abra). Ezut´ an a Security Profile alatt ellen˝ orizni kell, hogy a Service Console t˝ uzfala kiengedi az iSCSI kliens forgalm´ at (6. ´ abra), ha nem, akkor a tulajdons´ agok alatt enged´elyezni kell. A storage adapters alatt az iSCSI Software Adapter tulajdons´ again´al ´all´ıthatjuk be a c´elpontot. Az iSCSIr´ol r´eszletesebb ismertet´es a ,,H´att´ert´ ar rendszerek” m´er´es seg´edlet´eben olvashat´o. General f¨ ul¨on a Configure. . . alatt enged´elyezni kell az iSCSI kezdem´enyez˝ot (7. ´abra). Az enged´elyez´es ut´an visszat´erve a Configure. . . -ra adhatunk iSCSI ´allom´asnevet a g´epnek, ´am az alap´ertelmezett ´ allom´asn´ev megv´ altoztat´ asa u ´ jraind´ıt´ast ig´enyel. ´ c´elpont hozz´ Az iSCSI c´elpont megad´ asa a Dynamic Discovery f¨ ul¨on lehets´eges. Uj aad´asa ut´an
10
5. ´abra.
6. ´abra.
7. ´abra.
11
8. ´abra. egy hosszabb v´arakoz´as k¨ovetkezik. L´epj¨ unk ki a dialog ablakokb´ ol ´es a iSCSI Software Adapter en ind´ıtsunk egy Rescan. . . m˝ uveletet, hagyjuk, hogy mindk´etf´ele felder´ıt´est elv´egezze. A felder´ıt´es folyamat´ at az ablak alj´ an l´ev˝ o esem´enynapl´ oban figyelhetj¨ uk. A felder´ıt´es v´egezt´evel l´atnunk kell a k¨oz¨os iSCSI t´ arat (8. ´ abra).
9. ´abra. Ha c´elponton m´ar l´etre lett hozva VMFS f´ajlrendszer, akkor az meg fog jelenni az adatt´arak list´ aj´ aban a Storage f¨ ul alatt (9. ´ abra). Innent˝ ol kezdve az ESX Server rendelkezik adatt´arral, lehet virtu´alis g´epeket felvenni.
12
5.2.
Virtu´ alis g´ epek l´ etrehoz´ asa
Az ESX Server mindennapi haszn´alata sor´an gyakori m˝ uvelet, hogy u ´ j virtu´alis g´epet hozunk l´etre. Ennek az ESX Server alatt k´etf´ele alapeset´evel tal´ alkozhatunk. Lehets´eges el˝ore elk´esz´ıtett feladatspecifikus virtu´alis g´epeket (´ un. virtual appliance) let¨ olteni ´es telep´ıteni (File/Virtual Appliance/Import. . . ). Tov´abb´a lehet˝ os´eg¨ unk van term´eszetesen saj´at virtu´alis g´epet l´etrehozni, melynek l´ep´essorozata sokban hasonl´ıt a Workstation alatti l´ep´esekhez. L´enyeges elt´er´es, hogy a virtu´alis g´epeket az er˝ oforr´ as f´ aba (inventory) helyezz¨ uk el.
10. ´abra. A virtu´alis g´ep l´etrehoz´as´ at seg´ıt˝ o var´azsl´ot (New Virtual Machine Wizard, 11. ´abra.) a host g´ep ¨osszefoglal´o (Summary) f¨ ul´en (10. ´abra) tal´ alhat´o ikonnal ind´ıthatjuk. A var´ azsl´ o a k¨ovetkez˝o be´ all´ıt´ asokon halad v´egig: 1. Virtu´ alis g´ep neve 2. Adatt´ar helye 3. Oper´ aci´ os rendszer t´ıpusa. Ez a t´ amogatott virtu´alis hardverelemek ´es teljes´ıtm´eny optimaliz´al´ asa miatt fontos. 4. Processzorok sz´ ama 5. Mem´ oriam´eret 6. H´ al´ ozati interf´eszek ´es kapcsol´ od´asaik a virtu´alis switch-ekre 7. Virtu´ alis diszk t´ arhely allok´aci´ o
13
11. ´abra.
5.3.
Virtu´ alis g´ epek haszn´ alata
Egy virtualiz´aci´ os rendszerben a leggyakoribbak a virtu´alis g´epek ´altal´ anos haszn´alat´aval kapcsolatos m˝ uveletek: ind´ıt´ as le´ all´ıt´ as u ´ jraind´ıt´ as felf¨ uggeszt´es (hibern´ al´ as, suspend ) konzolhoz kapcsol´ od´as konfigur´ aci´ o m´odos´ıt´ as ´ allapotment´es (snapshot ) k´esz´ıt´ese
Virtu´ alis g´epek u ¨ zem´allapot´at a virtu´alis g´ep kiv´ alaszt´asakor a fels˝o s´avban megjelen˝o ikonokkal (play - elind´ıt´ as, pause - felf¨ uggeszt´es, stop - le´ all´ıt´as, k¨orbe nyilak - restart) lehet v´altoztatni. (12. ´abra.) A konzolt a Console f¨ ul¨on ´erhetj¨ uk el (13. ´abra.), illetve k¨ ul¨on ablakba is kirakhatjuk a fels˝o s´av utols´ o ikonj´aval. Az ESX Server egyazon virtu´alis g´ephez tetsz˝ olegesen sok egyidej˝ u kapcsolatot kezel. T¨obb egyidej˝ u kapcsolatn´ al figyelmeztet´est kapunk, hogy rajtunk k´ıv¨ ul m´as is kapcsol´odott a virtu´alis g´ep konzolj´ ahoz. A VMware term´ekekn´el megszokott m´odon lehet a billenty˝ uzettel ´es eg´errel ir´ any´ıtani a virtu´alis g´ep konzolj´at. A k´eperny˝ok´epbe kattint´ assal f´okuszt kap a virtu´alis g´ep, innent˝ ol kezdve a billenty˝ uzet ´es az eg´er a virtu´ alis g´epet ir´ any´ıtja. Ctrl-Alt lenyom´ as´aval lehet kil´epni virtu´alis g´epb˝ol. A VMware Tools lehet˝ov´e teszi, hogy az eg´er a virtu´alis k´eperny˝o sz´el´en ki illetve be tudjon l´epni virtu´alis g´epbe. A virtu´alis g´epek Summary f¨ ul´en van lehet˝os´eg¨ unk a virtu´alis hardver be´ all´ıt´asait m´odos´ıtani.(14. ´ abra) A be´ all´ıt´ asok k¨oz¨ ul az elt´ avol´ıthat´o eszk¨ oz¨ok (Floppy, CD/DVD, H´ al´ozat) a g´ep fut´asa k¨ozben ´ at´all´ıthat´ ok, a t¨ obbi be´ all´ıt´as csak le´all´ıtott guest mellett m´odos´ıthat´o. Ebb˝ ol a szempontb´ol a felf¨ uggesztett ´ allapot is a bekapcsolt a´llapothoz hasonl´ıt. Az elt´ avol´ıthat´ o eszk¨ oz¨ok az´ert is ´erdemelnek k¨ ul¨on eml´ıt´est, mert ezeket m´odos´ıtjuk a leggyakrabban, p´eld´ aul, ha CD-akarunk behelyezni guest virtu´alis meghajt´ oj´ aba. Az eszk¨ oz¨ok csatlakoztatott ´ allapot´at a Connected, illetve Connect at power on jel¨ol˝on´egyzeteivel lehet ´all´ıtani. Ha bootolni akarunk CD-r˝ol, akkor felt´etlen¨ ul be kell jel¨ olni a Connect at power on-t, mert a BIOS inicializ´ al´ as gyorsan lefut a virtu´alis g´epben, ennyi id˝o alatt k´ezzel nem lehet csatlakoztatni az 14
12. ´abra.
13. ´abra. eszk¨ ozt. A virtu´alis CD lemez lehet val´odi CD a klienst futtat´o g´ep CD meghajt´ oja (Client Device, az ESX szerver meghajt´ oja Host Device vagy ISO image f´ajl (Datastore ISO ). A leggyakrabban az ut´obbit haszn´aljuk, a telep´ıt˝ ok´eszleteket valamilyen adatt´arra ¨osszegy˝ ujtj¨ uk ´ıgy telep´ıt´eskor csak ki kell v´alasztani a megfelel˝ot. A VMware Tools telep´ıt˝o CD image-ei is ´ıgy ´erhet˝oek el, a vmimages k¨onyvt´ ar alatt. Kikapcsolt ´ allapotban lehet˝ os´eg¨ unk van minden hardverelem m´odos´ıt´as´ara, elv´etel´ere ´es hozz´ aad´as´ ara (15. ´ abra.). Vannak olyan (ritk´abban haszn´alt) virtu´alis hardvereszk¨ oz¨ok, amiket az u ´ j g´epet l´etrehoz´o var´ azsl´ o nem k´ın´al fel, pl.: soros illetve p´ arhuzamos portok.
15
14. ´abra.
15. ´abra. A virtu´alis g´ep tulajdons´ agait szerkeszt˝o ablakban az Options f¨ uleken lehet speci´ alis be´ all´ıt´asokat m´odos´ıtani, ezek teljes´ıtm´eny optimaliz´ al´asi lehet˝os´egekre ´es kompatibilit´ asra vannak hat´assal (16. ´ abra.) A Resources f¨ ul¨on tal´ alhat´ oak az er˝oforr´as-kioszt´asi be´ all´ıt´asok, amikkel a k´es˝obbiekben r´eszletesen is foglalkozunk. K¨ ul¨on figyelmet ´erdemel a teljes g´epre kiterjed˝ o ´allapotment´esi lehet˝os´eg, ami fizikai g´epen ´altal´ aban nem megoldhat´o, vagy csak k´ezi konfigur´al´assal val´os´ıthat´o meg az oper´aci´ os rendszer szintj´en. F´ajlrendszerekr˝ ol snapshot k´esz´ıthet˝o logikai k¨otetkezel˝o (LVM) rendszerekkel, ´am mem´oriatartalomra ez nem terjed ki. Az VMware snapshot rendszere fut´o g´epr˝ ol is k´epes pilla-
16
16. ´abra. natk´epet k´esz´ıteni, ´ıgy nemcsak a merevlemez tartalma, hanem a mem´oria pillanatnyi ´allapota is ment´esre ker¨ ul. Tov´abbi fontos tulajdons´ ag, hogy egy g´epr˝ ol t¨ obb, ak´ ar egym´ asb´ ol lesz´armaz´o, vagy k¨oz¨os forr´asb´ ol kiindul´ o p´ arhuzamos snapshot is kezelhet˝o, ´es ig´eny szerint b´ armelyik mentett ´allapot gyorsan visszat¨olthet˝ o. A snapshot manager ikonjai a fels˝o s´avon a jobb sz´elhez k¨ozel helyezkednek el. A virtu´alis g´epek f´ ajljait az adatt´ar b¨ ong´esz˝ ovel (Datastore Browser ) kezelhetj¨ uk. Az ¨osszefoglal´ o f¨ ul¨on egy adatt´arat kijel¨ olve, majd jobb kattint´ assal a kontextus men¨ uj´eb˝ol ind´ıthat´o az adatt´ar b¨ ong´esz˝ o. (17. ´ abra) A fels˝o sorban tal´ alhat´o ikonok lehet˝ov´e teszik, hogy k¨onyvt´arakat hozzunk l´etre, t¨ or¨ olj¨ unk f´ ajlokat vagy k¨onyvt´arakat, ´athelyezz¨ unk, illetve fel- ´es let¨ olts¨ unk f´ajlokat a kliens g´epr˝ ol az adatt´arba. A virtu´alis g´epeket le´ır´ o .vmx f´ajlokra jobb gombbal kattintva, majd a Add to inventory. . . men¨ upontot v´alasztva lehet az er˝oforr´asf´aba beregisztr´ alni olyan virtu´alis g´epet ami nincs oda felv´eve (pl. mert nem az adott szerveren hoztuk l´etre). Az er˝oforr´asf´ab´ol term´eszetesen el is t´ avol´ıthat´ oak a virtu´alis g´epek, ak´ ar a f´ajlok t¨ orl´es´evel, ak´ ar meghagy´ as´aval (ez esetben k´es˝ obb u ´ jra hozz´ aadhat´ o lesz az er˝oforr´asf´ahoz). A Workstationnel l´etrehozott diszkekn´el figyelni kell arra, hogy a virtu´alis diszkek egy f´ajlban, fixen lefoglalt form´atumban (-flat ) legyenek, mert az ESX szerver csak ezt t´ amogatja, ne pedig 2GB-os, dinamikusan lefoglalt egys´egekben (2GB sparse).
17. ´abra.
17
5.4.
Teljes´ıtm´ enym´ er´ es ´ es er˝ oforr´ as-gazd´ alkod´ as
A virtualiz´alt rendszerek alaptulajdons´ aga, hogy k¨oz¨ os er˝oforr´asokon osztoz´o virtualiz´alt k¨ornyezeteket kezelnek. A virtu´alis g´epek teljes´ıtm´eny´et alapvet˝oen meghat´arozza, hogy a virtualiz´aci´ os futtat´ok¨ ornyezet hogyan gazd´ alkodik a k¨oz¨os er˝oforr´asokkal. Az ESX Server sz´amos megfigyel´esi ´es be´ all´ıt´ asi lehet˝ os´eget k´ın´al az er˝ oforr´asok kioszt´ as´anak befoly´ asol´as´ara. Lehet˝os´eg van l´etrehozni csoportos´ıt´o elemeket (Resource Group), melyekbe virtu´alis g´epeket helyezhet¨ unk. A csoportoknak lehet meghat´arozott er˝oforr´as korl´atja (Limit ) vagy garant´ alt minim´alis r´eszesed´ese (Reservation). Korl´atot vagy fenntartott minimumot az egyes virtu´alis g´epek szintj´en is megadhatunk az el˝ oz˝oekben eml´ıtett Virtual Machine Properties ablak Resources f¨ ule alatt. ´Igy komplex hierarchikus er˝ oforr´as kioszt´ asi f´at defini´alhatunk, b´ ar leggyakrabban ezt a lehet˝os´eget arra haszn´aljuk, hogy egyes virtu´alis g´epek t´ ulzott er˝oforr´as-foglal´ast korl´atozzuk (pl. egy virtu´alis g´ep folyamatosan 100%-ra terhelt CPU-ja ne lass´ıtsa le a t¨ obbi virtu´alis g´epet). Er˝oforr´asok szerinti (CPU, mem´ oria, I/O terhel´es) priorit´ asokat is adhatunk a virtu´alis g´epeknek. Ez akkor kap szerepet, ha valamely er˝ oforr´asb´ ol t¨ obbre van ig´eny, mint amennyi rendelkez´esre ´all, ilyenkor a priorit´ asok f¨ uggv´eny´eben von el er˝oforr´asokat a guest g´epekt˝ol.
18. ´abra. Az er˝ oforr´ as-foglal´ ast illetve terhel´est az ESX Server kicsivel t¨ obb, mint egy napra visszamen˝ oleg r¨ogz´ıti minden virtu´alis g´epre. A Virtual Center ezt kiterjeszti saj´at adatb´azissal, ami ak´ ar 1 ´evre visszamen˝o historikus adatokat is t´ arolhat. A visszamen˝oleges adatok grafikonok form´aj´ aban megtekinthet˝ oek a Performance f¨ ul alatt (18. ´abra). A grafikonokon megjelen´ıthet˝ o ´ert´ekek ´es az id˝obeli felbont´ as a Change Chart Options. . . alatt v´alaszthat´o ki (19. ´ abra). A virtu´alis g´epen bel¨ uli ´ ora ´es a host g´ep val´os idej˝ u ´or´aja sok esetben nem szinkroniz´alt (´ oraszinkron szolg´ altat´ ast a VMware Tools biztos´ıt), jelent˝ os elcs´ usz´ as lehet k¨oz¨ott¨ uk, ami r´aad´asul nem konstans, f¨ ugg a terhel´est˝ ol. Ez´altal a virtu´alis g´epen bel¨ uli teljes´ıtm´enym´er´esekn´el nem szabad a bels˝o ´ or´ ara hagyatkozni.
6.
K¨ ozponti menedzsment a VirtualCenter seg´ıts´ eg´ evel
A VirtualCenter egy Windows2003-ra telep´ıthet˝o programcsomag, mely t¨ obb ESX Server kezel´es´et k´epes ¨osszevonni egy fel¨ uletre. Ezenk´ıv¨ ul sz´amos funkci´oval ki is terjeszti ˝oket: 18
19. ´abra. Virtu´ alis g´epekhez ¨ osszetett hozz´ af´er´esi jogosults´agkezel´es Virtu´ alis g´epek automatikus kl´ onoz´ asa ´es u ¨ zembe´ all´ıt´asa (deploy) Virtu´ alis g´epek fut´as k¨ozbeni mozgat´asa hostok k¨oz¨ ott Hibat˝ ur˝o f¨ urt¨ ok ´ep´ıt´ese Terhel´eseloszt´ o f¨ urt¨ ok ´ep´ıt´ese Hostok ´es virtu´ alis g´epek monitoroz´ asa, riaszt´as Hostok ´es virtu´ alis g´epek k¨ozpontos´ıtott szoftverfriss´ıt´ese Biztons´ agi ment´es (backup) kezel´ese
Amint l´athat´o a VirtualCenter c´elja, hogy egy nagyv´allalati infrastrukt´ uramenedzsment legt¨obb r´eszfeladat´at ¨ onmaga k´epes legyen ell´atni, ´ıgy nincs olyan nagyobb ter¨ ulet, ami felt´etlen¨ ul k¨ uls˝ o sz´all´ıt´ o term´ek´et ig´enyeln´e. Azonban hat´ ok¨ ore c´elzottan csak az ESX Servereken fut´o virtu´alis g´epekre terjed ki. Tov´abb´a plugin architekt´ ur´aj´ u, ´ıgy b˝ ov´ıthet˝o u ´ j feladatok ell´at´as´ara (a szoftverfriss´ıt´est is k¨ ul¨on plugin val´ os´ıtja meg), ny´ılt szoftverfejleszt˝oi fel¨ uletet biztos´ıt4 , ez´altal 4 A VMware Virtual Infrastructure SDK ezen c´ ımen ´ erhet˝ o el: http://www.vmware.com/support/developer/vcsdk/
19
lehet˝os´eg ny´ılik m´as menedzsment alkalmaz´asokkal t¨ort´en˝o probl´emamentes integr´aci´ oj´ ara, illetve menedzsment feladatok automatiz´ al´ as´ ara sz´amos programnyelv felett.
6.1.
A VirtualCenter er˝ oforr´ asf´ aja
A VirtualCenter is az ESX Servern´el megismert inventory-t haszn´alja, ´am itt ez kieg´esz¨ ul a k¨ovetkez˝o elemfajt´ akkal: Datacenter - nagy szervez˝ oegys´eg, amin bel¨ ul k¨oz¨osek a virtu´alis h´ al´ozatok nevei ´es az datastore-ok Cluster - Datacenteren bel¨ ul ESX hostok ´es virtu´alis g´epek egy sz˝ ukebb csoportja, mely hibat˝ ur˝o ´es/vagy terhel´eseloszt´o f¨ urt¨ ot val´os´ıt meg
Az ESX Servereket vagy Datacenterben vagy Clusterben helyezhetj¨ uk el. A Datacenterben elhelyezett hostok a kor´ abban m´ar megismert m´odon viselkednek, alattuk jelennek meg az er˝oforr´as csoportok ´es virtu´alis g´epek. A Clusterben azonban nincsenek a virtu´alis g´epek hostok al´a rendelve, dinamikusan u ¨ zem k¨ozben v´altoztathatj´ ak a hely¨ uket a hostok k¨oz¨ott. A Cluster tulajdons´ agait a l´etrehoz´asakor (Az Inventory-ban a Datacenteren jobb gomb Add Cluster. . . ) ´all´ıthatjuk be: VMware HA - hibat˝ ur˝o f¨ urt¨ oz´esi funkci´o VMware DRS - terhel´eseloszt´ o funkci´o
Mikor egy hostot be akarunk vonni a VirtualCenter menedzsel´ese al´a (Datacenteren vagy Clusteren jobb gomb Add Host. . . ) meg kell adnunk a g´ep adminisztr´atori (root) bel´ep´esi jelszav´at.
6.2.
Virtu´ alis g´ ep sablonok kezel´ ese
A virtualiz´aci´ o egy nagy el˝ onye, hogy dinamikusan, az ig´enyek szerint, hardver megmozgat´ asa n´elk¨ ul lehet egy-egy feladatra u ´ j g´epet l´etrehozni. A virtu´alis g´epek ´eletciklus´anak (l´etrehoz´asa, haszn´alata, megsz¨ untet´ese vagy nyugalmaz´asa”) t´ amogat´as´aban egy fontos szempont, hogy ” u ´ j g´epek l´etrehoz´asakor ne kelljen minden alkalommal k´ezzel oper´aci´ os rendszert telep´ıteni ´es konfigur´ alni, hanem egy m´ar f´elk´esz k¨ornyezet testreszab´ as´aval gyorsan lehessen u ´ j g´epet u ¨ zembe ´all´ıtani. Nagyv´allalati k¨ornyezetben gyakran vannak el˝o´ır´ asok az oper´aci´ os rendszerek be´ all´ıt´asaira, ´ıgy ezek betart´ asa is nagyban egyszer˝ us´ıthet˝o, ha k´esz el˝oretelep´ıtett sablonokb´ ol (template) hozzuk l´etre a virtu´alis g´epeket. Ennek egyszer˝ u megold´asa a virtu´alis g´epek kl´ onoz´ asa, ´am ez nem k´epes kezelni azt a probl´em´ at, hogy r´eszben a virtu´alis hardver, r´eszben az oper´aci´ os rendszer telep´ıt´es k¨ozben egy´eni azonos´ıt´okat kap, aminek egy h´ al´ ozaton bel¨ uli egyedis´ege fontos a helyes m˝ uk¨od´es szempontj´ ab´ol. Ilyenek p´eld´ aul a h´ al´ ozati vez´erl˝o MAC c´ıme, az OS IP c´ıme ´es hosztneve, esetleg valamilyen UUID-je, Windows-ok alatt biztons´agi egyedi azonos´ıt´o, SID. A VirtualCenter k´epes sablonb´ ol automatikusan l´etrehozni virtu´alis g´ep p´eld´ anyokat u ´ gy, hogy k¨ozben testre is szabja azt. Ennek el˝ ofelt´etele, hogy a sablonnak sz´ant virtu´alis g´epbe feltelep´ıts¨ uk a VMware Tools-t, Windows-ok testreszab´ as´ahoz a VirtualCenter szerverre telep´ıts¨ uk a Microsoft Sysprep Tools-t, valamint, hogy az elk´esz¨ ult virtu´alis g´epet template-nek jel¨olj¨ uk a Summary f¨ ul¨on a Convert to template opci´ oval. Innent˝ ol kezdve ez a g´ep nem lesz elind´ıthat´ o, az inventory-ban csak a Virtual Machines and Templates n´ezetben lesz l´athat´o. Viszont lehet˝ os´eg¨ unk ny´ılik ebb˝ol a sablonb´ ol u ´ j virtu´alis g´ep p´eld´ anyos´ıt´as´ara a Deploy Virtual Machine from This Template opci´ oval. A p´eld´ anyos´ıt´ as sor´an az alap k´erd´eseken (az u ´ j virtu´alis g´ep neve az inventory-ban, melyik Datacenterbe, Clusterre vagy Hostra ker¨ ulj¨on) t´ ul a Customize using customization wizard opci´o megnyitja a lehet˝ os´eget a p´eld´ any testreszab´ asa el˝ott. A testreszab´ asn´ al lehet˝os´eg van a hosztn´ev illetve a h´ al´ ozati interf´eszek be´ all´ıt´ asait (IP c´ım, stb.) m´odos´ıtani. Az els˝o ind´ıt´askor a VMware Tools automatikusan u ´ jragener´ altatja a g´ep egyedi azonos´ıt´oit (Linux alatt sajnos ez a funkci´o nem
20
teljes, pl. nem k´esz¨ ul u ´ j SSH priv´ at kulcs vagy SSL tan´ us´ıtv´any a g´ep sz´am´ ara) ´es m´odos´ıtja a h´ al´ozati be´ all´ıt´ asokat, ´ıgy a g´ep a h´ al´ ozaton m´ar a p´eld´ anyos´ıt´asn´ al megadott c´ımen lesz el´erhet˝o. Term´eszetesen a sablon g´epen tov´abbi m´odos´ıt´asok elv´egz´es´ehez vissza is alak´ıthatjuk a sablont virtu´alis g´epp´e, ´ıgy az u ´ jra elind´ıthat´ o lesz.
6.3.
M˝ uk¨ od´ es k¨ ozbeni ´ athelyez´ es
Virtu´ alis g´epek le´ all´ıt´ as n´elk¨ ul is ´ athelyezhet˝ ok a k¨ ul¨onb¨ oz˝o hostok k¨oz¨ott, ezt a lehet˝os´eget nevezz¨ uk live migr´ aci´ o nak. A VMware term´ekeiben ezt VMotion n´even tal´ alhatjuk meg. A m˝ uk¨od´es k¨ozbeni ´athelyez´es legfontosabb ´es egyben technikailag legnehezebben megoldhat´o r´eszfeladata mem´oriatartalom ´ atmozgat´asa. Ennek le´all´as n´elk¨ uli vagy csak minim´alis kimarad´assal j´ar´o megval´os´ıthat´ os´ ag´at az teszi lehet˝ ov´e, hogy a virtu´alis g´epek nem haszn´alj´ak folyamatosan az ¨osszes mem´orialapjukat. Az ´ athelyez´es t¨ obb f´azisra bomlik: 1. el˝osz¨ or az akt´ıvan nem haszn´alt mem´orialapok ker¨ ulnek h´ al´ozaton kereszt¨ ul ´atmozgat´asra, k¨ozben m´asolat k´esz¨ ul minden olyan lapr´ol, amely m´egis m´odosult (copy-on-write) az eredeti hoston, miut´ an m´ar megt¨ ort´ent a m´asol´asa a c´el hostra. 2. Ezut´ an a virtu´alis g´ep fut´as´ at ´ atmenetileg felf¨ uggeszti a forr´as host, ´es a - rem´elhet˝oleg kev´es - k¨ozvetlen k¨ozelm´ ultban akt´ıv mem´orialap m´asol´asa kezd˝odik meg. 3. Ha ezek ´ atker¨ ultek a c´el hostra, akkor megt¨ort´enik a vez´erl´es´atad´ as, ´es m´ar a c´el hoston folytat´ odik a virtu´alis g´ep fut´asa. 4. V´eg¨ ul a m´eg megmaradt, vagy id˝ok¨ ozben m´odosult, de k´es˝obb m´ar nem ´erintett, teh´at passz´ıv lapok m´asol´ asa t¨ ort´enik meg. L´ athat´o, hogy a virtu´alis g´ep mozgat´asa egy ¨osszetett folyamat, aminek c´elja minimaliz´alni a virtu´alis g´ep felf¨ uggesztett ´ allapotban t¨ olt¨ ott idej´et. Ezt az id˝ot jelent˝ osen befoly´ asolja a h´ al´ozati kapcsolat ´ atereszt˝ok´epess´ege ´es a virtu´alis g´epben fut´o alkalmaz´asok mem´oriahaszn´alata is. Nagy mem´ oriater¨ uletet akt´ıvan haszn´al´o alkalmaz´asn´ al el˝ofordulhat, hogy a mem´oria t¨ obbs´eg´et felf¨ uggesztett ´ allapotban kell mozgatni a folyamatos m´ odos´ıt´asok miatt, ilyenkor a kies´es ideje hossz´ u lehet. Fontos megjegyezni, hogy a guest virtu´alis h´ att´ert´ ar tartalma nem ker¨ ul mozgat´asra. Datastore-ok k¨oz¨otti mozgat´asra a Storage VMotion vagy SVMotion technol´ ogia szolg´ al, amit most r´eszletesen nem t´ argyalunk. A VMotion haszn´alat´ahoz az ´erintett hostokon egy-egy vmkernel h´ al´ozati interf´eszre van sz¨ uks´eg, amin a VMotion enged´elyezve van. A VMotion enged´elyez´es jel¨ol˝on´egyzete a h´ al´ozati interf´esz tulajdons´ agait (IP c´ım, stb.) be´ all´ıt´o ablakban tal´ alhat´o a General f¨ ul alatt. Tov´abb´a fontos el˝ofelt´etel, hogy mindk´et host k¨ozvetlen¨ ul hozz´ af´erhessen a virtu´alis g´ep diszk tartalm´at t´ arol´o datastore-hoz, ez praktikusan annyit jelent, hogy a t´ arhelyet iSCSI vagy NFS megoszt´ asra kell helyezni ´es minden ´erintett host sz´am´ ara el´erhet˝ov´e tenni. A VMFS3 f´ajlrendszer lehet˝ov´e teszi, hogy ugyanazt a blokkos eszk¨ ozt egyszerre t¨ obb ESX Server is haszn´alhassa, vagyis a konkurens hozz´ af´er´esek k¨olcs¨ on¨os kiz´ar´ as´ at biztos´ıtja. Az ´athelyez´est a mozgatni k´ıv´ ant virtu´alis g´ep Summary f¨ ul´en a Migrate to Another Host vagy a jobb kattint´ asra megjelen˝o kontextus men¨ uj´eb˝ol Migrate. . . men¨ uponttal lehet kezdem´enyezni. Az el˝ofelt´etelek ellen˝ orz´es´et a VirtualCenter automatikusan elv´egzi ´es t´ aj´ekoztat arr´ol, ha a mozgat´as valamilyen okb´ ol nem kivitelezhet˝ o.
6.4.
Hibat˝ ur˝ o f¨ urt kialak´ıt´ asa
A VMware HA megold´as lehet˝ os´eget biztos´ıt arra, hogy ha egy host meghib´asodik vagy elveszik a h´ al´ozati kapcsolata, akkor a rajta fut´o virtu´alis g´epek ne ker¨ uljenek teljesen el´erhetetlen ´allapotba. Ehhez az ESX Servereken fut´o k¨ ul¨on ´ agenst (ha-agent ) telep´ıt ´es haszn´al. A megold´as el˝onye, hogy teljesen elosztott m´odon m˝ uk¨ odik, a VirtualCenter Server csak a konfigur´al´ast v´egzi el, a kies´esek detekt´al´asa ´es kompenz´ al´ asa m´ar teljes eg´esz´eben az ´agensek feladata.
21
A kies´esek detekt´al´ asa u ´ n. sz´ıvver´es” (heartbeat ) jelek h´ al´ozaton kereszt¨ uli periodikus ” k¨ uld´es´evel t¨ ort´enik (alap´ertelmezetten 30 sec peri´odussal), a jelz´esek elmarad´ asa a ´agens sz´am´ ara azt jelzi, hogy a t´ avoli hoston, vagy az azt bek¨ ot˝o h´ al´ozatban meghib´asod´ as t¨ ort´ent. A v´eletlen jelveszt´esb˝ ol ad´od´o t´eves hibajelz´esek elker¨ ul´es´ere konfigur´alhat´o (Advanced Options. . . alatt), hogy h´ any egym´ ast k¨ovet˝o kimarad´ast ´ertelmezzen meghib´asod´ asnak (alap´ertelmezetten 3). Meghib´ asod´ as eset´en a kompenz´ aci´ os m˝ uvelet nem m´as, mint a kies˝ o hoston fut´o virtu´alis g´epek u ´ jraind´ıt´ asa egy m´asik, m´eg ´ep hoston. Ez azt jelenti, hogy az aktu´alis mem´oriatartalom elveszik. A gyakorlatban sz´ amos esetben az is elegend˝o, ha a kies˝ o virtu´alis g´epek u ´ jraindul´as ut´an lesznek u ´ jra el´erhet˝ oek. Ilyen esetek p´eld´ aul, ha a virtu´alis g´ep ´allapotmentes szolg´ altat´ ast ny´ ujt (pl. statikus web) vagy h´ att´ert´ aron napl´ ozott tranzakci´okezel´est val´os´ıt meg, ´ıgy k´epes a f´elbeszakadt m˝ uveletek folytat´ as´ ara vagy hat´asuk visszag¨orget´es´ere, teh´at kies´es ut´an konzisztens ´allapotba visszat´er´esre. Alkalmaz´as szint˝ u hibat˝ ur˝o f¨ urt¨ ok eset´en a kies˝ o virtu´alis g´ep feladat´ at azonnal k´epes ´ atvenni a f¨ urt egy m´asik tagja, majd u ´ jraindul´as ut´an vissza tud t´erni az eredetileg kiesett g´ephez. Automatikus guest u ´ jraind´ıt´as n´elk¨ ul az alkalmaz´as szint˝ u f¨ urt redundanci´ aja is elfogyna a kies˝ o g´epek miatt, teh´ at a virtu´alis g´epek szintj´en m˝ uk¨od˝o hibat˝ ur˝o f¨ urt¨ oz´es ´es az alkalmaz´as szintj´en m˝ uk¨ od˝o f¨ urt¨ oz´es egym´ as kieg´esz´ıt˝o technol´ ogi´ ai. A VMware HA be´ all´ıt´ asait a Cluster Edit Settings. . . men¨ upontj´ aban hat´arozhatjuk meg. A VMware HA-t enged´elyezhetj¨ uk vagy teljesen le is tilthatjuk az adott clusterben, vagy ak´ ar virtu´alis g´epenk´ent k¨ ul¨on-k¨ ul¨on. Tov´abb´a meghat´arozhatjuk, hogy engedjen-e elind´ıtani u ´j virtu´alis g´epeket, ha nincs meg a kell˝o redundancia a clusterben, illetve, hogy pontosan h´ any m˝ uk¨od˝ok´epes host ESX sz´ am´ıt elegend˝o redundanci´ anak. Megadhat´o a virtu´alis g´epek u ´ jraind´ıt´asi priorit´ asa, ezt a m´er´es sor´an c´elszer˝ u magasra ´all´ıtani a v´arakoz´asi id˝o cs¨okkent´ese ´erdek´eben. V´egezet¨ ul megadhat´ o, hogy egy izol´ alt ´allapotba ker¨ ult, de ¨onmag´ aban m˝ uk¨od˝ok´epes host mit csin´aljon a rajta m´eg fut´o virtu´alis g´epekkel, amik v´ arhat´oan m´as hoston u ´ jraindulnak a h´ al´ozati kapcsolat megszakad´asakor. A kapcsolat helyre´all´asakor konfliktusba ker¨ ul˝o eredeti ´es u ´ jonnan elind´ıtott p´eld´ anyai ugyanannak a virtu´alis g´epnek kiv´edhet˝oek, ha az izol´alt host le´all´ıtja a g´epeit.
6.5.
Dinamikus terhel´ eseloszt´ as
A VMware DRS (Distrinbuted Resource Scheduling) alapvet˝oen megv´ altoztatja a virtu´alis g´epek ´es hostok viszony´at, mivel a DRS modellj´eben a virtu´alis g´epek nincsenek szorosan hosthoz rendelve, hanem az eg´esz clusterben k¨oz¨osek. A hostok er˝oforr´asai is l´enyeg´eben egy nagy er˝oforr´ashalmazk´ent jelennek meg. Term´eszetesen a virtu´alis g´epek ett˝ ol m´eg mindig egy meghat´arozott hoston futnak, nem oszthat´oak sz´et t¨ obb hostra, de a hozz´ arendel´est nem manu´ alisan, hanem teljesen automatiz´ altan a rendszer v´egzi. A pillanatnyi hozz´ arendel´es megtekinthet˝ o a Cluster Virtual Machines f¨ ul´en, illetve a Maps n´ezeten is. Ha a hostok k¨oz¨ott nagy terhel´esbeli elt´er´esek alakulnak ki (ne feledj¨ uk, a virtu´alis g´epek er˝oforr´as-haszn´ alata u ¨ zem k¨ozben folyamatosan v´altozhat), akkor a DRS automatikusan (vagy be´ all´ıt´as szerint csak aj´ anl´ ast t´eve manu´ alis m˝ uveletre) elind´ıtja egy-egy virtu´alis g´ep m˝ uk¨od´es k¨ozbeni ´athelyez´es´et, ez´altal jobban kiegyenl´ıtve a mem´oria ´es a CPU haszn´alatot a hostok k¨oz¨ott. Mivel kis elt´er´esek mindig lesznek, illetve a virtu´alis g´epek terhel´ese a rajtuk fut´o alkalmaz´ast´ ol f¨ ugg˝oen r¨ovid id˝o alatt ingadozhat, ez´ert nem c´elravezet˝o folyamatosan minden v´altoz´ asra egy er˝oforr´as-haszn´ alati szempontb´ol k¨olts´eges live migr´ aci´ oval v´alaszolni. Ez´ert a DRS is tartalmaz be´ all´ıt´asi lehet˝ os´egeket (szint´en a Cluster Edit Settings. . . alatt tal´ alhat´o). Mindenekel˝ott meghat´arozhat´o, hogy automatiz´ altan vagy manu´ alisan akarjuk a m˝ uveletet kezdem´enyezni, tov´abb´a az is, hogy mennyire legyen agressz´ıv”, azaz mennyire gyorsan reag´aljon a v´altoz´ asokra. ” Fontos be´ all´ıt´ asi lehet˝ os´eg, hogy szab´alyokat adhatunk meg az egyes virtu´alis g´epekre, p´eld´ aul, hogy egyes g´epeket felt´etlen¨ ul tartson egy hoston (pl. a gyors, fizikai g´epen bel¨ uli virtu´alis h´ al´ozati kapcsolat miatt), vagy ellenkez˝oleg mindig tartsa ˝oket k¨ ul¨on hostokon (ennek hibat˝ ur˝o f¨ urt¨ okn´el van jelent˝ os´ege, ha egy g´epre ker¨ ul minden tagja, akkor egy host hiba az eg´esz f¨ urt¨ ot egyben teheti m˝ uk¨ od´esk´eptelenn´e). Ilyen szab´alyokat a Cluster Settings-ben a VMware DRS/Rules alatt adhatunk meg.
22