Virtualiseerimine

 
Virtualiseerimine on informaatikas virtuaalse riistvara, operatsioonisüsteemi, andmekandja, võrguressursi vms loomine.
Virtualiseerimine on kasvav trend infotehnoloogias, mis lubab hõlpsasti ressursse (arvutusvõimsust, mälu, jms) vastavalt vajadusele ümber suunata sinna, kus neid parajasti vaja on. Seetõttu on virtualiseerimisega võimalik kulusid kokku hoida.
Virtualiseerimise näited on sümmeetrilised, mitme protsessoriga arvutite arhitektuurid, mis kasutavad rohkem kui üht protsessorit. Operatsioonisüsteem on tavaliselt konfigureeritud nii, et mitu protsessorit esitlevad ühte protsessori moodulit. Sellepärast tarkvara rakendusi saab kirjutada ühele loogilisele (virtuaalsele) arvutimoodulile, mis on palju lihtsam kui töötada paljude erinevate protsessori konfiguratsioonidega. Taoline arvutuspilv pakub klastersüsteemidega võrreldavat töökindlust lihtsamalt ja odavamalt.
Riistvara virtualiseerimine.
Riistvara virtualiseerimise tarkvara abil saab füüsilises arvutis luua ühe või mitu virtuaalmasinat, mis simuleerivad reaalseid arvuteid. Need masinad käituvad ja on kasutatavad samamoodi, nagu füüsilised arvutid – neile saab paigaldada operatsioonisüsteeme ja muud tarkvara.
Virtualiseerimise põhimõtted.
Virtualiseerimine on sisuliselt riistvara muutmine tarkvaraks. Tänu tarkvaralahendustele nagu VMware ESX saab muuta (virtualiseerida) riistvara ressursse x86 baasi peal, sealhulgas keskprotsessor, muutmälu (RAM), kõvaketas ja võrgukontroller, täielikult toimiva virtuaalse masina loomiseks, kuhu saab paigaldada eraldi operatsioonisüsteemi ja rakendada seda kui füüsilist arvutit.
Mitu virtuaalset masinat kasutavad üksteist kahjustamata ühiseid riistvararessursse. Sinna saab kergesti paigaldada mitu virtuaalsüsteemi ja rakendada ühel arvutil mitmeid programme.
Ajalugu.
Esmakordselt kasutas virtualiseerimistehnoloogiat IBM rohkem kui 30 aastat tagasi, meetod oli loogiline jaotus arvuti ressursside üksikuteks virtuaal masinateks. See tehnoloogia on teinud arvuti palju funktsionaalsemaks, st nüüd võiks lubada samaaegselt kasutada mitut programme ja protsesse. Tollel ajal, arvutid olid väga kallid, tehnoloogia, mis jagas ressursse oli kasutatud selleks, et saavutada maksimaalne investeeringutasuvus.
Tänapäevased arvutid põhinevad x86 arhitektuuridel ja on tekkinud samad probleemid nagu
EAM-idel (Elektroonilised Arvutus Masinad ehk arvutid) 1960. aastatel – vähene paindlikkus ja kasutatud on ainult väike osa kõikides olemasolevates ressurssidest. Aastal 1990 firma VMware on ületanud mitmeid raskusi otsides lahendust sellele probleemile ja on loonud virtualiseerimistehnoloogiat arvutitel, mis põhinevad x86 baasil ja mille eesmärk on kõrvaldada probleeme kasutamatu ressurssidega jne.
Tänapäeval on VMware ülemaailmne liider valdkonnas virtualiseerimisel arvutitel, mis põhinevad x86 baasil. Edu selles valdkonnas on motiveerimiseks liikuda suunas, et virtualiseerida kõik arvutid, mis põhinevad sellel arhitektuuril.
Virtualiseerimise vajadus x86.
1980. ja 1990. aastatel oli virtualiseerimistehnoloogia ajutiselt unustatud. Sel ajal etaloniks oli ressursside jaotamine arvutis klient-server, samuti odavate Serverite loomine ja lauaarvutid, mis põhinesid arhitektuuri x86. Aastatel 1990 kasutati laialdaselt Windows ja on ka tekkinud Linux nagu OS serveritele, mis tegi servereid x86 tööstuse standardiks. Arengu kasvamisel serverite ja lauaarvutite baasil x86, tõi uue IT-infrastruktuuri ja uusi probleeme, nagu näiteks:
Otsus VMware: täis riistvara x86 virtualiseerimine.
Aastal 1999 VMware esitas virtualiseerimistehnoloogiat, mis põhineb x86 baasil ja selle tehnoloogiaga saab lahendada eespool kirjeldatud probleemid. Samuti sellega saab luua ühist riistvara infarastruukturi x86 baasil, mis on üldiseks kasutamiseks, mis pakub täielikku isolatsiooni, mobiilsust ja valik OS-i taotlemise keskkonnas.
Näide kokkuhoiust.
Enne serveripargi virtualiseerimist oli KredExis kasutusel seitse füüsilist serverit, mille elektritarve oli 4,9 kW. Seega tarbisid serverid kuus 3528 kWh energiat. Kui võtta ühe kWh hinnaks 1,2 krooni, siis kulus energiale aastas 50 803 krooni.
Virtualiseeritud serveripark, mis koosneb kolmest serverist ja kettamassiivist, on koguvõimsusega 2,58 kW. Seega kulub kuus 1854 kWh energiat. Kui võtta ühe kWh hinnaks 1,2 krooni, siis kulub energiale aastas 26 697 krooni.
Seega aastas hoitakse energialt kokku ~25 000 krooni.
Kliendile juurutatud süsteemis on vaba ressurssi veel ~40%. Kui ressursikasutus ületab 85%, siis oleks otstarbekas süsteemi laiendada. Kogu lahendus on väga lihtsasti laiendatav serverite lisamise ning kettamassiivi laiendamisega. Juhul kui klient vahetab kolmeaastase tsükliga välja kõik serverid, siis füüsilise infrastruktuuri korral kuluks kliendil ~ 7 × 50 000 krooni = 350 000 krooni. Virtuaalse infrastruktuuri korral oleks kulu ~1 × 50 000 (keskhaldusserver) + 2 × 70 000 krooni = 190 000 krooni. Kokkuhoid seega 160 000 krooni (eelduseks on võetud, et kettamassiivi eluiga on märkimisväärselt pikem – 5–6 aastat).
Järeldus:
Virtualiseerimine – tehnoloogia, mis toob kasu kõikidele arvutikasutajatele. Miljonid inimesed ja tuhanded asutused ja ettevõtted kogu maailmas, sealhulgas Fortune 100, kasutavad virtualiseerimislahendusi, et vähendada IT-kulusid ja samal ajal suurendada tootlikkust, tõhusust ja paindlikkust saadaval riistvaral.
Virtualiseerimise tüübid.
Reeglina töötab virtualiseeritud režiimis kasutusel oleval arvutil üks põhiline operatsioonisüsteem (Host), millest kontrollitakse teiste (Guest) operatsioonisüsteemide tegevust. Üldiselt eristatakse nelja põhilist tüüpi virtualiseerimise tehnikaid:
ning praktikas esinevad lisaks veel mõningad juhtumid, näiteks
Guesti modifitseerimine tähendab Xeni puhul seda, et Guest operatsioonisüsteem kasutab vastavalt paigatud tuuma.
Xeni puhul kasutatakse põhimõtteliselt kahte sorti tuumi
Erijuhul, nt Debian GNU/Linux v 5.0 puhul kasutavad dom0 ja domU ühte ja sama spetsiaalselt ettevalmistatud tuuma.
Xeni puhul moodustatakse guestide jaoks füüsilistele seadmetele vastavad lihtsustatud liidesed (ingl. k. interface). Sellise asjakorraldusega kaasneb
Virtualiseerimise kasutuskohad.
OS-i tasemel virtualiseerimine.
Virtualiseerimine OS-i tasemel – virtualiseerib füüsilist serverit OS-i tasemel, mis võimaldab käivitada isoleeritud ja turvaliseid virtuaalservereid ühel füüsilisel serveril. See tehnoloogia ei võimalda OS käivituda tuumadega, vaid teiste tuumadega, mis on erinevad baas OS tuumadest. Virtualiseerimine operatsioonisüsteemi tasemel ei ole hypervisor kihti. Selle asemel hosti operatsioonisüsteem ise vastutab riistvara ressursside jagamisel kahe virtuaalserverite vahel ja toetab nende sõltumatust üksteisest.
Solaris Containers / Zones
FreeBSD vangi
Linux-VServer
FreeVPS
OpenVZ
Virtuozzo
VDSmanager
iCore Virtual Accounts
Virtual Machines.
Virtual Machine – on keskkond, mis on esitatud "Guest" operatsioonisüsteemile nagu riistvara. Aga tegelikult on see tarkvara keskkond, mis emuleerib hostisüsteemi tarkvaraga. See imiteerimis viis peaks olema piisavalt tugev, et Guest operatsioonsüsteemi draiverid võiksid töötada stabiilselt. Kui kasutate paravirtualizationi, virtuaalne masin ei jemuleeri riistvarat, kuid selle asemel pakkub kasutada spetsiaalset API.
Näited:
laboratoorsed testid ja koolitused: virtuaalseid masinates testimiseks on otstarbekas seada rakendused, mis mõjutavad operatsioonisüsteemi konfigureerimist, näiteks programmide installimine. Tänu sellele, et virtuaalseid masinaid on lihtne kasutada, neid kasutatakse koolitustel.
jaotamine eelinstallitud tarkvara: paljud tarkvaraarendajad loovad valmis virtuaalseid masinaid, kus on eelinstallitud tooted ja pakuvad neid tasuta või kommertseesmärgil. Neid osutavad VMware VMTN või Parallels PTN.
Serverite virtualiseerimine.
paigutamine mitu loogilist serverit ühte füüsilisse (Consolidation) ühendades mitu füüsilist serverit ühtsesse mahusse, et lahendada konkreetset ülesannet.
Näide: "Oracle Real Application Cluster, võrgutehnoloogia, tippjõudlusega klastrid."
Lisaks sellele serverite virtualiseerimine lihtsustab süsteemide taastamist (kui süsteemil tekkis kriitiline olukord), mis tahes olemasoleval arvutil, sõltumata arvuti konfiguratsioonist.
Ressursside virtualiseerimine.
Ressursside jagamine (partitioning). Ressursside virtualiseerimist saab esitada nagu üks füüsiline server on jagatud mitmeks osaks, millest igaüks on nähtav omanikule eraldi serverina. See ei ole virtuaalsete masinate tehnoloogia, vaid toimub operatsioonisüsteemi tuuma tasandil.
Süsteemides hypervisorite teise tüübiga mõlemad OS (Guest ja hypervisor) tarbivad füüsilisi ressursse ja nõuavad eraldi litsentseerimist. Virtual serverid, mis töötavad OS tuuma tasandil, peaaegu kiirust ei kaota, mis võimaldab ühel füüsilisel serveril panna tööle sadu virtuaalseid, ei nõua täiendavaid litsentse (näiteks nagu seda praegu teeb Microsoft).
Näiteks ressursside jagamiseks võib olla OpenSolaris Network virtualiseerimine ja Allika Control (projekt Crossbow), mis võimaldavad teil luua mitu virtuaalset võrguliidest ühelt füüsiliselt.
Liitmine, levitamine või lisamine mitme ressursse ühte suurte ressurssi või ressursside ühendamine.
Näiteks sümmeetrilised mitme protsessoriga süsteemid ühendavad palju protsesse; RAID ja kettahaldus ühendavad palju kettaid ühte suure loogilise kettasse; RAID ja võrgu seadmed kasutavad palju kanale, nad on ühendatud, nii et ilmuvad nagu üks lairibakanal. Metataseme arvuti klastrid teevad kõike eespool nimetatut. Vahel hõlmab see võrgustiku failisüsteeme abstraheeritud andmebaasist, mille peal nad on ehitatud, näiteks VMware VMFS, Solaris / OpenSolaris ZFS, NetApp WAFL.
Rakenduste virtualiseerimine.
Rakenduste virtualiseerimine – protsess, milles kasutatakse ümbertehtud rakendust kohustusliku paigaldamist OS-sse nüüd ei ole (pead vaid tööle panna). Rakenduse virtualiseerimiseks määrab virtualisaatori tarkvara paigaldamisel, missuguseid OS-i komponente on vaja, ja emuleerib neid, luues seega vajaliku spetsialiseerutud keskkonda, selle konkreetse virtualiseeritud rakenduse jaoks ja seega on tagatud isoleeritud rakenduse töö. Et luua virtuaalse rakenduse virtualiseeritud paigutatakse konteinerisse, mis on tavaliselt kausta kujuga. Kui te käivitate virtuaalne application, käivitub virtualiseeritud rakendus ja konteiner, mis on töökeskkond, sellele rakendusele. Töökeskkond käivitub ja sätestab eelnevalt loodud ressursse, mis sisaldavad registri võtmeid, faile ja muud, et käivitada rakendus. See virtuaalne keskkond toimib nagu kiht rakenduse ja operatsioonisüsteemi vahel, vältides konflikte nende vahel. Rakenduste virtualiseerimist hõlmavad selliseid süsteemid nagu SoftGrid, Thinstall.
Plussid:
Välislingid.
Serverite virtualiseerimine
Riistvara virtualiseerimine