»Virtualizacija bo najvplivnejši trend, ki bo do leta 2012 spreminjal infrastrukturo in IT-organizacije«, napoveduje Gartner. »Virtualizacija bo spremenila upravljanje, nakupe, nameščanje, načrtovanje in preoblikovanje informacijskih tehnologij v podjetjih. Zato se bo pojavil novi val konkurenčnega boja med ponudniki infrastrukturnih rešitev, ki bo spremenil trg in vodil do združevanja ponudnikov.«

Boljšega uvoda si skoraj ne bi mogli zamisliti. Kaj pa se pravzaprav skriva pod čudežno besedo virtualizacija? Najpreprostejši odgovor je, da je virtualizacija način, kako v enem fizičnem računalniku oz. kosu strojne opreme (ki je lahko delovna postaja ali strežnik) poganjati več navideznih računalnikov oz. kosov strojne opreme (delovnih postaj ali strežnikov). In v čem je poanta? V preprostem dejstvu, da so večino svojega časa zmogljivosti strojne opreme le minimalno izkoriščene. Nekateri analitiki pravijo da le do 10 %, pri strežnikih pa tja do 40 %. In ker vsak tak računalnik seveda porablja električno energijo in da »ne melje« v prazno, ga izkoristimo. Tako, da mu pač naložimo več dela v obliki navideznih (virtualnih) strojev.

Najbolj veseli smo takega pristopa računalnikarji, ki vzdržujemo kompleksne informacijske sisteme, in pa tisti, ki razvijajo programsko opremo. Z virtualizacijo se namreč izognemo podvojenim sistemom za razvoj in testiranje novih različic programske opreme, predvsem pa popravkom za operacijske sisteme pred uvedbo v produkcijsko okolje. To pa še zdaleč ni vse. Zelo preprosta sta tudi izdelovanje varnostnih kopij virtualnih strežnikov in njihova neodvisnost od strojne opreme, saj uporabljajo univerzalne gonilnike. Virtualne delovne postaje ali strežniki so namreč navadno shranjeni v eni ali nekaj datotekah. Večina izdelkov podpira tudi izdelavo datotek posnetka (snapshot), s čimer si še bolj olajšamo delo in lahko v kateremkoli trenutku obnovimo poljubno različico, na primer, svojega strežnika.

In kar je najpomembnejše, kar nekaj izdelkov je na voljo brezplačno. Na voljo je tudi odprtokodna rešitev XEN, ki je vključena v kar nekaj jeder oz. distribucij operacijskih sistemov Linux, uporabil pa jo je tudi Microsoft v Windows Serverju 2008 Hyper-V. Potrebujemo torej le nekaj časa in volje, da se podamo v čudoviti svet virtualizacije.

Poleg virtualizacije strojne opreme je mogoče virtualizirati tudi druge komponente informacijskega sistema: operacijske sisteme, aplikacije, shrambe podatkov omrežja, grafiko ...

Če si malce pobliže ogledamo virtualizacijo sistemov, imamo na voljo tri načine: emulacijo strojne opreme, paravirtualizacijo in virtualizacijo na ravni operacijskega sistema.

EMULACIJA STROJNE OPREME

Programska oprema preprosto emulira strojno opremo in se operacijskemu sistemu predstavi kot samostojen računalnik (delovna postaja ali strežnik). Vsakemu virtualnemu računalniku lahko spreminjamo parametre in s tem simuliramo dodajanje ali odvzemanje strojne opreme, kot do diski, omrežni adapterji, pomnilnik RAM... Na žalost pa vsaka taka emulacija vzame precej procesorskega časa in (fizičnega) pomnilnika RAM, zato moramo imeti precej zmogljivo strojno opremo, da lahko emuliramo več računalnikov. V to skupino sodijo izdelki, kot so Microsoft Virtual PC, VMware Workstation, VirtualBox, Qem ... Posamezne si bomo podrobneje ogledali v nadaljevanju.

PARAVIRTUALIZACIJA
Da bi optimalno izrabili vse sistemske vire, so se programerji domislili načina, kako v samo jedro (kernel) operacijskega sistema vključiti podporo t. i. paravirtualizaciji. Poleg drugih procesov torej v tako predelanem jedru teče proces, imenovan hipervizor (hypervisor), ki skrbi za optimalno razdeljevanje sistemskih virov (kot so procesor, RAM, disk ...) med virtualne računalnike. Sistemski viri so tako bistveno bolje izrabljeni, saj ni potrebe po emulaciji. Seveda pa ima ta prijem tudi negativne strani, saj lahko virtualni računalniki izrabijo le tisto strojno opremo, ki je res (torej fizično) prisotna v samem gostitelju. Primer paravirtualizacije je XEN.

VIRTUALIZACIJA NA RAVNI OPERACIJSKEGA SISTEMA

Še en korak dalje je prinesel pristop, ko procesi različnih delovnih postaj tečejo izolirano in istočasno na istem jedru, neodvisni drug od drugega. Navidezni računalniki so torej ločeni na nizkem nivoju, kar pomeni, da lahko vsak navidezni računalnik deluje optimalno (beri: hitro) v dani strojni opremi. Negativna stran takšnega prijema pa je ta, da lahko uporabimo samo eno jedro, kar praktično pomeni, da v enem (fizičnem) računalniku ne moremo hkrati poganjati navideznih računalnikov Windows in Linux. Primeri tega načina so OpenVZ, FreeBSD Jails, Linux-Vserver.

Navedene tehnologije oz. pristopi so namenjeni bolj poslovni uporabi, kjer je navadno v uporabi več (različnih) strežnikov.


Kako uporabiti virtualizacijo doma in zakaj?
Avtor tega članka je že pred leti tako preizkusil več Linuxovih distribucij, saj sta odpadla namestitev v fizični računalnik in bojazen, ali se bo obstoječe (Windows) stanje ohranilo ali ne. Druga praktična uporaba je testiranje novih popravkov ali nove programske opreme v virtualnem okolju. V tem primeru se obstoječi (fizični) računalnik virtualizira in je s tem pripravljen za testiranje popravkov in/ali test programske opreme. Večina programov podpira tudi t. i. tehnologijo posnetka (snapshot), kar pomeni, da si pred vsako načrtovano spremembo shranimo stanje celotnega sistema in ga po potrebi povrnemo v prvotno stanje. Tako dobimo zelo fleksibilno testno okolje.

OSNOVNE PREDNOSTI

Nedvomno je virtualizacija trend, ki privlači vse več pozornosti uporabnikov. Preden se lotimo podrobnejšega opisa izdelkov, si na kratko osvežimo osnovne prednosti tehnologije:
• V enem fizičnem strežniku lahko vzporedno poganjamo več operacijskih sistemov (tako delovne postaje kot strežnike).
• Sistemski viri fizičnega računalnika so popolnoma izkoriščeni.
• Upravljanje virtualnih računalnikov je zelo preprosto, centraliziran pa je tudi nadzor porabe na omrežni, procesorski in diskovni ravni.
• Varovanje virtualnih računalnikov je zelo preprosto in hitro (s tehnologijo posnetka).
• Delovanje je neodvisno od strojne opreme zaradi univerzalnih gonilnikov, zato so tudi prenosi virtualnih računalnikov v drug fizični stroj zelo preprosti in hitri.
• Vzpostavitev novih strežnikov je hitra in preprosta, prav tako upravljanje.
• Manjši so stroški računalniške infrastrukture in vzdrževanja.

Predvsem zaradi zmanjševanja operativnih stroškov in preprostega upravljanja je virtualizacija postala tako zelo priljubljena.

Moj mikro, December 2008 | Štefan Hozjan |