IT infrastruktuuri teenused Virtualiseerimine Margus Ernits margus.ernits@itcollege.ee 1
Virtualiseerimine Virtualiseerimine on kaasaegne ja kiiresti arenev tehnoloogia Arengu tõukejõud oli tihti väga erinev Vaatleme mitmeid vajadusi ja probleeme, mille üheks lahenduseks on virtualiseerimise kasutamine Virtualiseerimise vajadused ja võimalused viimastel aastatel oluliselt muutunud 2
Üks süsteem ja teine kood Virtualiseerimist ja emuleerimist teostati operatsioonisüsteemide algusaegadest saadik Sai luua virtuaalset riistvara ja seal kasutada erinevat tarkvara IBM suurarvuti sisse võis luua mõne virtuaalse 286 arvuti ja kasutada neid programmide loomiseks teisele arhitektuurile 3
Arendus- ja testkeskkonnad IT süsteeme ei arendata ja muudeta elusas süsteemis Kui arendaja on kättpidi toodangus e production süsteemis, siis selle läbi kannatab lõppkasutaja Kaasajal käib toetatakse arendustsüklit ARENDUS -> TEST -> TOODANG Arenduse- ja testisüsteemi kvaliteedi tõstmiseks peab süsteem olema sarnane toodangu süsteemile ja seega on tihti vaja palju servereid 4
Koolituskklasside loomine Arvutikursuste lugemine oli varem suhteliselt raske Koolituseks vajalik tarkvara tuli installeerida Siis tulid koolitatavad ja tegid süsteemi peaks kursust Peale kursuse lõppu tuli süsteem uuesti paigaldada Mitme ainekursuse laborite tegemine eeldab koolitatavale administraatori õiguste andmist Ei saa õppida Windows või Linux administraatoriks ilma harjutamise võimaluseta Kaasajal käib enamust koolitamist ettevalmistatud virtuaalmasinate abil 5
Varuserverite vajadus SLA nõuab teenuse taastamist etteantud aja jooksul Kui SLA lubab planeerimatut katkestust mõne tunni jagu aastas ja hävib vana riistvara, siis ei ole võimalik taastada operatsioonisüsteemi lindist Tihti on vaja võtta uus server ja sinna paigaldada OS (piisalvalt vana, et rakendus seal ellu jääks) Paigaldada rakendus ja seadistada see Firmad hoidsid aastaid iga serveritüübi kohta varuservereid, mis võimaldaks vanu kaste taastada 6
Serverite haldus Veel viis aastat tagasi virtualiseeriti põhiliselt koolitusklasse ja arenduskeskkondi, siis kaasajal virtualiseeritakse suur osa serveritest Serveripargi probleemid Serverite riistvara pole ühtne Probleemid ühe serveri kolimisega teisele riistvarale (ilma uuesti installeerimata) Taastamiseks vajaminev riistvara pole ühtne Mahtude planeerimine on raske Paigaldades uut serverit võib selle koormuse hindamisega suurusjärkudes eksida 7
Serverite haldus Serveripargi probleemid Mõned teenused vajavad oma tööks eraldi serverit (ei toimi koos teiste teenustega) Tihti on sõltuvused keerukad. Näiteks üks teenus vajab.net 1.0 ja teine.net 2.0 teeke ja neid ei saa ühte masinasse tööle seada Tihti pole selliste serverite koormus suur ja neid võiks hoida ühe füüsilise riistvara sees. Virtualiseerimine annab sellistel juhtudel selge eelise 8
Serverite haldus Ühtlustamine ja ressursside paindlik kasutamine Hea on omada kindlat komplekti riistvarast, kuna seadmedraiverite probleemid on ühesugused Hea, kui servereid saab kiiresti viia ühest füüsilisest kohast teise ja seal kiirelt töövalmis olekusse seadistada Mitu rakendusserverit ei koorma tihti ühte füüsilist serverit või tarbivad riistvaralisi ressursse erinevates aja-akendes Näiteks öine pakktöötlus ja päevane on-line broneeringusüsteem 9
Virtualiseerimine Virtualiseerimistarkvara loob reaalse riistvara ja rakenduste/operatsioonisüsteemide vahele virtuaalse riistvara kihi Ühel reaalsel riistvaral võib töötada mitu erinevat virtuaalse riistvara komplekti koos erinevate operatsioonisüsteemide ja rakendusprogrammidega 10
Põhimõisted Host Füüsiline riistvara (arvuti), kus töötab virtualiseerimistarkvara Guest Virtuaalne riistvara, mis töötab Host arvutis Host Guest 0 Guest 1 11
Virtualiseerimine OS/Rakendused Vahekiht Riistvara OS/rakendused OS/rakendused OS/rakendused Virtualiseerimise vahekiht Füüsiline riistvara 12
Virtualiseerimine Emuleerimine emulation Emuleeritakse terve riistvara või osa OS teenustest, näiteks ABI/API OS tasemel virtualiseerimine OS-level virtualization Võimaldab pakkuda rakendusele oma liivakasti Hostitud virtualiseerimine hosted virtualization Guest OS jookseb Host OS poolt virtualiseeritud riistvaral Bare-metal virtualization Suhteliselt õhuke virtualiseerimiskiht, milles luuakse virtuaalne riistvara 13
Emuleerimine Emuleerimisel tekitab vahekiht virtuaalse riistvara ja vajadusel tõlgib käivitatavad korraldused reaalse riistvara tarbeks Bochs, QEMU (ilma KVM laienduseta) WINE ja WABI Suhteliselt aeglane Suudab emuleerida teist protsessorit Võib toimida kasutajaruumis (User Space) 14
OS-level virtualization OS tasemel virtualiseerimine Guest süsteemid jagavad Host süsteemiga sama kernelit Guest saab isoleeritud liivakasti Failisüsteemi vaade Näited Init protsess BSD jail OpenVZ Virtuozzo UML 15
Hostitud virtualiseerimine Üks Host OS ja üks või mitu Guest OS'i Guest OS rakendused Guest OS rakendused Guest OS rakendused Host OS Virtualiseerimise vahekiht Füüsiline riistvara 16
Suhteliselt levinud Hostitud virtualiseerimine Tihti võimaldab kasutada VT ja AMD-V laiendusi Erinevad tootjad pakuvad erineva võimalusega virtuaalset riistvara Näited MS Virtual PC/Server KVM VMware server/workstation/fusion SUN VirtualBox 17
Bare metal virtualiseerimine Õhuke virtualiseerimise kiht Guest OS rakendused Guest OS rakendused Guest OS rakendused Guest OS rakendused Virtualiseerimise vahekiht Füüsiline riistvara 18
Bare-metal virtualiseerimine Guest operatsioonisüsteemid kasutavad õhukest virtualiseerimiskihti ja reaalse riistvara ressursse Virtualiseerimistarkvara jagab reaalset riistvara Organiseerib VLAN'e ja marsruutereid Guest operatsioonisüsteemide jaoks (virtuaalsed võrgud) Võimaldab migreerida virtuaalseid Guest süsteeme ühe füüsilise riistvara pealt teisele Pakub HA lahendust 19
Bare metal VMware ESX Xen Suur valik haldusvahendeid Hea jõudlus Laialdane tugi erinevale riistvarale Hea jõudlus MS Hyper VI Hea jõudlus Kasutab ühe OS riistvaraohjureid Suhteliselt piiratud virtuaalse tarkvara valik 20
Rakenduste virtualiseerimine Tihti on vaja käitada ühe rakenuse erinevaid versioone samas serveris või töökoha arvutis Näiteks firma töötaja kasutab programmi, mis pole ühilduv teise töötaja poolt kasutava rakendusega Rakenduste virtualiseerimine pakub võimaluse isoleerida rakendus oma liivakasti ja kasutada samal ajal sama rakenduse erinevaid versioone 21
Virtualiseerimise nüansid Enne serveri virtualiseerimist tuleks uurida/testida: Kas antud süsteem toimib virtualiseeritud keskkonnas Kas kolmandate osapoolte lepingud (näiteks jagatud halduse puhul) ei saa takistuseks? Kas virtualiseerimistehnoloogia toetab teile vajalikku riistvara nii Host, kui ka Guest süsteemis? Näiteks USB seadmed Kas vahekihist tulenev jõudluse kadu ei ole lubatust suurem? 22
Virtualiseerimine Hoiab kokku Parandab hallatavust Parandab käideldavust Kõike ei saa alati virtualiseerida Enne testi, siis virtualiseeri Tuleb juurde uus roll Virtualiseerimistarkvara administraator Ta ei administreeri Guest OS'e! 23
Küsimused? Küsimused? 24
Lisalugemist http://en.wikipedia.org/wiki/operating_system-level_ http://en.wikipedia.org/wiki/comparison_of_virtual_m http://en.wikipedia.org/wiki/x86_virtualization http://en.wikipedia.org/wiki/vmware http://en.wikipedia.org/wiki/paravirtualization http://en.wikipedia.org/wiki/application_streaming http://www.microsoft.com/systemcenter/appv/default 25
Tänan! Tänan 26