PRETVORBA FIZIČNEGA RAČUNALNIKA V NAVIDEZNEGA TER RAZVOJ PROGRAMSKE REŠITVE ZA SAMODEJNI ZAGON

Size: px
Start display at page:

Download "PRETVORBA FIZIČNEGA RAČUNALNIKA V NAVIDEZNEGA TER RAZVOJ PROGRAMSKE REŠITVE ZA SAMODEJNI ZAGON"

Transcription

1 UNIVERZA V MARIBORU FAKULTETA ZA ORGANIZACIJSKE VEDE Smer: Informatika v organizaciji in managementu PRETVORBA FIZIČNEGA RAČUNALNIKA V NAVIDEZNEGA TER RAZVOJ PROGRAMSKE REŠITVE ZA SAMODEJNI ZAGON Mentor: red. prof. dr. Jože Zupančič Kandidat: Gregor Petkovšek Kranj, maj 2008

2 ZAHVALA Zahvaljujem se mentorju red. prof. dr. Jožetu Zupančiču za pomoč in napotke pri izdelavi diplomskega dela. Posebej se zahvaljujem vsem, ki so me spodbujali in mi stali ob strani v času študija in pisanja diplomskega dela.

3 POVZETEK V diplomskem delu obravnavamo virtualizacijo in navidezni računalnik. V prvem delu na podlagi strokovne literature predstavimo teoretične osnove tehnologije virtualizacije in delovanja navideznega računalnika. Na osnovi spoznanj o delovanju virtualizacije v literaturi predlagamo Agilent timu v podjetju Hermes Softlab d.d. pretvorbo ključnih strežnikov v navidezne računalnike in prototipno programsko rešitev kot možnost za samodejni zagon navideznega računalnika. S tem rešimo problem predolgega časa nerazpoložljivosti strežnikov v primeru nepričakovane strojne odpovedi ali zlonamernega dejanja. V drugem delu izvedemo postopek pretvorbe fizičnega računalnika v navideznega s pomočjo orodja VMware Converter in razvijemo prototipno programsko rešitev. KLJUČNE BESEDE virtualizacija, navidezni računalnik, VMware Workstation, VMware VIX API, VMware Converter ABSTRACT The topic of thesis focuses on virtualization and virtual machine. The first part introduces the theoretical base of virtualization technology and functioning of virtual machine, based on the professional technical literature. Starting form the literature review, we developed a proposal for Agilent team in Hermes Softlab, for converting the servers to virtual computers and software prototype solution as possibility for automatic start up of virtual computer. This proposal addresses the problem of long-term unavailability of servers in case of an unexpected hardware failure or malicious action. The second part presents the procedure for converting physical computer into a virtual computer using the software tool VMware Converter. A prototype software solution for automatically starting of virtual machine was also developed. KEYWORDS virtualization, virtual machine, VMware Workstation, VMware VIX API, VMware Converter

4 KAZALO 1 UVOD Predstavitev problema Predstavitev okolja Namen in cilj diplomskega dela Predpostavke in omejitve Metode dela TEORETIČNE OSNOVE Opredelitev virtualizacije in navideznega računalnika Različni načini virtualizacije Tehnologija virtualizacije Postavitev navideznega računalnika Prednosti virtualizacije OBSTOJEČE STANJE Opis problemskega stanja Kritična analiza PREDLAGANA REŠITEV Opis rešitve Uporabljena orodja VMware Converter VMware VIX API Microsoft Visual Basic 6 in Visual C Microsoft XML in DOM razčlenjevalnik kode (parser) PRETVORBA FIZIČNEGA RAČUNALNIKA V NAVIDEZNEGA Priprava na pretvorbo Pomožni računalnik Ciljni računalnik Izvedba pretvorbe Kloniranje vsebine izvornega računalnika Konfiguracija navidezne sistemske opreme Prikaz procesa pretvorbe RAZVOJ PROTOTIPNE PROGRAMSKE REŠITVE Zasnova prototipne rešitve Programiranje rešitve Dinamična knjižnica in VMware VIX API Uporabniški vmesnik Uporaba prototipne rešitve ZAKLJUČEK Priporočila in možnosti nadaljnjega razvoja LITERATURA IN VIRI...50

5 1 UVOD Izkušnje kažejo, da veliko današnjih podjetij, katerih poslovni procesi temeljijo na informacijski tehnologiji, nima izdelanega učinkovitega in v praksi preizkušenega načrta za obnovitev po katastrofi (disaster recovery) v primeru strojne napake ali izgube podatkov na poslovno kritičnih strežnikih. Nerazpoložljivost informacijske tehnologije in nezmožnost povrnitve delujočega okolja v kratkem času lahko zelo resno ogrozi poslovanje ali celo obstoj takšnega podjetja. Ponavadi se podjetja zavejo resnosti tega problema šele, ko se znajdejo v takšni kritični situaciji. Vzroke za nerazpoložljivost poslovno kritične informacijske tehnologije gre iskati predvsem v nenadni odpovedi strojne opreme zaradi dotrajanosti, tovarniške napake, zlonamernih dejanj in nenazadnje tudi zaradi naravnih katastrof, ki v današnjem času predstavljajo dodatni faktor tveganja. Prav tako lahko med vzroke nerazpoložljivosti štejemo tudi računalniške viruse ali pa zlonamerni vdor v sistem, katerega rezultat je onesposobitev operacijskega sistema. Ponovna obnovitev sistemov na strežnikih, ki skrbijo za nemoteno delovanje računalniškega omrežja, je zahtevno opravilo, ki lahko traja tudi več dni. V praksi je težko v kratkem času zagotoviti popolnoma enako stanje, kot je bilo pred katastrofo. Največji problem popolne obnovitve predstavljajo strežniki, katerih konfiguracija je kompleksna in za njihovo obnovitev rabimo veliko časa. To so predvsem domenski strežniki, strežniki za elektronsko pošto, požarni zidovi ter drugi strežniki, ki so nujen pogoj za normalno delovanje podjetja. Večinoma imajo podjetja dnevno arhivirane poslovne podatke, vendar ti podatki ne koristijo kaj dosti, če ni na razpolago tudi polno delujoča informacijska infrastruktura, ki dejansko omogoča nemoteno uporabo teh podatkov v procesih poslovanja. Eden izmed tradicionalnih in učinkovitih načinov za obvarovanje pred nerazpoložljivostjo zaradi strojne okvare je namestitev identičnih nadomestnih strežnikov, ki imajo popolnoma enako konfiguracijo, tako strojno kot tudi programsko. V primeru okvare primarnega strežnika se vklopi nadomestni, ki nemudoma v polni meri prevzame vlogo primarnega. Ta rešitev ima precej slabih strani, kot so zagotavljanje ustrezne sinhronizacije primarnega in nadomestnega strežnika, večji stroški administracije in vzdrževanja, zagotavljanje ustreznega prostora za nadomestne strežnike ter večji stroški električne energije in hlajenja. Zaradi vseh teh dejstev se predvsem manjša podjetja praviloma ne odločajo za takšno rešitev in v praksi arhivirajo zgolj poslovne podatke. Na področju razvoja strojne opreme je bil v zadnjem času narejen velikanski korak. Za razmeroma nizko ceno je danes na voljo zelo zmogljiva strojna oprema in izkušnje kažejo, da je povprečna izkoriščenost današnje strojne opreme pogosto le nekje med 15 in 30 odstotki. To pomeni, da večji del strojne opreme ostaja neizkoriščen. Ob tem se postavljata dve vprašanji, in sicer: ali je smiselno vlagati v nadomestne strežnike in ali morda obstaja drug učinkovit ter hkrati ugodnejši način izrabe neizkoriščene obstoječe strojne opreme za obvarovanje pred nerazpoložljivostjo. Na prvi pogled se zdi skoraj nemogoče, da bi lahko v polni meri izrabili neizkoriščeno strojno opremo in bili hkrati varni pred nenadno odpovedjo Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 1

6 taiste strojne opreme. Vse to nam omogočajo navidezni računalniki s pomočjo danes zelo hitro se razvijajoče tehnologije virtualizacije okolja namiznega računalnika. 1.1 Predstavitev problema Agilent tim v podjetju Hermes Softlab d.d. (v nadaljevanju HSL), ki razvija programsko opremo po naročilu za podjetje Agilent Technologies (v nadaljevanju Agilent) ter zanjo nudi tehnično podporo, se sooča s problemom zagotavljanja neprekinjenega delovanja poslovno kritičnih strežnikov v primeru strojne okvare. Zaradi specifičnih zahtev stranke ima tim svojo računalniško omrežje, ki je popolnoma ločeno od omrežja HSL. Za administracijo domenskega in poštnega strežnika ter požarnega zidu je odgovoren Agilent tim sam, vključujoč arhiviranje podatkov. To delo opravlja razvojni inženir kot sekundarno nalogo. Poslovni podatki, med katere spadajo vse vrste dokumentov, elektronska pošta in izvorna koda programske opreme, se dnevno arhivirajo v skladu z varnostno politiko HSL. Načrt za obnovitev podatkov v primeru katastrofe (disater recovery plan) predvideva ponovno namestitev in konfiguracijo operacijskega sistema na novi strojni opremi ter nato povrnitev vseh poslovnih podatkov. Iz izkušenj vemo, da je za to opravilo potrebno več delovnih dni, kar je glede na dejstvo, da stranki dnevno nudimo 15-urno tehnično podporo, poslovno popolnoma nesprejemljivo. Starost strojne opreme, na kateri tečejo poslovno kritični strežniki, je v povprečju 9 let. To samo še povečuje verjetnost dogodka nerazpoložljivosti omrežja, kar je iz izkušenj gledano dejansko samo vprašanje časa. 1.2 Predstavitev okolja HSL je mednarodno podjetje za razvoj programske opreme in IT rešitev za visokotehnološka podjetja, ponudnike storitev shranjevanja podatkov in igralništva, telekomunikacijskih storitev, finančne ustanove in javni sektor. Podjetje je bilo ustanovljeno leta 1990 v Ljubljani. Od takrat je preraslo v mednarodno korporacijo s sedežem v Sloveniji in mrežo podružnic po Evropi in v Združenih državah Amerike. Agilent je ena izmed mnogih dolgoletnih strank, za katero HSL nudi storitev razvoja programske opreme po naročilu in tehnično podporo na področju analitične kromatografije. Agilent rešitve so ene izmed vodilnih v kemijski industriji in jih uporabljajo svetovno ugledne farmacevtske in kemijske družbe, kakor tudi forenzični laboratoriji v sodnomedicinski znanosti. 1.3 Namen in cilj diplomskega dela Namen diplomskega dela je preučiti tehnologijo virtualizacije okolja računalnikov, temelječih na x86 arhitekturi, pokazati izvedbo postopka pretvorbe fizičnega računalnika v navideznega s pomočjo orodja VMware Converter 3. Nadalje je Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 2

7 namen, v programskem jeziku C in Visual Basic 6 na podlagi VMware VIX programskega vmesnika razviti prototipno programsko rešitev za samodejni zagon navideznega računalnika. Poglavitni cilj diplomskega dela je, s pridobljenim znanjem o tehnologiji virtualizacije in navideznih računalnikih Agilent timu v HSL predlagati pretvorbo poslovno kritičnih strežnikov v navidezne računalnike in s tem bistveno skrajšati čas nerazpoložljivosti poslovno kritičnih strežnikov v primeru katastrofe zaradi strojne ali programske okvare. S prototipno programsko rešitvijo želimo pokazati možnost samodejnega zagona izbranih navideznih računalnikov po zagonu gostiteljskega sistema na fizičnem računalniku. 1.4 Predpostavke in omejitve Pri pisanju diplomskega dela smo naleteli na problem, kako iz angleške strokovne literature prevesti v slovenščino besedno zvezo virtual machine v zvezi z virtualizacijo okolja računalnikov. V domačih strokovnih revijah in literaturi je največkrat možno zaslediti prevod navidezni računalnik, v manjši meri pa lahko zasledimo tudi drugačna prevoda, in sicer virtualni računalnik in navidezni stroj. Slednji prevod je dejansko direkten in mogoče na prvi pogled tudi logičen, vendar v primeru virtualizacije okolja računalnikov neustrezen in lahko bi rekli tudi zavajajoč za bralca. Navidezni stroj je v slovenski računalniški literaturi že leta uveljavljen prevod za platformsko neodvisno okolje, v katerem se izvajajo programi, razviti v Java programskem jeziku. Za to okolje se v angleški strokovni literaturi uporablja besedna zveza Java virtual machine ali skrajšano JVM. Slovenska strokovna literatura to prevaja kot Javanski navidezni stroj. V diplomskem delu bomo uporabljali prevod navidezni računalnik v povezavi s tehnologijo virtualizacije okolja računalnikov, na kateri temelji delovanje navideznega računalnika. 1.5 Metode dela V teoretičnem delu, kjer bomo na podlagi strokovne literature različnih avtorjev opredelili navidezni računalnik in tehnologijo virtualizacije, bomo uporabili metodo deskripcije, ki je postopek enotnega opisovanja dejstev, procesov in predmetov v naravi in družbi ter njihovih empiričnih potrjevanj odnosov in vezi, vendar brez znanstvenega tolmačenja in pojasnjevanja. Pri metodi deskripcije ne gre le za opisovanje predmetov ali pojavov, temveč predvsem za postavljanje osnovnih hipotez in pojasnjevanje pojavov, ki jih raziskujemo (Ivanko, 2007, str. 14). Pri izdelavi procesa pretvorbe fizičnega računalnika v navideznega na konkretnem primeru bomo uporabili empirično metodo, ki na podlagi izkušenj odkriva in pojasnjuje določene pojave, sodbe ali zaključke. Ta metoda temelji na eksperimentu. Vendar brez postavljanja in dokazovanja delovnih hipotez. Rezultati, do katerih pridemo z uporabo te metode, so predvsem praktično uporabni in Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 3

8 najpogosteje pomenijo začetno fazo zbiranja znanstvenih dejstev, na osnovi katerih se ugotavljajo določene zakonitosti (Ivanko, 2007, str. 19). Za razvoj programske rešitve bomo uporabili prototipni pristop. V primerih, kadar zahteve naročnika pri razvoju programske rešitve niso jasno določene, je posebej primerna uporaba prototipov. Na začetku se v prototip implementira samo bistvene funkcije, druge pa se simulirajo ali izpustijo. S pomočjo testiranja, analize in tesnega sodelovanja z naročnikom se lahko prototip v nekaj iteracijah postopno razvije v končni produkt (Solina, 1997, str ). 2 TEORETIČNE OSNOVE V računalništvu naletimo na izraz virtualizacija na zelo različnih področjih, kot so: virtualizacija pomnilniških sistemov, virtualizacija vhodno izhodnih enot, virtualizacija aplikacij in še kaj bi lahko našteli. V diplomskem delu bomo raziskovali tehnologijo virtualizacije računalnikov in operacijskih sistemov. To je možnost, da lahko v enem fizičnem računalniku poganjamo hkrati več operacijskih sistemov popolnoma neodvisno drug od drugega. 2.1 Opredelitev virtualizacije in navideznega računalnika Na splošno je virtualizacija v računalništvu opredeljena kot tehnika skrivanja računalniških sredstev na način, kot komunicirajo s temi sredstvi različni sistemi, aplikacije ali končni uporabniki. To pomeni, da lahko posamezno fizično sredstvo (računalnik ali medij za shranjevanje) navidezno deluje kot množica logičnih sredstev ali pa da več fizičnih sredstev (računalnikov ali medijev za shranjevanje) navidezno deluje kot posamezno logično sredstvo. Z virtualizacijo lahko tudi navidezno spremenimo različne karakteristike kot jih ima dejansko fizično sredstvo (Wikipedia, 2008a). Kot navaja (Koblar, 2006, str. 105), je virtualizacija računalnika dejansko proces združevanja in abstrakcije sistemskih virov, ki ga izvedemo z namenom prikrivanja fizičnih lastnosti določene naprave ter prikrivanje virov in omejitev te naprave pred njihovimi uporabniki. Nadalje pravi, da lahko virtualizacijo opišemo tudi kot proces, pri katerem strojno opremo navidezno razdelimo med več operacijskih sistemov oziroma strežnikov. Na koncu ugotavlja, da je virtualizacija pravzaprav polna nasprotij. Z ene strani izvaja particioniranje oziroma razdeljevanje naprav. Gre za postopek, pri katerem celotne vire, kot so procesorji, pasovna širina, pomnilnik in diski, razdelimo na manjše dele, ki jih lažje uporabljamo. Na drugi strani pa smo priča združevanju, pri katerem manjše vire združujemo v zmogljivejšo celoto. Na tak način vzpostavimo navidezno okolje, ki mu pravimo navidezni računalnik, v katerem gostujoči operacijski sistem deluje popolnoma enako kot neposredno na fizični sistemski opremi. Dejansko gre za enkapsulacijo oziroma združevanje več fizičnih računalnikov v enega, kot je prikazano na sliki 1, s čimer dosežemo, da ja vsa strojna oprema za vse navidezne računalnike enaka. Navidezni računalniki so na Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 4

9 fizičnem računalniku ponavadi prisotni v obliki ene ali več datotek, ki ji lahko preprosto kopiramo in izvajamo na drugem fizičnem računalniku. Na posameznem fizičnem računalniku lahko hkrati deluje več navideznih računalnikov, ki so popolnoma ločeni, saj lahko med seboj komunicirajo zgolj preko navideznih mrežnih kartic. Povedano drugače, v primeru popolne virtualizacije se gostiteljski operacijski sistem, ki teče neposredno na strojni opremi, ne zaveda, da si hkrati deli strojno opremo z drugimi operacijskimi sistemi, ki tečejo na navideznih računalnikih. Slika 1: Združevanje več računalnikov v enega (Vir: Šmid, 2006) V skladu s (Šmid, 2006, str. 48) je virtualizacija enostavno odgovor na vprašanje, kako lahko zaporedni računalnik z eno samo procesno enoto hkrati izvaja veliko ločenih operacijskih sistemov, nekako tako kot lahko en operacijski sistem ločeno izvaja več programov. Nadalje navaja, da je na začetku samo delovanje virtualizacije temeljilo na zapleteni programski opremi brez strojne podpore. Pionir in začetnik razvoja virtualizacije na x86 arhitekturi je bilo podjetje VMware, ki je na podlagi predhodnih akademskih raziskav na kalifornijski univerzi Stanford razvilo osnovo za delovanje virtualizacije, kateri pravimo nadzornik navideznih računalnikov (v nadaljevanju VMM, Virtual Machine Monitor). Naloga VMM je podpora delovanju navideznih računalnikov, v katere namestimo gostujočo programsko opremo, ki je sestavljena iz operacijskega sistema in programov. Podobno virtualizacijo kot proces abstrakcije fizične strojne opreme opredeljuje tudi (Hammersley, 2007, str. 2). Abstrakcija fizične opreme računalnika ustvari izolirano okolje, v katerem lahko hkrati neodvisno deluje več navideznih računalnikov drug ob drugem vsak s svojim naborom navidezne strojne opreme. Na koncu pravi, da se vsa čarovnija zgodi znotraj virtualizacijskega sloja, vmesnika med fizičnimi in navideznimi sistemskimi viri, imenovanega VMM, katerega glavna naloga je upravljanje in dodeljevanje sistemskih virov navideznim računalnikom. Kot bomo videli v nadaljevanju v podpoglavju 2.2, lahko virtualizacijo izvajamo na več načinov, in sicer kot popolno virtualizacijo (full virtualization), paravirtualizacijo (paravirtualization) ali strojno podprto virtualizacijo (hardware assisted vitualization). Ne glede na način, pa ima VMM najpomembnejšo vlogo. Ta lahko operira na različnih nivojih, njegova naloga pa je venomer enaka, in sicer razdeljevanje sistemskih virov med navideznimi računalniki. x86 arhitektura, ki je Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 5

10 danes daleč najbolj razširjena v svetu računalništva, je po svoji zasnovi precej neprijazna za realizacijo popolne virtualizacije, saj je namenjena zgolj za poganjanje enega operacijskega sistema naenkrat. Tako je VMM zelo kompleksna programska oprema. Podjetje VMware je bilo prvo, ki je na podlagi predhodnih akademskih raziskavah leta 1999 razvilo VMM za x86 arhitekturo, za kar so prijavili in prejeli več patentov pri patentnem uradu Združenih držav Amerike. Kot smo ugotovili na podlagi izsledkov tuje in domače literature, proces virtualizacije ustvari navidezno okolje, v katerem je simulirana sistemska strojna oprema. To okolje je podlaga za delovanje navideznega računalnika in znotraj njega programske opreme skupaj z operacijskim sistemom. V nadaljevanju bomo s pomočjo tehnične dokumentacije (VMware, 2008a) natančneje opredelili navidezni računalnik in podrobneje opisali njegove lastnosti. Navidezni računalnik je izoliran programski vsebnik (software container), znotraj katerega tečejo operacijski sistem in programi popolnoma enako, kot bi tekli neposredno na fizičnem računalniku. Navidezni računalnik ima ravno tako kot fizični svojo matično ploščo, BIOS, centralno procesno enoto, grafično in mrežno kartico, trdi disk in ne vsebuje nobenega kosa fizične strojne opreme, saj je vsa sistemska strojna oprema realizirana na programskem nivoju. Seveda pa za samo izvajanje potrebuje fizično strojno opremo, vendar ni odvisen od njenih lastnosti. Edina omejitev je ta, da mora biti sistemska fizična oprema iste arhitekturne zasnove kot navidezna. Tako na primer ni možno na Apple PowerPC arhitekturi izvajati navidezni računalnik z x86 navidezno sistemsko opremo in obratno. S pomočjo programske opreme za virtualizacijo lahko na enem fizičnem računalniku ustvarimo poljubno število navideznih in vsakemu dodelimo poljuben nabor navidezne sistemske opreme. Zaradi enkapsulacije in izolacije celotne navidezne sistemske opreme, kakor tudi operacijskega sistema skupaj z vsemi programi, lahko navidezni računalnik preprosto prenesemo oziroma kopiramo na drug fizični računalnik ali pomnilniški medij, podobno kot to počnemo z drugimi datotekami. Slika 2 nam prikazuje datoteke navideznega računalnika, ustvarjenega z VMware Workstation 6 programsko opremo. Pri tem je zelo pomembno dejstvo, da nam po kopiranju datotek navideznega računalnika na neki drug fizični računalnik ali pomnilniški medij ni potrebno kakorkoli spreminjati ali nastavljati gonilnikov navidezne sistemske opreme. Po končanem prenosu datotek in predpostavki, da je na fizičnem računalniku nameščena ustrezna virtualizacijska programska oprema, sta navidezni računalnik in njegov operacijski sistem takoj pripravljena na zagon ter nemoteno delovanje. To pomeni, da je navidezni računalnik preprosto prenosljiv in popolnoma neodvisen od tipa strojne opreme, na kateri se izvaja virtualizacija. Simulacija sistemske strojne opreme nam nadalje omogoča, da lahko navideznemu računalniku dodelimo SCSI trdi disk, drugačen tip zvočne ali grafične kartice, čeprav ta sistemska oprema dejansko ne obstaja na fizičnem računalniku. V podpoglavju 2.3 bomo na kratko razložili, kako je to sploh mogoče. Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 6

11 Slika 2: Datoteke navideznega računalnika Namestitev operacijskega sistema in ostale programske opreme na navidezni računalnik je popolnoma identična kot namestitev na fizični računalnik. Pravzaprav se operacijski sistem v ničemer ne zaveda, da teče na programsko simulirani sistemski opremi. Tudi v omrežju so navidezni računalniki vidni kot ostali fizični računalniki in prav tako se tudi pri medsebojni komunikaciji tega ne zavedajo. Omenili smo že, da lahko hkrati neodvisno izvajamo več navideznih računalnikov. Tako na primer zrušitev operacijskega sistema na navideznem računalniku ne vpliva na delovanje drugih navideznih računalnikov ali na delovanje gostiteljskega računalnika, na katerem se izvaja virtualizacija. Ker ima navidezni računalnik po delovanju identične lastnosti kot fizični računalnik, moramo za namestitev komercialnega operacijskega sistema in druge programske opreme kupiti novo licenco. Slika 3 prikazuje primer, ko več gostujočih operacijskih sistemov, in sicer Kubuntu Linux, Windows Vista in Windows Server 2003 vsak na svojem navideznem računalniku, hkrati teče na gostitelju, ki je v tem primeru Windows XP. Kot smo že ugotovili, je za virtualizacijo značilno, da v navideznem računalniku ni možno poganjati operacijskega sistema, pisanega za drugo računalniško platformo. To je ena izmed bistvenih razlik med virtualizacijo in emulacijo. Ideja virtualizacije računalnikov ni nova, saj njeni začetki segajo v obdobje velikih računalnikov (mainframes). Leta 1964 so v IBM raziskovalnem centru začeli razvijati prvo različico operacijska sistema CP/CMS, ki je s pomočjo tehnologije popolne virtualizacije omogočal hkratno izvajanje več navideznih računalnikov na Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 7

12 računalnikih serije CP-40. Ta sistem je bil kasneje leta 1972 osnova za razvoja IBM operacijskega sistema VM370, ki je tekel na računalnikih serije IBM 370. Slika 3: Več navideznih računalnikov na enem fizičnem Predvsem po zaslugi široke dostopnosti in razvoja zelo zmogljivih večjedrnih procesorjev in pomnilniških rezin je virtualizacija računalnikov doživela v zadnjih 10 letih silovit razvoj na najbolj razširjeni x86 arhitekturi in se s tem spremenila iz tehnološke eksotike v eno naboj vročih razvojnih usmeritev v računalništvu ta hip. Pred tem je bila virtualizacija poznana zelo ozki skupini uporabnikov na velikih IBM računalnikih. Tuji in domači avtorji strokovnih članov so si enotni, da je ena izmed ključnih nalog informatike prihodnosti virtualizacija strežniških računalniških sistemov. Ugledna analitska družba Gartner je že leta 2004 v svoji raziskavi (Gammage, A. Silver, 2004) napovedala, da bo virtualizacija do leta 2008 postala ena izmed najbolj prebojnih tehnologij na področju razvoja računalništva v zadnjem desetletju. Napoved je bila očitno pravilna, saj smo v letu 2008 priča srditemu boju za prevlado na trgu med ponudniki rešitev za virtualizacijo na programski in strojni ravni. Pionir in hkrati velikan na področju razvoja virtualizacije na x86 arhitekturi je družba VMware, ki se v zadnjem času sooča z močno konkurenco s strani družbe Microsoft, Citrix Xen, Parallel in Virtual Iron. 2.2 Različni načini virtualizacije Omenili smo, da obstaja več načinov virtualizacije računalniškega sistema. V tem podpoglavju si bomo na podlagi dognanj v strokovni literaturi (Hammersley, 2007, str. 2-6 ), (Strosar, 2007, str ) in (Wikipedia, 2008a), ogledali splošne Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 8

13 značilnosti danes najpogosteje uporabljenih načinov virtualizacije. Same tehnične podrobnosti pa bomo opisali v podpoglavju 2.3. Najstarejši način, ki je bil uporabljen za prvi rod virtualizacije, se imenuje popolna virtualizacija (full virtualization). Zanj je značilno, da v celoti posnema oziroma simulira delovanje sistemske opreme na programski ravni. Ta proces je sicer znan kot abstrakcija strojne opreme (hardware abstraction). Tako se ustvari popolno navidezno okolje, znotraj katerega se lahko brez vsakršnih sprememb izvajava gostujoč operacijski sistem, natanko tako kot bi se izvajal neposredno na fizični sistemski opremi. Popoln način virtualizacije se doseže z namestitvijo virtualizacijske programske opreme na gostiteljski operacijski sistem. Ta teče v tako imenovanem uporabniškem režimu, v katerem ni mogoč direkten dostop do fizične strojne opreme. Operacijski sistem pa deluje v sistemskem režimu, kateremu je dovoljen direkten dostop. Razvijalci programske opreme so tukaj naleteli na precej trd oreh. x86 arhitektura namreč ne podpira popolne strojne virtualizacije. Obstaja točno 17 strojnih ukazov, ki jih je nemogoče virtualizirati in izvajati v uporabniškem režimu, ne da bi povzročili zrušitev celotnega sistema z gostiteljem vred. To oviro so razvijalci odpravili s tehniko binarnega prevajanja (binary translation). Tako VMM, vmesnik med fizično in navidezno sistemsko opremo, lovi problematične ukaze gostujočega operacijskega sistema in jih ustrezno spremeni v varne ukaze, kar zahteva precej procesorskega časa. Posledica tega je, da gostujoč operacijski sistem teče počasneje, kot če bi tekel neposredno fizični sistemski opremi, v praksi to ni tako zelo opazno ob ustrezno hitrem procesorju. Poleg tega je sama implementacija takega VMM izredno kompleksna in draga. Velika prednost popolne virtualizacije je v tem, da so navidezni računalniki neodvisni od sistemske opreme in jih brez kakršnegakoli vpliva preprosto selimo med računalniki z različno sistemsko opremo iste arhitekture. Slika 4 nam nazorno prikazuje shemo popolne virtualizacije. Virtualizacijska programska oprema, ki ustvari virtualizacijski sloj, se na gostitelju izvaja kot vsaka druga uporabniška programska oprema. Na gostiteljskem operacijskem sistemu teče kot en proces. Vsak navidezni računalnik se znotraj tega procesa izvaja kot svoja nit (thread). Tipična predstavnika tega načina virtualizacije sta VMware Workstation in Microsoft VirtualPC. Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 9

14 aplikacija aplikacija aplikacija aplikacija aplikacija aplikacija aplikacija CPE operacijski sistem delovni spomin mrežna kartica trdi disk navidezna strojna oprema CPE virtualizacijski sloj operacijski sistem delovni spomin mrežna kartica trdi disk navidezna strojna oprema gostiteljski operacijski sistem CPE delovni spomin mrežna kartica trdi disk x86 arhitektura Slika 4: Prikaz sheme popolne virtualizacije (Vir: Hammersley, 2007) Paravirtualizacija je nastala kot alternativa popolni virtualizaciji in binarnemu prevajanju ukazov centralne procesne enote navideznega računalnika. Glavni vzrok za njen nastanek je predvsem izredna kompleksnost razvoja VMM za popolno virtualizacijo, ki zahteva izjemna znanja in dolgoletne izkušnje. Kot dokaz za to je podjetje Microsoft, ki je spoznalo, da bi za razvoj svoje različice VMM za popolno virtualizacijo porabili več let, zato so za svojo prvo generacijo virtualizacije v VirtualPC programu odkupili virtualizacijsko tehnologijo podjetja Connectix. Za paravirtualizacijo bi lahko rekli, da ni prava virtualizacija, ker zanjo ne veljajo vse lastnosti popolne virtualizacije. Gostujoči operacijski sistem namreč potrebuje spremembe v samem jedru, da lahko komunicira z VMM preko hiperklicev (hypervisor calls). Torej, za paravirtualizacijo ne velja, da se gostujoči operacijski sistem ne zaveda izvajanja na navidezni sistemski opremi. Operacijski sistem na navideznem računalniku ima tako preko hiperklicev direkten dostop do fizične sistemske opreme in tako tudi ni neodvisen od sistemske opreme fizičnega računalnika, kot to velja za popolno virtualizacijo. Abstrakcija sistemske strojne opreme je tukaj odveč. Prednost paravirtualizacije je v tem, da se navidezni računalniki izvajajo precej hitreje kot v primeru popolne virtualizacije, v praksi hitrost izvajanja ni bistveno večja, kot če bi se operacijski sistem izvajal neposredno na fizični sistemski strojni opremi. Razlog za to so prav hiperklici, te si lahko predstavljamo kot nekakšne programske prekinitve (software interrupts), ki omogočajo bistveno učinkovitejše in hitrejše prevajanje problematičnih ukazov x86 arhitekture. Pri tem tipu virtualizacije gostiteljski operacijski sistem, ki je ustrezno spremenjen, igra vlogo VMM. Takemu tipu VMM pravimo hipervizor ali nadupravitelj (hypervisor). Seveda pa za ustrezne spremembe jedra operacijskega sistema potrebujemo njegovo izvorno kodo. Prav zato srečamo paravirtualizacijo na odprtokodnih operacijskih sistemih, večinoma je to Linux. Tipična predstavnika tega Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 10

15 načina virtualizacije sta Citrix Xen in VMware ESX. Izvorna koda komercialnih operacijskih sistemov ni javno dostopna, zato lahko samo njen izdelovalec ustrezno spremeni samo jedro operacijskega sistema. Microsoft je za leto 2008 napovedal, da bo izdal svoj prvi pravi hipervizor, in sicer bo vgrajen v posebno različico operacijskega sistema Windows 2008 Server s kodnim imenom Viridian. Luč sveta bo ugledal natanko 180 dni po izdaji osnovne različice Windows 2008 Server brez podpore virtualizaciji. To bo drugi rod virtualizacije, ki ga je razvilo to podjetje. Tehnologijo virtualizacije, vgrajeno v Windows 2008 Server, je Microsoft razvil v tesnem sodelovanju z zelo popularno Citrix Xen distribucijo paravirtualizacije, nastalo na podlagi akademskih raziskav Univerze Cambridge. Slika 5 prikazuje shemo paravirtualizacije, iz katere je jasno razvidno, da se virtualizacijski sloj, se pravi hipervizor, izvaja neposredno na fizični sistemski opremi. V tem primeru funkcijo VMM upravlja posebej prirejeno jedro operacijskega sistema. aplikacija aplikacija aplikacija aplikacija aplikacija aplikacija operacijski sistem operacijski sistem CPE delovni spomin mrežna kartica trdi disk navidezna strojna oprema CPE delovni spomin mrežna kartica trdi disk navidezna strojna oprema virtualizacijski sloj CPE delovni spomin mrežna kartica trdi disk x86 arhitektura Slika 5: Prikaz sheme paravirtualizacije (Vir: Hammersley, 2007) Najnovejši način virtualizacije, ki je na široko odprl vrata za razvoj virtualizacije tudi manjšim proizvajalcem programske opreme, se imenuje strojno podprta virtualizacija. Omenili smo, da x86 arhitektura procesorjev v osnovi ne podpira virtualizacije. Prav zato je bila virtualizacija do sedaj v celoti realizirana na programskem nivoju, kar je razvijalcem povzročalo mnogo preglavic pri razvoju virtualizacijske programske opreme. Rezultat je bila kompleksna programska oprema, ki kljub mnogim izboljšavam ni omogočala, da bi se operacijski sistem na navideznih računalnikih izvajal popolnoma enako hitro kot neposredno na fizičnem računalniku. Tako sta tudi vodilna proizvajalca x86 združljivih procesorjev Intel in AMD uvidela svojo priložnost na hitro razvijajočem se področju virtualizacije in razširila x86 arhitekturo procesorjev s strojno podporo virtualizaciji. Oba proizvajalca sta svojim najnovejšim modelom procesorjev dodala nekaj novih ukazov in tako Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 11

16 precej olajšala delo razvijalcem programske opreme za virtualizacijo. Konkretno je Intel svojim procesorjem dodal 10 novih ukazov, AMD pa osem. Tehnologiji nista med seboj združljivi, vendar ju druži enaka funkcionalnost. Intelova tehnologija je znana kot IVT (Intel Virtualization Technology) z razvojnim imenom Vanderpool. Različica za 32 bitne procesorje je označena kot VT-x, za 64 bitne procesorje pa kot VT-i. AMDjeva tehnologija je znana kot AMD-V (AMD Virtualization) za 32 bitne procesorje in AMD-SVM (Secure Virtual machine) za 64 bitne procesorje, z razvojnim imenom Pacifica. Pri strojno podprtem načinu virtualizacije je v celoti izključena potreba po binarnem prevajanju problematičnih ukazov v VMM in drugih podobnih tehnikah, ki zahtevajo precej procesorskega časa in s tem upočasnjevalo izvajanje navideznega računalnika. Pri tem načinu hipervizor teče na strojnem nivoju in tako omogoči, da se lahko nespremenjeni gostujoči operacijski sistem izvaja s polno hitrostjo. S strojno podprto virtualizacijo je sama virtualizacija dobila velik zagon in je postala ena izmed najbolj prebojnih tehnologij v računalništvu ta hip. 2.3 Tehnologija virtualizacije Ugotovili smo, da se bistvo delovanja virtualizacije skriva v nadzorniku navideznih računalnikov (VMM). Njegove temeljne naloge so: simuliranje delovanja navidezne sistemske opreme; poskrbi za pravilno razporejanje fizičnih sistemskih virov med navideznimi sistemskimi viri; preklaplja delovanje med navideznimi računalniki; v primeru popolne virtualizacije z metodo binarnega prevajanja ustrezno spremeni nevarne x86 ukaze v obliko, ki ne povzroča težav v uporabniškem režimu operacijskega sistema. Tehnično gledano se lahko VMM, odvisno od načina virtualizacije, izvaja na različnih nivojih. Pri popolni virtualizaciji se VMM izvaja kot programski proces znotraj operacijskega sistema, za paravirtualizacijo pa je značilno, da se VMM izvaja neposredno na strojni opremi, brez gostujočega operacijskega sistema. Namreč VMM v tem primeru opravlja tudi osnovne funkcije operacijskega sistema. V osnovi x86 arhitektura ne podpira virtualizacije, saj omogoča aplikacijam in sistemom dostop do procesorja po tako imenovanih zaščitnih obročih (protection rings). To je hierarhično organiziran zaščitni mehanizem, uveden v x86 arhitekturo leta 1982 s procesorji in kasneje leta 1985 dopolnjen s procesorji. Glavna naloga tega mehanizma je, da ščiti sistem v primeru zrušitve aplikacij in jim prepreči direkten dostop do sistemske opreme mimo vednosti jedra operacijskega sistema. Tako ni možno, da bi na primer neka zlonamerna aplikacija sama neposredno dostopala do sistemske opreme in vključila spletno kamero. Zaščitni obroči so poimenovani s številkami, in sicer od 0 do 3. Obroč 0, imenujemo ga sistemski režim (kernel mode), pomeni ekskluziven dostop do procesorja. V tem obroču se izvaja samo jedro operacijskega sistema, ki ima neomejen dostop do fizičnih sistemskih virov. Ostali obroči od 1 do 3 imajo do procesorja omejen dostop Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 12

17 preko vmesnikov, ki jih nudi jedro sistema. V praksi sta v operacijskih sistemih uporabljena samo obroča 0, za izvajanje jedra sistema, in 3, v katerem se izvajajo uporabniške aplikacije. Obroča 1 in 2 sta namenjena za izvajanje gonilnikov naprav, vendar razen že skoraj pozabljenega operacijskega sistema IBM OS/2 teh dveh obročev današnji operacijski sistemi (Windows XP, Windows 2003 Server in Linux) ne uporabljajo. Na sliki 6 vidimo predstavljene obroče dostopov do procesorja x86 arhitekture. Obroč 3 Obroč 2 Obroč 1 Obroč 0 Jedro Gonilniki Gonilniki Aplikacije Slika 6: Zaščitni obroči x86 arhitekture (Vir: Wikipedia, 2008b) Pri popolni virtualizacija se virtualizacijska programska oprema izvaja kot vsaka druga uporabniška aplikacija v obroču 3, kjer ni mogoč direkten dostop do fizične sistemske opreme. VMM v tem primeru simulira delovanje navidezne sistemske opreme, vendar izvajanje nevarnih 17 strojnih ukazov v obroču 3 ni dovoljeno. Kot rezultat tega bi bilo sesutje operacijskega sistema v navideznem računalniku, kakor tudi gostujočega operacijskega sistema. Varno izvajanje teh nevarnih strojnih ukazov je možno v obroču 0, do katerega ima ekskluziven dostop samo jedro gostujočega operacijskega sistema. Sedaj razumemo, zakaj je implementacija VMM za popolno virtualizacijo tako težka naloga za razvijalce in zahteva kompleksno tehniko prestrezanja in binarnega prevajanja nevarnih ukazov znotraj navideznega računalnika v varno obliko. Ta tehnika vključuje tudi tako imenovano kompresijo obročev (ring compression), ki omogoča, da se gostujoči operacijski sistem izvaja v nekoliko deprivilegiranem obroču 1, sam VMM pa se izvaja v obroču 0. Takšen VMM imenujemo tip 2 in ga srečamo pri programski opremi za popolno virtualizacijo. Značilni predstavniki tega tipa so: VMware Workstation, VMware Server, VMware Fusion in Microsoft Virtual PC. Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 13

18 Paravirtualizacija uporablja VMM tipa 1. Zanj je značilno, da se izvaja neposredno na fizični sistemski opremi in izvaja tudi funkcije operacijskega sistema. Dejansko je operacijski sistem v tem primeru VMM. Navidezni računalnik preko hiperklicev komunicira z VMM in ima tako direkten dostop do fizične sistemske opreme. Delovanje navideznega računalnika je tako precej hitreje, vendar je potrebno za uporabo hiperklicev jedro operacijskega sistema ustrezno spremeniti. Takemu VMM pravimo hipervizor (hypervisor) ali nadupravitelj. Tipična predstavnika tega tipa VMM sta VMware ESX in Citrix Xen. Oba temeljita na odprtokodnem operacijskem sistemu Linux. V različnih strokovnih revijah je moč opaziti, da nekateri avtorji enačijo VMM in hipervizor. Kot navajata (Strosar, 2007) in (Armstrong, 2008a), je VMM hkrati tudi hipervizor samo takrat, ko teče neposredno na strojni opremi, torej pri tipu 1. Takšen tip VMM srečamo tudi pri strojno podprti virtualizaciji Pri strojno podprti virtualizaciji se je zgodila sprememba x86 arhitekture procesorjev. Oba vodilna proizvajalca procesorjev Intel in AMD sta dodala nekaj novih strojnih ukazov za podporo virtualizaciji in dodaten varnosti obroč, ki je nivo nižje od obroča 0, v katerem se izvaja jedro operacijskega sistema. Nov obroč so poimenovali s številko -1. Slika 7 prikazuje dodaten varnostni obroč -1, v katerem se izvaja VMM, ki se v tem primeru imenuje hipervizor in ima direkten dostop do fizične sistemske opreme. Strojno podprt način virtualizacije prinaša naslednje prednosti v primerjavi s popolno virtualizacijo in paravirtualizacijo: navidezni računalnik ima preko VMM, ki teče v obroču -1, direkten dostop do fizične sistemske opreme, tako ni več potrebe po binarnem prevajanju problematičnih strojnih ukazov; gostujoči operacijski sistem se izvaja nespremenjen s polno hitrostjo; implemetacija VMM se zelo poenostavi, kar pomeni lažje vzdrževanje virtualizacijske programske opreme in omogoči tudi drugim razvijalcem razvoj lastne rešitve za virtualizacijo. Strojna virtualizacija prinaša tudi določeno slabost. Ta se kaže predvsem iz vidika zlorabe sistema glede na dejstvo, da se VMM izvaja obroč nižje kot jedro operacijskega sistema in ima s tem popolno kontrolno nad samim jedrom. (Strosar, 2007, str ) razlaga, da ima hipervizor v obroču -1 izjemna pooblastila na sistemu in bi bilo odkrivanje zlonamerne kode s takimi pooblastili precej težavno. Grožnjo predstavljajo virtualni korenski kompleti, ki delujejo po načelu spremembe zagonske procedure operacijskega sistema in se tako naložijo pred samim operacijskim sistemom, ki s tem postane gostujoči sistem. Samo po sebi to ni sporno, dokler ne bi te funkcionalnosti izkoriščala zlonamerna koda, ki bi imela s tem popoln nadzor nad sistemom. Prvi tak znan virtualni korenski komplet, ki izkorišča strojno virtualizacijo, se imenuje Morda tabletka (Blue pill). Na koncu pravi, da je natančna analiza pokazala, da se kljub vsemu tako zlonamerno kodo lahko odkrije in tako trenutno virtualni korenski kompleti ne predstavljajo realne grožnje končnim uporabnikom. Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 14

19 Obroč 3 Obroč 2 Obroč 1 Obroč 0 Obroč -1 VMM Jedro Gonilniki Gonilniki Aplikacije Slika 7: Dodaten varnosti obroč -1 Omenili smo, da je mogoče v navideznemu računalniku uporabljati drugo sistemsko opremo kot je na voljo na fizičnem računalniku. Tako lahko gostujoči operacijski sistem deluje na navideznem SCSII trdem disku, čeprav ta sploh ne obstaja na fizičnem računalniku. Razlago, kako je to mogoče, podaja (Kodek, 2008, str ). Delitev računalnika na njegov fizični del, ki mu pravimo strojna oprema (hardware), in njegov programski del (software), je v računalništvu močno prisotna. Delitev na vsebino in njeno fizično predstavitev, v našem primeru na programe in digitalno elektroniko, je pravzaprav nekaj samoumevnega in jo poznamo tudi pri vrsti drugih področij; npr. vsebina knjige in knjiga kot fizični papir, vsebina filma in film kot fizični trak, itd. Osnovno ozadje zanjo je želja po osredotočenju na bistveno, tako da začasno zanemarimo nepomembne podrobnosti. To omogoča spremeniti zapleteno stvar v nekaj, kar je lažje razumljivo. Vendar je pri računalnikih ta delitev kljub temu nekaj posebnega. Ta posebnost je v tem, da meja med strojnim delom in programskim delom računalnika ni trdna in jo lahko premikamo, kar za druge delitve te vrste ne velja. Drugače povedano, vsak nivo računalnika lahko realiziramo tako strojno kot tudi programsko. Za marsikoga bo ta trditev morda presenetljiva, ker je videti samoumevno, da mora biti vsaj nivo digitalne elektronike (logična vrata in flipflopi) realiziran strojno. Vendar to ni nujno. Razumeti je potrebno, da so osnovni principi delovanja računalnikov v veliki meri neodvisni od načina realizacije. Veliko današnjih uporabnikov računalnikov sploh ne ve natančno, kaj od tistega, kar delajo, opravlja strojna oprema in kaj programska oprema. Težko pa bi rekli, da bi s poznavanjem takih podrobnosti karkoli pridobili. Na koncu razlage zaključi (Kodek, 2008, str. 78), da je potrebno vedeti, da vse, kar lahko naredimo programsko, lahko naredimo tudi strojno in obratno. Torej, strojna in programska oprema sta ekvivalentni. Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 15

20 2.4 Postavitev navideznega računalnika Na voljo imamo dva načina za postavljanje operacijskega sistema na navideznem računalniku. Ob predpostavki, da imamo nameščeno virtualizacijsko programsko opremo, se prvi način praktično ne razlikuje od postavitve sistema na fizičnem računalniku. Potrebujemo zagonski medij operacijskega sistema, ki ga vstavimo v ustrezen pogon in nato preko virtualizacijskega programa zaženemo navidezni računalnik, ki bo samodejno zagnal namestitev. Od tu naprej namestitev sistema poteka popolnoma enako kot na fizičnem računalniku. Slika 8 prikazuje navidezni računalnik na VMware Workstation 6 virtualizacijskem programu, na katerem se izvaja namestitev Windows XP operacijskega sistema. Gostiteljski sistem je prav tako Windows XP. Slika 8: Namestitev Windows XP na navideznem računalniku Med namestitvijo sistema nas ne sme zmesti korak formatiranja in določanja ustreznih razdelkov (partitions) na trden disku. Zavedati se moramo, da se to dogaja na navideznem trdem disku in da formatiranje le tega nima nobenega vpliva na fizični trdi disk, kljub opozorilu, da bomo s tem zgubili vse podatke, katero se nanaša na navidezni trdi disk. Na tem mestu se jasno pokaže, da je navidezni računalnik popolnoma izoliran in neodvisen od sistema na fizičnem računalniku. Največkrat pa se poslužujemo drugega načina postavitve, in sicer pretvorbe fizičnega računalnika v navideznega. V praksi si enostavno ne moremo privoščiti, da bi tako kompleksne strežnike kot so domenski strežnik, poštni strežnik, spletni strežnik, itd. ponovno nameščali povsem od začetka. Največji problem pri tem je, da bi težko v nekem doglednem času ponovno postavili popolnoma identičen sistem z Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 16

21 vsemi nastavitvami. Rešitev za to so orodja za pretvorbo fizičnega računalnika v navideznega, ki delujejo po sistemu kloniranja in nameščanja gonilnikov navidezne sistemske opreme. Kot rezultat pretvorbe je popolnoma identičen sistem na navideznem računalniku. Proces pretvorbe bomo podrobneje opisali v poglavju Prednosti virtualizacije Informatika je postala strateški steber poslovanja, zato poslovne funkcije od svojih informacijskih organizacij zahtevajo vedno bolj dovršene rešitve in zmožnosti, ki dosledno podpirajo poslovanje. Hkrati od njih zahtevajo stalen razvoj novih funkcionalnosti, ki ga zavirajo predvsem visoki stroški in čas, porabljen za vzdrževanje obstoječih sistemov in aplikacij. V IT oddelkih so se s temi izzivi do sedaj spopadali z organizacijskimi in tehnološkimi pristopi, ki pa niso dovolj učinkoviti. V zadnjih letih je v oddelke IT prodrla ideja virtualizacije, ki bistveno poenostavlja obvladovanje sistemov v različnih informacijskih okoljih. (Kušar, 2008, str. 40) navaja, da virtualizacija organizacijam odpira tri glavna področja izboljšav. To so: znižanje celotnih stroškov za IT, povečanje prožnosti IT infrastrukture ter oblikovanje kakovostnih IT storitev z obvladljivo razpoložljivostjo. Informacijske organizacije vedno bolj izkoriščajo zmožnosti virtualizacije pri zagotavljanju neprekinjenega poslovanja in okrevanja v primeru katastrofe, konsolidacije strežnikov, zmanjšanju izpadov ter znižanju stroškov sistemskega skrbništva. Poleg zniževanja stroškov za strojno opremo in stroškov dela virtualizacija prinaša številne prednosti, ki omogočajo IT oddelkom izboljšanje njihovega poslanstva. Med pridobitvami so tudi večja varnost zaradi centralizacije IT okolja, boljše obvladovanje informacijskih storitev, bistveno boljša izkoriščenost strojne opreme ter enostavnejše upravljanje lastniških sistemov. Virtualizacija je tako danes ena glavnih tehnoloških rešitev za skrajšanje časa povrnitve naložb ter znižanje skupnih stroškov lastništva in porabe energije za informacijske tehnologije. Na koncu podaja konkretne številke, in sicer od 50 do 70 odstotkov večja izkoriščenost stroje opreme, do 40 odstotkov znižanja stroškov za strojno opremo in od 50 do 70 odstotkov nižji operativni stroški. Podobno (Martinčič, 2008, str. 29) konkretno navaja, da z virtualizacijo računalniških sistemov povečamo izrabo današnje po večini neizkoriščene strojne opreme do 70 odstotkov, skoraj za polovico zmanjšamo stroške strojne in programske opreme ter do 70 odstotkov zmanjšamo operativne stroške. Obenem pa pridobimo skoraj brezplačno in takojšno strojno neodvisno ponovljivost in obnovljivost sistema. To je pa ena izmed ključnih prednosti v primeri katastrofe in nerazpoložljivosti informacijske infrastrukture. Največji razvijalec in ponudnik rešitev za virtualizacijo podjetje VMware posebej izpostavlja problem velike porabe energije v IT organizacijah. Konkretno navaja izsledke analitične družbe IDC (VMware, 2008b), ki pravi, da bodo stroški celoletne energije, ki jo porabi strežnik, kmalu prerasli nabavni strošek samega strežnika. Pri tem poudarja, da je večina današnjih strežnikov in delovnih postaj v uporabi samo od 8 do 15 odstotkov časa njihovega delovanja. VMware tako navaja, da lahko Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 17

22 podjetje z uvedbo celovite virtualizacije prihrani od 80 do 90 odstotkov energije in s tem posledično pomaga zmanjševati onesnaževanje okolja s CO 2. Tako lahko z virtualizacijo konkretno pomagamo ohranjati okolje in preprečevati velike podnebne spremembe, kar je danes izrazit problem globalne družbe. 3 OBSTOJEČE STANJE 3.1 Opis problemskega stanja V Agilent timu v HSL smo identificirali problem zagotavljanja razpoložljivosti ključne informacijske infrastrukture, na kateri temeljijo naši vsakodnevni poslovni procesi, v primeru katastrofe. Pogodbeno smo vezani zagotavljati 15-urno neprekinjeno tehnično podporo strankam. Hkrati razvijamo tudi različne naročene aplikacije, za kar potrebujemo neprekinjeno VPN povezavo do strežnikov z izvorno kodo, ki se nahajajo pri partnerski organizaciji Agilent. Kot ključno informacijsko infrastrukturo smo opredelili domenski strežnik, poštni strežnik, NAT usmerjevalnik in lokalni ClearCase strežnik z izvorno kodo. V primeru katastrofe na enem ali več od omenjenih strežnikov ne moremo več zagotavljati pogodbenih obveznosti do partnerske organizacije. Iz izkušenj vemo, da je popolno okrevanje po katastrofi zaradi strojne ali programske okvare dolgotrajno in se lahko zavleče na več dni. Ugotovili smo, da zaradi kompleksne konfiguracije ključnih strežnikov ne moremo zagotoviti popolnoma enake konfiguracije v razumnem času, kar je iz poslovnega vidika nesprejemljivo. Slika 9 prikazuje vzroke in posledice zaradi predolgega časa nerazpoložljivosti ključne informacijske infrastrukture. Za možne vzroke katastrofe smo opredeli: strojno okvaro na strežniku, katere vzrok je lahko tovarniška napaka, starost in iztrošenost opreme ter električna prenapetost zaradi človeškega faktorja ali sunka strele; onesposobitev sistemske programske opreme na strežniku, katere vzrok je zlonamerno dejanje ali posledica računalniškega virusa. Naštetim vzrokom za katastrofo se v praksi ne moremo izogniti in dejansko je samo vprašanje časa, kdaj se bodo zgodili. V takih primerih je ključnega pomena, da lahko v najkrajšem možnem času vrnemo računalniški sistem v takšno stanje, kot je bilo pred katastrofo. Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 18

23 Neučinkovit in nepreizkušen načrt okrevanja po katastrofi Nepopolen prenos znanja na novega administratorja Neznanje, napake pri delu Neobstoj enako konfiguriranih in sinhroniziranih nadomestnih strežnikov Nepololno arhiviranje ključnih sistemskih nastavitev in podatkov Človeški faktor Čas nerazpoložljivosti ključne informacijske infrastrukture v primeru katastrofe je predolg Nedostopnost strežnikov z izvorno kodo Nedostopnost elektronske pošte Zamujanje z razvojem in dostavo naročenih aplikacij Prekinitev nudenja podpore strankam Nezadovoljstvo stranke Izguba posla Univerza v Mariboru - Fakulteta za organizacijske vede Slika 9: Prikaz vzrokov in posledic problemskega stanja Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 19

24 3.2 Kritična analiza Obstoječi načrt za okrevanje po katastrofi ni učinkovit in v praksi nepreizkušen. Predvideva ponovno postavitev in konfiguracijo sistema od samega začetka, kar v praksi zahteva precej časa in izkušenega sistemskega administratorja. Nadomestnih in enako konfiguriranih strežnikov, ki bi lahko takoj nadomestili izpadel strežnik, nimamo predvsem zaradi dodatnih stroškov strojne opreme, vzdrževanja in pomanjkanja prostora. Ključne poslovne podatke imamo ustrezno dnevno arhivirane na varnostnih trakovih s programom HP Data Protector 5.5. Hkrati arhiviramo tudi sistemsko konfiguracijo (Active Directory in Windows Registry) na domenskem in poštnem strežniku. Vendar se je v praksi izkazalo, da so ti sistemski podatki uporabni zgolj v primeru obnovitve sistema, na katerem se je dejansko zgodila katastrofa. To pa v primeru strojne okvare trdega diska ali osnovne plošče ne zadostuje za povrnitev prejšnjega stanja. Na sistemu, postavljenem na novi strojni opremi, so ti sistemski podatki neuporabni. Zaradi kompleksne konfiguracije domenskega in poštnega strežnika ter NAT usmerjevalnika je v praksi težko zagotoviti popolnoma enako stanje, kakršno je bilo pred katastrofo. To zahteva veliko izkušenj in znanja, katerega pa v našem timu nimamo dovolj, ker je skrb za IT infrastrukturo sekundarna naloga razvojnega inženirja. Vloga IT administratorja se je zaradi fluktuacije znotraj podjetja večkrat prenesla na drugega inženirja. Kot rezultat tega je izguba praktičnega znanja in izkušenj o postavitvi informacijske infrastrukture, čeprav so ključne stvari dokumentirane. Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 20

25 4 PREDLAGANA REŠITEV 4.1 Opis rešitve Ugotovili smo, da je v primeru katastrofe čas nerazpoložljivosti ključne informacijske infrastrukture predolg. Glavni razlog za to je kompleksna ponovna namestitev in konfiguracija strežnikov, kar zahteva trenutni načrt okrevanja. Kot rešitev predlagamo prenos vseh ključnih strežnikov v okolje navideznih računalnikov s VMware Converter 3 orodjem za pretvorbo fizičnega računalnika v navideznega. Pretvorili bomo naslednje strežnike: domenski strežnik, na katerem teče Microsoft Windows 2003 Standard Server; poštni strežnik na, katerem teče Microsoft Exchange 2003; NAT usmerjevalnik, na katerem teče Microsoft Windows 2000 Advanced Server; strežnik z izvorno kodo, na katerem teče Rational ClearCase; FTP strežnik za sinhronizacijo strežnika z izvorno kodo. Navidezni računalniki se bodo nahajali na zmogljivem strežniku HP ProLiant ML350 s procesorjem Intel Xeon 3.0 GHz, 3 GB delovnega pomnilnika in 500 GB velikem trdem disku. S tem bomo nadomestili pet strežnikov v poprečju starih 9 let. Na strežniku, ki je bil do sedaj slabo izkoriščen, saj je služil le kot datotečni strežnik z izvorno kodo, bomo namestili VMware Workstation 6 programsko opremo, ki deluje po principu popolne virtualizacije. VMM, ki bo v našem primeru tipa 2, potrebuje za svoje delovanje gostujoči operacijski sistem, ki bo v našem primeru Microsoft Windows XP SP2. Vsi navidezni računalniki bodo dnevno arhivirani v sladu s pravili podjetja s programom HP Data Protector. V poglavju 2 smo navedli, da so navidezni računalniki na fizičnem trdem disku enkapsulirani v nekaj datotekah, s čimer je arhiviranje zelo preprosto. Zaradi strojne neodvisnosti je povrnitev vseh navideznih računalnikov iz varnostnih trakov možna na katerikoli strežnik in kar je najvažneje, postopek popolne povrnitve je zelo preprost in končan v nekaj minutah. To pa bo rešilo problem predolgega časa nerazpopložljivosti ključne informacijske infrastrukture v primeru katastrofe. Poleg tega pa bomo lahko izkoristili tudi prednost takojšne povrnitve sistema, ki ga nudi okolje navideznega računalnika. To je zelo uporabno v primeru dodajanja novih aplikacij ali spreminjanja sistemske konfiguracije, ki lahko negativno vplivajo na samo delovanje sistema. V takih primerih lahko v trenutku povrnemo prejšnje delujoče stanje. Za samodejni zagon navideznih računalnikov bomo razvili prototipno programsko rešitev, ki bo ob zagonu gostujočega operacijskega sistema na fizičnem računalniku samodejno pognala izbrane navidezne računalnike. S tem ne bo potrebno IT administratorju skrbeti, ali so vklopljeni vsi navidezni računalniki. Iz prakse vemo, da se Windows operacijski sistemi po namestitvi kritičnih popravkov sami ponovno poženejo in s tem avtomatično izklopijo vse navidezne računalnike, ki tečejo na gostujočem sistemu. Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 21

26 4.2 Uporabljena orodja Predstavili bomo lastnosti orodij, potrebnih za realizacijo predlagane rešitve VMware Converter 3 V podpoglavju 2.4 smo omenili, da je v praksi največkrat uporabljen način za postavitev navideznega računalnika migracija obstoječega sistema na fizičnem računalniku v navideznega. To nam omogoča orodje VMware Converter 3, ki je močno orodje za pretvorbo fizičnega računalnika v navideznega in konfiguracijo navidezne sistemske opreme. Poleg tega zna pretvoriti slike diskov (disk images), narejenih s programi za kloniranje trdih diskov v navidezni računalnik, in pretvoriti datoteke navideznih računalnikov drugih proizvajalcev v enega od formatov VMware navideznega računalnika. Slika 10 prikazuje možne izvore in cilje orodja VMware converter. Potrebno je poudariti, da je cilj vedno eden od formatov navideznega računalnika, ki ga podpirajo produkti za virtualizacijo podjetja VMware. izvor cilj ESX Server 3.x gostitelj fizični računalniki navidezni računalnik ESX Server 2.5.x gostitelj navidezni računalniki Vmware Converter navidezni računalnik Workstation 6 VMware Fusion VMware Server 2 navidezni računalnik slike diskov *.tib *.vmc *.sv2i *.spf Workstation 5 VMware Player VMware Server 1 navidezni računalnik Workstation 4 GSX Server navidezni računalnik Slika 10: izvori in možni cilji pretvorbe (vir: VMware Inc., 2007, str. 10) Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 22

27 VMware Converter orodje opravi postopek pretvorbe v dveh korakih. Najprej s postopkom kloniranja opravi kopijo vsebine diska in nato izvede sistemsko konfiguracijo, s katero prilagodi navidezni računalnik tako, da bo deloval z navidezno sistemsko opremo. Kloniranje je proces izdelave natančne kopije vsebine fizičnega diska. Izhodni rezultat kloniranja je navidezni disk, shranjen na ločenem pomnilniškem mediju, ki ga moramo zagotoviti, preden začnemo postopek pretvorbe. Potrebno je vedeti, da ni možno shraniti rezultata na disk, katerega pretvarjamo. Proces sistemske konfiguracije pripravi sistem na pretvorjenem navideznem disku tako, da se lahko zažene z navidezno sistemsko opremo. V praksi to pomeni, da se na navideznem računalniku namestijo VMware orodja (VMware Tools), ki vsebujejo gonilnike za navidezno sistemsko opremo. Proces pretvorbe ni destruktiven proces, tako da lahko fizični računalnik takoj po pretvorbi normalno uporabljamo. V praksi ponavadi fizičnega računalnika ne uporabljamo več, vendar se je kljub temu potrebno zavedati, da sta fizični in navidezni računalnik klona, sicer z drugačno sistemsko opremo, vendar imata nastavljen isti IP naslov, ime in varnostno identifikacijo (SID). Tako ne smemo poganjati obeh računalnikov hkrati na istem omrežju brez predhodnih sprememb identitete. Takoj po pretvorbi in sistemski konfiguraciji je navidezni računalnik pripravljen za delo. Navidezni računalnik ima po pretvorbi naslednje spremembe sistemske opreme, ne glede na izvorno fizično sistemsko opremo: model CPE in serijska številka se lahko razlikujeta. To je odvisno od fizične CPE, na kateri se izvaja navidezni računalnik; mrežna kartica ima drugačen MAC naslov in je tipa AMD PCNet ali VMXnet; grafična kartica je tipa VMware SVGA; navidezni trdi disk ima drugačno serijsko številko in oznako; kontrolniki za disk so drugačnega tipa. Zgodi se lahko, da po pretvorbi neka aplikacija ne deluje več pravilno, če je njeno delovanje vezano na določen tip strojne opreme. V praksi so to v večini primerov specializirane aplikacije za obdelovanje 3D grafike. Omenili smo, da proces pretvorbe poteka v dveh korakih, in sicer kloniranje in sistemska konfiguracija. VMware Converter orodje pozna dva načina kloniranja. Prvi način izvedemo na daljavo preko omrežja pri delujočem sistemu (remote hot cloning), pri drugem načinu (cold cloning) pa potrebujemo poseben zagonski medij, s katerim zaženemo računalnik in VMware Converter orodje, ki se nahaja na tem mediju. V praksi se oba načina ne razlikujeta bistveno med seboj. Razlika je v tem, da lahko pri prvem načinu hkrati izvajamo več pretvorb na daljavo, za kar potrebujemo pomožen računalnik, preko katerega izvajamo in kontroliramo pretvorbo na daljavo. Sistemska konfiguracija pa poteka pri obeh načinih enako. Trenutna različica VMware Converter 3 podpira naslednje operacijske sisteme: Windows NT SP6; Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 23

28 Windows 2000; Windows bitna in 64 bitna različica; Windows XP Professional 32 bitna in 64 bitna različica. Odprtokodni operacijski sistem Linux trenutno ni podprt. Možno pa je izvajanje navideznega računalnika na Linux sistemu z različico VMware Workstation aplikacije za Linux. Slika 11 prikazuje pretvorbo na daljavo. Na pomožnem računalniki namestimo VMware Converter orodje in se nato preko TCP/IP protokola povežemo na delujoč izvorni računalnik, katerega bomo pretvorili v navideznega. Pri tem se na izvornem računalniku namesti poseben agent, ki med pretvorbo pošilja ustrezne povratne informacije pomožnemu računalniku. Klonirana vsebina fizičnega trdega diska se prenese na ciljni računalnik v oblike ene datoteke, ki kasneje postane s procesom sistemske konfiguracije navidezni trdi disk, s katerega se zažene navidezni računalnik. Po pretvorbi se lahko datoteke navideznega računalnika kopirajo na poljuben računalnik. pomožni računalnik namestitev agenta ustvarjanje navideznega računalnika agent izvorni fizični računalnik omrežje ciljni računalnik VM kloniranje diska sistemska konfiguracija Slika 11: pretvorba na daljavo (vir: VMware Inc., 2007, str. 11) Na sliki 12 vidimo pretvorbo s pomočjo VMware zagonskega medija, ki je del plačljive distribucije. V tem primeru ne rabimo pomožnega računalnika, saj se aplikacija za pretvorbo med zagonom naloži neposredno v delovni pomnilnik brez instalacije na sam sistem. Pri tem načinu tudi ni potrebno namestiti agenta za pretvorbo. V drugih pogledih se ta način ne razlikuje od pretvorbe na daljavo. Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 24

29 izvorni fizični računalnik omrežje ciljni računalnik Ustvarjanje navideznega računalnika zagonski medij kloniranje diska VM sistemska konfiguracija Slika 12: pretvorba z zagonskim medijem (vir: VMware Inc., 2007, str. 13) VMware VIX API VIX API je zbirka objektno orientiranih programskih vmesnikov, ki omogočajo programsko manipulacijo navideznega računalnika iz gostujočega sistema. Zbirka nudi bogat nabor funkcij, ki jih lahko uporabljamo v programskih jezikih C, PERL in Visual Basic, in sicer na operacijskem sistemu Windows in Linux. Na gostujoči sistem se namestijo skupaj z virtualizacijsko programsko opremo VMware Workstation in VMware Server. V glavni meri so programski vmesniki namenjeni programerjem, da razvijejo programsko rešitev, s katero se upravlja navidezni računalnik po specifičnih zahtevah uporabnikov Microsoft Visual Basic 6 in Visual C++ 6 Odločili smo se, da bomo za razvoj prototipa programske rešitve uporabili integrirani razvojni orodji (IDE, Integrated Development Environment) Visual Basic 6 in Visual C++ 6, ki sta del Microsoft Visual Studio 6 razvojnega paketa. Med programerji je Visual Basic zelo priljubljeno programersko orodje, saj omogoča na preprost in hiter način izgradnjo Windows aplikacij. Programski jezik je objektno orientiran s koreninami v BASIC jeziku. Samo programiranje temelji na risanju grafičnega uporabniškega vmesnika in pisanju dogodkovno odzivnih programskih procedur za posamezne gradnike. Njegovi začetki segajo v leto 1991, ko je podjetje Microsoft dalo na trg prvo različico. Visual C++ velja za priljubljeno programersko orodje med izkušenimi programerji, saj omogoča reševanje najbolj zahtevnih programerskih nalog. Z njim je moč prevesti objektno orientirano programsko kodo v jeziku C++, kot tudi v proceduralnem jeziku C. V diplomskem delu ga bomo uporabili za izgradnjo dinamično povezane knjižnice (DLL, Dynamic-link library) z VIX programskim vmesnikom. Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 25

30 4.2.4 Microsoft XML in DOM razčlenjevalnik kode (parser) XML (Extensible Markup Language) je razširljiv označevalni jezik, razvit leta 1996 na mednarodnem inštitutu za standardizacijo spletnih strani (W3C, World Wide Web Consortium). Sam jezik je zelo podoben spletnemu jeziku HTML. Namenjen je strukturiranju, shranjevanju in izmenjevanju podatkov med aplikacijami v medmrežju ali na lokalnem sistemu. Z njim lahko opisujemo katerokoli vrsto podatkov na različnih področjih, kot na primer konfiguracijo programske opreme, finančno poročilo, matematične formule, opis knjig itd. V primerjavi z jezikom HTML, XML nima predefiniranih oznak (tags). Te si v skladu s pravili izbere sam pisec XML dokumenta. To pomeni, da je XML samoopisljiv jezik, s čimer naj bi uporabnik XML dokumenta takoj dobil občutek, kaj pomenijo podatki v njem. Na sliki 13 je prikazan preprost XML dokument. Oznake so obarvane rjavo, katere jasno izražajo pomen dokumenta, in sicer Gregor pošilja Luki pismo z vsebino: "Zdravo, to je moje diplomsko delo." Slika 13: Primer XML dokumenta XML dokumenti so navadne tekstovne datoteke. V programskih jezikih jih lahko beremo s sekvenčnim načinom, kar je zelo nepraktično in neučinkovito posebej v primerih, ko dinamično dodajamo ali brišemo vsebino. Za branje XML dokumentov se v praksi uporablja XML razčlenjevalnik kode (parser). Odločili smo se, da bomo uporabili Microsoft DOM (Document Object Model) razčlenjevalnik za XML dokumente. Njegova prednost je, da prebere XML dokument v pomnilnik v obliki drevesne strukture. Vsaka oznaka je predstavljena kot svoje vozlišče (node). Oznake prejemnik, pošiljatelj in vsebina na sliki 13 so vozlišča. Oznaka pismo predstavlja korensko vozlišče, ki je nadrejeno vsem vozliščem in se lahko pojavi samo enkrat. Vsako vozlišče ima lahko več podrejenih vozlišč. S pomočjo metod, ki jih nudi DOM razčlenjevalnik, je branje in pisanje XML datotek zelo enostavno, saj DOM razčlenjevalnik na podlagi podane oznake samodejno najde ustrezno mesto v XML dokumentu. To programerju močno olajša branje in pisanje XML dokumenta. Za pravilno delovanje programa je ključnega pomena, da je XML dokument strukturno pravilen, v nasprotnem primeru se program nepričakovano konča z napako. Za preverjanje veljavnosti XML dokumenta pred samim procesiranjem imamo na voljo preprost jezik za opis strukture dokumenta DTD (Document Type Definitions). Z njegovo pomočjo v razširjeni Backus Naur obliki (EBNF, Extended Backus-Naur Form) opišemo pričakovano strukturo XML dokumenta. Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 26

31 5 PRETVORBA FIZIČNEGA RAČUNALNIKA V NAVIDEZNEGA Odločili smo se, da bomo za pretvorbo vseh fizičnih strežnikov uporabili način pretvorbe na daljavo, ker imamo v timu že veljavno licenco za virtualizacijski program VMware Workstation 6. Za način pretvorbe z zagonskim medijem bi bilo potrebno nabaviti dodatno licenco. Kot dodatno prednost nam izbrani način iz pomožnega računalnika omogoča pretvorbo več strežnikov hkrati. Potek pretvorbe fizičnega računalnika v navideznega bo enak za vse strežnike. V nadaljevanju bomo predstavili proces pretvorbe na primeru domenskega strežnika. Na podlagi tega procesa bomo pretvorili tudi vse ostale strežnike, ki smo jih opredelili v poglavju Priprava na pretvorbo Pred pretvorbo moramo zagotoviti, da bodo izvorni, pomožni in ciljni računalnik povezani v skupno omrežje in da bodo na izvornem računalniku odprta vrata (port) 445 ter 139. V nasprotnem primeru VMware Converter orodje ne more dostopati nanj. Na izvornem računalniku, katerega bomo pretvorili v navideznega, ne sme biti v času pretvorbe prijavljen nihče od uporabnikov, razen uporabnik pomožnega računalnika, prav tako ne sme na njem teči nobena aplikacija. V nasprotnem primeru se pretvorba lahko končna neuspešno z napako. Odločili smo se, da bomo pretvorbe fizičnih računalnikov izvedli na nedelovni dan konec tedna, saj bo lokalno omrežje med kloniranjem in kopiranjem vsebine trdega diska izvornega računalnika zelo obremenjeno, kar bi zaposlenim v timu oteževalo normalno delo Pomožni računalnik Za pomožni računalnik smo izbrali navidezni računalnik, ki je tekel na ciljnem računalniku. Dodelili smo mu 1024 MB delovnega pomnilnika, 10 GB trdega diska ter nastavili statični IP naslov Na njem smo namestili operacijski sistem Windows XP SP2, ga dodali v domeno HLSAGT in nato nanj kot domenski administrator namestili VMware Convereter 3 aplikacijo. Namestitev smo izvedli po naslednjih korakih: zagnali smo namestitveno datoteko aplikacije VMware-converter exe; v oknu z licenčnimi pravili smo pritisnili gumb Naprej (Next). izbrali smo privzeto namestitveno pot "C:\Program Files\VMware\VMware Converter"; pri izbiri tipa namestitve smo izbrali možnost Po meri (Custom); izbrali smo obe komponenti, in sicer Converter Manager in Converter Agent; na koncu postopka konfiguracije smo izbrali Namesti (Install). Namestitveni program je glede na izbrane možnosti namestil VMware Converter orodje na pomožni računalnik; Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 27

32 po namestitvi je bilo potrebno ponovno zagnati sistem. Po opravljeni namestitvi je bil pomožni računalnik pripravljen za izvedbo pretvorbe Ciljni računalnik Za ciljni računalnik smo izbrali mojo delovno postajo, na katero je priključen zunanji USB trdi disk velikosti 500 GB, na katerem se bodo med procesom pretvorbe ustvarile datoteke navideznih računalnikov. Ocenili smo, da bomo za pretvorbo vseh fizičnih računalnikov potrebovali približno 300 GB prostega prostora na trdem disku. Kot smo že omenili, je na ciljnem računalniku tudi navidezni pomožni računalnik, preko katerega bomo izvajali in nadzorovali proces pretvorbe. Ciljni računalnik ima naslednjo konfiguracijo: procesor Intel Pentium 4 3 Ghz; 2 GB delovnega spomina; 320 GB lokalnega trdega diska; mrežno kartico z IP naslovom ; nameščen operacijski sistem Windows XP SP Izvedba pretvorbe Kot je razvidno v podpoglavju 4.2.1, se proces pretvorbe opravi v dveh korakih, in sicer kloniranje vsebine izvornega računalnika in konfiguracije navidezne sistemske opreme Kloniranje vsebine izvornega računalnika Na pomožnem računalniku zaženemo VMware Converter 3 orodje. Prikaže se osrednje okno aplikacije. Razdeljeno je na dva dela, in sicer opravilni pogled (task view), v katerem so vidne trenutno izvajajoče se pretvorbe in pogled s podrobnostmi (details view), kateri prikazuje povzetke (summary) in napredek posameznih opravil (task progress) pretvorbe. Slika 14 prikazuje primer osrednjega okna aplikacije. V opravilnem pogledu lahko vidimo status posameznih opravil. Vsako opravilo ima naslednje lastnosti: enolično številko (stolpec ID); opis opravila (stolpec Description); izvor pretvorbe (stolpec Source), to je lahko IP naslov računalnika ali pot datoteke navideznega računalnika; ciljna pot pretvorbe (stolpec Destination), to je lokacija na ciljnem računalniku; napredek procesa pretvorbe, izražen v odstotkih (stolpec Progress); status pretvorbe (stolpec Status), obstajajo naslednji statusi: v teku (In Progress), v čakalni vrsti (Queued), neuspel (Failed), dokončan (Completed), preklican (Cancelled); začetni čas; Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 28

33 končni čas. Slika 14: Osrednje okno aplikacije VMware Converter 3 (Vir: VMware Inc.,2007, str. 55) Kloniranje vsebine trdega diska začnemo tako, da v meniju datoteka (File) izberemo novo (New) in nato možnost uvoz (Import). Prikaže se okno, v katerem izberemo vir, ki ga bomo pretvorili v navidezni računalnik. Na sliki 15 je razvidno, da imamo na voljo tri možnosti. Izberemo fizični računalnik (Physical computer). Ostali dve možnosti omogočata pretvorbo navideznega računalnika drugega proizvajalca, diskovne slike (disk image) ali starejšega ESX strežnika v enega novejših virtualizacijskih produktov podjetja VMware. Slika 15: Izbor izvora pretvorbe Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 29

34 IP naslov izvornega računalnika vpišemo v okno, prikazano na sliki 16. Vpisati moramo uporabniško ime (user name) in geslo (password) uporabnika, ki ima administratorske pravice na izvornem računalniku. V našem primeru smo se prijavili z domenskim administratorjem, ki ima na vseh računalnikih, priključenih v domeno, pravice lokalnega administratorja. To je pomembno dejstvo, ki ga moramo upoštevati, ker v nasprotnem primeru se pretvorba konča neuspešno. Uporabnik z omejenimi pravicami namreč nima polnega dostopa do sistemskih virov. Slika 16: Izbira fizičnega računalnika Po uspešni identifikaciji se prikaže okno s podatki o trdem disku. V našem primeru na sliki 17 ima izvorni računalnik en fizični trdi disk velikosti 17 GB. Od tega je dejansko zasedenega 8.8 GB prostora. V izvlečnem meniju imamo na voljo več možnosti: obdržimo lahko prvotno velikost diska z izbiro možnosti ohranitev velikosti (Maintain Size); zmanjšamo velikost diska na minimalno možno velikost, ki je preračunana na podlagi velikosti dejansko zasedenega prostora; na voljo imamo specifikacijo velikosti diska po želji, izraženi v GB ali MB. Odločili smo se, da ohranimo prvotno velikost diska. Kot dodatno imamo na voljo možnost, da med pretvorbo prezremo dve sistemski datoteki za hibernacijo (hibernate file) in ostranjevalno datoteko (page file). Ti dve datoteki sta ponavadi precej veliki in ne vsebujeta pomembnih informacij za samo delovanje sistema. S tem pohitrimo sam proces kloniranja in kopiranja slike diska (disk image) na ciljni računalnik. Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 30

35 Slika 17: Izbor velikosti trdega diska na izvornem računalniku Po potrditvi izbora velikosti trdega diska se na izvornem računalniku namesti Converter Agent, ki poskrbi za kloniranje in kopiranje vsebine trdega diska na ciljni računalnik v obliki datoteke navideznega trdega diska. Po končani pretvorbi se Converter Agent samodejno odstrani. To se zgodi tudi v primeru neuspele pretvorbe. V naslednjem koraku, prikazanem na sliki 18, vpišemo IP naslov ciljnega računalnika in lokacijo, na kateri bodo nastale datoteke navideznega računalnika. Zagotoviti moramo, da je ciljna lokacija mrežno priklopljiva (network mountable) in dostopna tako izvornemu računalniku, kakor tudi pomožnemu na katerem se izvaja VMware converter orodje. Hkrati izberemo tudi tip navideznega računalnika. Kot smo predlagali v poglavju 4, smo izbrali najnovejši format programa za popolno virtualizacijo VMware Workstation 6. Slika 18: izbor ciljnega računalnika in tipa navideznega računalnika Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 31

36 Navideznemu trdemu disku lahko določimo takojšnjo dodelitev prostora (Allocate all disk space now) ali pa določimo, da bo velikost naraščala v skladu s porabljenim prostorom na njem, vendar ne več kot je njegova največja določena velikost. V našem primeru je to 17 GB. Seveda moramo na fizičnem računalniku zagotoviti ustrezno količino prostora. Na sliki 19 je razvidno, da smo izbrali možnost postopne rasti navideznega diska (Allow virtual disk to grow), s čimer prihranimo prostor na fizičnem disku. Na voljo imamo tudi možnost razdelitve datoteke navideznega računalnika na več datotek velikosti 2 GB (Split disk into 2 GB files). To v praksi pride prav predvsem pri kopiranju na DVD medij po standardu ISO, ki podpira datoteke v enem kosu do največ 2 GB. Ocenili smo, da to v našem primeru ni potrebno, zato smo to možnost pustili neizbrano. Slika 19: Dodelitev prostora navideznem trdem disku Navideznemu računalniku smo izbrali eno mrežno kartico in določili, da si bo na omrežju začasno delil enak IP naslov kot ciljni fizični računalnik. To smo dosegli z izbiro možnosti NAT v stolpcu mreža (Network). Po končani pretvorbi in konfiguraciji smo navidezni računalnik preselili na strežnik, na katerem se izvajajo vsi navidezni računalniki, vsak s svojim IP naslovom. To smo nastavili tako, da smo izbrali možnost most (Bridge), ki vsakemu navideznemu računalniku dovoljuje direkten dostop do omrežja s svojim IP naslovom. S tem dosežemo, da so navidezni računalniki na omrežju vidni tako kot vsak fizični računalnik. Na voljo je tudi možnost samo gostitelj (Host only), s katero navidezni računalnik izoliramo tako, da je viden samo sistemom, ki se izvajajo na fizičnem računalniku. Tako na omrežju niso vidni. V praksi se to uporablja predvsem v namene testiranja programske opreme, ko ne želimo vplivati na delovanje omrežja. Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 32

37 Slika 20: Nastavitev lastnosti mrežne kartice Naslednji korak prilagoditev gostujočega operacijskega sistema prikazuje slika 21. Izberemo namestitev VMware orodij (VMware Tools). To je skupek storitev (services), ki se izvajajo na navideznem računalniku in prinašajo vrsto pridobitev, kot so: VMware SVGA gonilnik, ki močno izboljša zmogljivost navidezne grafične kartice, kopiranje in prileplenje (copy and paste) datotek ter primi in izpusti (drag and drop) operacijo med gostiteljem in gostom, izboljšana zmogljivost miške, sinhronizacija ure ter delitev datotek med gostiteljem in gostom. V osnovi sistem na navideznem računalniku deluje tudi brez teh orodij, vendar jih je zelo priporočljivo namestiti. Slika 21: Prikrojitev gostiteljskega operacijskega sistema Na voljo imamo tudi možnost prilagoditve identitete navideznega računalnika. V našem primeru smo nadomestili fizični računalnik z navideznim, zato te možnosti Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 33

38 nismo izbrali. Obvezno je potrebno izbrati to možnost v primeru, da je po pretvorbi fizični računalnik še vedno priklopljen v omrežje. Namreč proces kloniranja ustvari popolnoma identično kopijo fizičnega računalnika in s tem bi imeli vrsto težav z delovanjem obeh računalnikov v istem omrežju. Sprememba identitete pomeni določitev novega imena računalnika, vzpostavitev nove varnostne identifikacijske številke (Security ID) in možnost spremembe licenčne številke operacijskega sistema. Zavedati se moramo, da lahko sprememba identitete ključno vpliva na delovanje sistema, predvsem v primeru, ko je delovanje aplikacij in storitev na sistemu odvisno od teh nastavitev. V praksi je znano, da tega ne smemo storiti na domenskem in poštnem strežniku ali na podatkovnih strežnikih. V tem primeru jih odjemalci ne bi več pravilno prepoznali. Slika 22 prikazuje zadnji korak pred začetkom postopka kloniranja. V predpogledu se izpiše IP naslov izvornega računalnika, ime ciljnega računalnika in prilagoditvene spremembe, če smo jih opravili. V našem primeru jih nismo in zato niso prikazane. S pritiskom na gumb končaj (Finish) se začne postopek kloniranja vsebine fizičnega računalnika in kopiranje datotek navideznega računalnika na ciljno lokacijo. Slika 22: Potrditev akcije kloniranja Kloniranje je dolgotrajen postopek in lahko traja tudi več ur. V našem primeru je kloniranje domenskega strežnika in kopiranje datotek na ciljno lokacijo trajalo več kot 5 ur, kar je razvidno iz slike 23. Na samo hitrost postopka vpliva več dejavnikov, in sicer: zmogljivost centralne procesne enote izvornega računalnika; velikost, zasedenost in hitrost trdega diska, ki ga kloniramo; prepustnost in obremenjenost omrežja; hitrost diska na ciljni lokaciji, v našem primeru smo imeli USB zunanji trdi disk, kar je nekoliko upočasnilo kopiranje datotek navideznega računalnika. Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 34

39 Slika 23: Končan postopek kloniranja Na zavihku napredek opravil (Task Progress) na sliki 23 vidimo čas izvedbe posameznih korakov kloniranja. Na voljo imamo tudi več dnevnikov (logs), ki vsebujejo še bolj podrobne informacije. V praksi nam pridejo prav v primeru, ko se kloniranje konča z napako. Tako lahko odkrijemo razlog za to napako in jo hitreje odpravimo. Ko je postopek kloniranja uspešno končan, moramo datoteke navideznega računalnika ustrezno konfigurirati, da se lahko gostujoči operacijski sistem uspešno starta Konfiguracija navidezne sistemske opreme Po kloniranju sistema na fizičnem računalniku je potrebno spremeniti vse sistemske gonilnike na navideznem računalniku. Če tega koraka ne izvedemo, se sistem na navideznem računalniku ne bo zagnal z virtualizacijsko aplikacijo VMware Workstation. Razlog za to je drugačna sistemska oprema, ki jo uporablja navidezni računalnik, ker so po kloniranju na sistemu še vedno gonilniki za fizično sistemsko opremo, kateri se razlikujejo od tistih, ki jih uporablja navidezni računalnik. V poglavju 2 smo podrobno opisali tehnologijo delovanja virtualizacije in sistemske opreme, ki jo uporablja navidezni računalnik. Brez ustreznega pripomočka je to opravilo precej trd oreh, kajti ponavadi sistemske gonilnike namestimo, ko je sistem zagnan. V tem primeru moramo to storiti pri zaustavljenem sistemu. Pri tem nam je v veliko pomoč možnost konfiguracije navidezne sistemske opreme v aplikaciji VMware Converter, ki je časovno veliko manj obsežna v primerjavi s kloniranjem vsebine izvornega računalnika. Izkušnje kažejo, da se konča v nekaj minutah. Postopek konfiguracije navideznega računalnika začnemo tako, da na pomožnem računalniku zaženemo VMware Converter orodje in v meniju datoteka (File) izberemo možnost novo (New) in nato konfiguracija (Configure). V oknu, ki se nam pokaže, izberemo vmx izvršilno datoteko navideznega računalnika. Nahaja se na ciljnem računalniku, zato moramo vpisati tudi ustrezen IP naslov. Kot je razvidno iz slike 24, je to v našem primeru Po potrditvi se aplikacija poveže z Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 35

40 navideznim računalnikom, da bi ugotovila različico operacijskega sistema. Vemo, da so sistemski gonilniki vezani na tip operacijskega sistema, zato je pomembno, da se namestijo pravilni gonilniki. Slika 24: Izbor vmx datoteke za konfiguracijo Ko je zaznavanje operacijskega sistema uspešno zaključeno, se pojavi okno za prilagajanje lastnosti navideznega računalnika. To okno se ne prikaže v primeru, da smo že med postopkom kloniranja namestili VMware orodja (VMware tools) in opravili spremembe identitete računalnika. V našem primeru smo že namestili VMware orodja, identitete pa nismo spremenili, zato se je zopet prikazalo to okno. Tudi sedaj se ne odločimo za spremembe identitete, zato nadaljujemo postopek z izbiro možnosti naprej (Next). Kot zadnje okno se nam pokaže kratek predogled izbranih možnosti konfiguracije, prikazan na sliki 25. Z izborom možnosti Končaj (Finish) se izvede proces konfiguriranja navidezne sistemske opreme. Slika 25: Potrditev akcije konfiguracije Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 36

41 Po končani konfiguraciji je postopek pretvorbe fizičnega računalnika v navideznega končan. S tem je navidezni računalnik pripravljen za uporabo na kateremkoli fizičnem računalniku Intel arhitekture z nameščeno virtualizacijsko aplikacijo VMware Workstation 6. Slika 26 prikazuje končan proces pretvorbe. Opravilo z identifikacijsko številko 3 (stolpec ID) je bilo kloniranje in kopiranje vsebine diska fizičnega računalnika, opravilo s številko 4 pa konfiguracija navidezne sistemske opreme. Slika 26: Končan postopek pretvorbe fizičnega računalnika v navideznega Na levi strani slike 27 je prikazana sistemska oprema fizičnega računalnika, na desni strani pa je prikazana navidezna sistemska oprema po opravljeni konfiguraciji. Vsa ključna sistemska oprema se razlikuje, kar je rezultat virtualizacije s pomočjo tehnike abstrakcije fizične sistemske opreme in simulacije navidezne sistemske opreme. V našem primeru navidezni računalnik uporablja SCII trdi disk, čeprav ta dejansko ni prisoten v fizični obliki. Prav tako uporablja drugačen tip mrežne in grafične kartice, gonilnika za miško, sistemskega nabora za osnovno ploščo itd. Kot smo že izpostavili, virtualizacijski sloj ponuja navideznemu računalniku vedno enak tip sistemske opreme, neodvisno od fizične sistemske opreme, na kateri se izvaja virtualizacija. Tako lahko navidezni računalnik poljubno selimo iz enega fizičnega računalnika na drugega, ne da bi s tem kakorkoli vplivali na delovanje operacijskega sistema na navideznem računalniku. Selitev operacijskega sistema iz enega fizičnega računalnika na drugega z drugačno sistemsko opremo pred prihodom virtualizacije skoraj ni bila mogoča. V praksi je bilo to izvedljivo le, če je bila ključna sistemska oprema kot je sistemski nabor za osnovno ploščo, krmilnik za trdi disk in grafična kartica, podobnega tipa istega proizvajalca. Vendar se je lahko kljub temu zgodilo, da sistem ni deloval stabilno. To je pa v poslovnem okolju nesprejemljivo. Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 37

42 Slika 27: Primerjava sistemske opreme pred in po pretvorbi 5.3 Prikaz procesa pretvorbe Slika 28 prikazuje proces, ki je potreben za pretvorbo fizičnega računalnika v navideznega. Sam proces je neodvisen od izvorne sistemske opreme, vezan pa je na orodje VMware Converter in virtualizacijsko programsko opremo VMware Workstation 6. Proces smo uporabili za pretvorbo vseh strežnikov, naštetih v opisu predlagane rešitve. Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 38

43 Slika 28: Proces pretvorbe fizičnega računalnika v navideznega Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 39

44 6 RAZVOJ PROTOTIPNE PROGRAMSKE REŠITVE S prototipno programsko rešitvijo bomo zagotovili, da se bodo izbrani navidezni računalniki samodejno zagnali, ko se bo zagnal gostiteljski operacijski sistem na fizičnem računalniku. Iz prakse vemo, da se sistem na računalniku največkrat zaustavi zaradi prekinitve dobave električne energije iz različnih razlogov ali pa zaradi ponovnega zagona, kot posledica samodejne namestitve kritičnega popravka. Za pravilno delovanje celotne informacijske infrastrukture omrežja morajo biti ključni strežniki vedno na razpolago. 6.1 Zasnova prototipne rešitve Ker zahteve naročnika, v tem primeru Agilent tima, niso povsem jasne, bomo programsko rešitev razvili kot prototip, ki bo ponujal samodejni zagon navideznih računalnikov, ki smo jih predhodno zbrali. Glavna zahteva naročnika je, da potrebujemo programsko rešitev, ki bo poskrbela, da bodo vsi ključni navidezni računalniki vedno na razpolago. Izvedba in vse ostale tehnične podrobnosti so prepuščene razvijalcu rešitve. Prototip bo možno dopolniti z dodatno funkcionalnostjo, če se bo izkazala potreba za to. Programska rešitev bo sestavljena iz dveh delov. Prvi del bo dinamična knjižnica (v nadaljevanju DLL), napisana v programskem jeziku C, v katerem bo s pomočjo VMware VIX API programskega vmesnika implementiran zagon navideznega računalnika. DLL bo ponujal eno javno funkcijo, ki bo sprejela parameter tipa niz (string), v katerem bo celotna pot do vmx datoteke navideznega računalnika. Funkcija bo vrnila vrednost 100, če se bo navidezni računalnik uspešno zagnal, v primeru neuspešnega zagona pa bo vrnila številko napake. Uspešni zagon pomeni, da so se VMware orodja na navideznem računalniku zagnala brez napake. S tem je navidezni računalnik zagnan in polno funkcionalen. Drugi del bo grafični uporabniški vmesnik (GUI Graphical User Interface), napisan v programskem jeziku Visual Basic 6. Omogočal bo izbor vmx datotek navideznih računalnikov, katerih pot bo shranjena v XML datoteki. Navidezne računalnike bo možno dinamično dodajati in brisati s pomočjo uporabniškega vmesnika. Ob zagonu bo aplikacija s pomočjo XML DOM razčlenjevalnika prebrala XML datoteko in v zbirko (collection) shranila vse poti navideznih računalnikov. Z jezikom za opis strukture dokumenta DTD bomo zagotovili, da se aplikacija ne bo zrušila, če struktura XML dokumenta ne bo pravilna. Prebrane poti in imena navideznih računalnikov bodo v aplikaciji prikazana v drevesni strukturi. Na voljo bo tudi statusno polje, v katerem bo razvidno, ali so se navidezni računalniki zagnali uspešno. Kot vhodni podatek bo aplikacija sprejela parameter "\autostart". To bo pomenilo, da se morajo zagnati vsi navidezni računalniki iz zbirke. Zagon navideznih računalnikov se bo izvedel v zanki s klicem javne funkcije dinamične knjižnice in posredovanjem parametra poti do vmx datoteke. Če bo aplikacija zagnana brez parametra, se bo pokazalo okno z vsemi potmi iz XML datoteke. V namene testiranja in prikaza delovanja prototipa bo na voljo gumb za ročni zagon. Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 40

45 6.2 Programiranje rešitve Dinamična knjižnica in VMware VIX API Ogrodje dinamične knjižnice smo ustvarili v programskem okolju Microsoft Visual C++ 6 s pomočjo čarovnika, ki je prikazan na sliki 29. Knjižnico smo poimenovali vmci.dll Slika 29: Čarovnik za izgradnjo dinamične knjižnice Izbrali smo možnost, da čarovnik ustvari DLL z izvoženim simbolom. To pomeni, da je pripravljen primer javne funkcije, ki je vidna navzven. S tem je programerju olajšana nadaljnja izgradnja DLL. Tukaj nastopi problem, ker je tak DLL uporaben samo z aplikacijo, ki je tudi napisana v Visual C ++ programskem okolju. V našem primeru moramo opraviti še nekaj sprememb, da bo DLL moč klicati tudi iz programskega jezika Visual Basic 6. Kot navaja (Microsoft, 2008a), moramo vse javne funkcije, ki jih želimo klicati iz okolja Visual Basic, opremiti z oznako stdcall, kar pomeni standardni klicni dogovor (standard calling convention). Programski jezik C privzeto kliče funkcije na drugačen način, kot to počne Visual Basic. S stdcall oznako prilagodimo klicanje funkcije v skladu z zahtevami Visual Basic. Glavne značilnosti tega načina so, da se parametri funkcije podajajo od desne proti levi po vrednosti, ker Visual Basic ne pozna kazalcev in prenosa naslova spremenljivke v pomnilniku. int stdcall StartVirtualMachine(char *pvmxpath) { return VM(pVMXpath); } Primer 1: Javna funkcija dinamične knjižnice Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 41

46 Primer 1 prikazuje javno funkcijo StartVirtualMachine s stdcall oznako, ki se kliče iz Visual Basic dela. Kot parameter sprejme pot do vmx datoteke navideznega računalnika. Tip parametra je kazalec na char, v Visual Basic delu pa je parameter podatkovnega tipa string. Visual C++ pozna tako imenovano obremenjevanje (overload) funkcij, zato vsako funkcijo enolično zamaskira, da je funkcije z enakim imenom, a s parametri različnih tipov, moč ločiti med seboj. Naša funkcija je tako vidna Tega Visual Basic ne zna pravilno prebrati, zato moramo ročno pripraviti def datoteko, ki razreši ta problem. Datoteko smo poimenovali vmci.def, postavili v mapo z izvorno kodo in dodali v projekt. C povezovalnik (linker) bo javno funkcijo navzven prikazal z imenom, ki smo ga vnesli v def datoteko in ne bo zamaskiral njenega imena. Tako bo Visual Basic pravilno videl ime funkcije. Na primeru 2 je prikazana vsebina vmci.def datoteke, ki smo jo dodali v projekt. LIBRARY VMCI DESCRIPTION 'A C++ dll that can be called from VB' EXPORTS StartVirtualMachine Primer 2: Vsebina vmci.def datoteke S temi popravki je ogrodje DLL ustrezno pripravljeno. V nadaljevanju bomo dodali klice funkcij iz VIX API zbirke knjižnic, s katerimi bomo na podlagi poti vmx datoteke zagnali navidezni računalnik. Uporabili smo VIX API zbirko različice 1.1.3, ki se namesti skupaj z virtualizacijsko aplikacijo VMware Workstation v mapo "C:\Program Files\VMware\VMware VIX\ws-5". Klici funkcij iz VIX API zbirke knjižnic se nahajajo v funkciji z imenom VM. Najprej moramo vzpostaviti povezavo z gostiteljem, na katerem se nahaja navidezni računalnik. To storimo s klicem funkcije VixHost_Connect, ki vrne ročico (handle) gostitelja. jobhandle = VixHost_Connect(VIX_API_VERSION, CONNTYPE, HOSTNAME, HOSTPORT, USERNAME, PASSWORD, 0, VIX_INVALID_HANDLE, NULL, // *callbackproc, NULL); // *clientdata); Primer 3: Povezava z gostiteljem Vse funkcije za manipulacijo navideznega računalnika so asinhrone, kar pomeni, da se izvajajo v ločeni niti in ko zaključijo svojo nalogo, sprožijo povraten klic. Obstaja Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 42

47 možnost, da dosežemo sinhrono obnašanje s klicem VixJob_Wait funkcije takoj za klicem asinhrone funkcije, kar močno poenostavi programiranje. S to funkcijo dobimo vrnjeno ročico procesa, katero potem uporabimo pri klicu naslednje funkcije. Po uspešni povezavi z gostiteljem in dobljeni ročici odpremo navidezni računalnik s funkcijo VixVM_Open, prikazano na primeru 4. Parameter vmxpath vsebuje pot do vmx datoteke navideznega računalnika. Kot rezultat se prikaže virtualizacijska aplikacija z naloženo vmx datoteko navideznega računalnika. jobhandle = VixVM_Open(hostHandle, vmxpath, NULL, NULL); Primer 4: Odpiranje navideznega računalnika S funkcijo VixVM_PowerOn sprožimo zaganjanje operacijskega sistema na navideznem računalniku. Drugi parameter funkcije VMPOWEROPTIONS ima definirano vrednost VIX_VMPOWEROP_LAUNCH_GUI, kar pomeni, da se bo ob zaganjanju prikazal celoten grafični uporabniški vmesnik. #define VMPOWEROPTIONS VIX_VMPOWEROP_LAUNCH_GUI jobhandle = VixVM_PowerOn(vmHandle, VMPOWEROPTIONS, VIX_INVALID_HANDLE, NULL, NULL); Primer 5: Zaganjanje navideznega računalnika Funkcija VixVM_PowerOn, prikazana v primeru 6, se konča takoj, ko se začne izvajati proces zaganjanja navideznega računalnika, ki lahko traja več minut. To v našem primeru predstavlja problem, ker moramo Visual Basic aplikaciji sporočiti, ali je bili zaganjanje uspešno. Ta problem rešimo s klicem funkcije VixVM_WaitForToolsInGuest, ki sporoči, ali so se VMware orodja na navideznem računalniku zagnala. To je znak, da je bilo zaganjanje navideznega računalnika uspešno. Funkciji moramo podati ročico procesa, v katerem smo zagnali navidezni računalnik in čas čakanja na odziv v sekundah. V primeru, da v definiranem času ne prejme statusa VMware orodij, funkcija vrne napako neuspešnega zaganjanja navideznega računalnika. jobhandle = VixVM_WaitForToolsInGuest(vmHandle, 300, NULL, NULL); Primer 6: Poizvedba za VMware orodji Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 43

48 Ob uspešnem zagonu navideznega računalnika javna funkcija StartVirtualMachine vrne vrednost 100. To vrednost smo uporabili v drugem delu v programskem jeziku Visual Basic. Ko smo končali s programiranjem, smo prevedli programsko kodo DLL z imenom vmci.dll. Za pravilno prevajanje smo na začetku projekta navedli zaglavno datoteko (header file) vix.h, ki vsebuje prototipe in definicije vseh VIX API funkcij in podatkovnih tipov. Na sliki 30 je prikazan del izvorne kode vmci.dll dinamične knjižnice v Visual C++ 6 razvojnem okolju. Na levi strani so prikazane vse datoteke projekta, spodaj v statusnem oknu se vidi, da je bilo prevajanje vmci.dll izvedeno uspešno brez napak. Dinamična knjižnica je s tem končana in pripravljena za uporabo v drugem delu, kjer bomo razvili uporabniški vmesnik Uporabniški vmesnik Slika 30: Uspešno prevedena vmci.dll dinamična knjižnica Za razvoj uporabniškega vmesnika smo uporabili Visual Basic 6 razvojno okolje. Ustvarili smo nov projekt tipa standard exe, ki že vsebuje obrazec (form). Projekt smo poimenovali VMPanel, izvršilno datoteko aplikacije pa VirtualMachines.exe. XML razčlenjevalnik ni standardni del Visual Basic okolja, zato smo ga dodali v oknu z zunanjimi referencami (references), ki se nahaja v meniju projekt (projects). Izbrali samo Microsoft XML razčlenjevalnik različice 2.0, ki je del operacijskega sistema Windows XP SP2. Poleg tega smo dodali še kontrolo za brskanje datotek, s katero je moč izbrati vmx datoteko. Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 44

49 V modulu z imenom mdomcomputer smo dodali deklaracijo javne API funkcije vmci.dll dinamične knjižnice, katero smo ustvari v prvem delu. Primer 7 prikazuje deklaracijo StartVirtualMachine javne funkcije. Prenos parametra strvmxpath tipa niz (string) se opravi po vrednosti, kar smo označili z rezervirano oznako ByVal. S tem lahko funkcijo kličemo v Visual Basic aplikaciji. Private Declare Function StartVirtualMachine Lib "vmci.dll" (ByVal strvmxpath As String) As Integer Primer 7: Deklaracija API funkcije Aplikacija sprejme vhodni parameter "\autostart", ki pomeni takojšen zagon vseh navideznih računalnikov, katerih poti so shranjene v XML datoteki. V primeru, da parametra ne podamo, se pojavi uporabniški vmesnik, preko katerega z gumbom Start VM ročno sprožimo zagon navideznih računalnikov. Primer 8 prikazuje izvorno kodo procedure dogodka load glavnega obrazca. V globalno spremenljivko g_strxmlpath se shrani pot do xml datoteke, nato pa se jo naloži z XML DOM razčlenjevalnikom. Zatem se napolni zbirka (collection) s shranjenimi potmi do vmx datoteke navideznih računalnikov. Private Sub Form_Load() g_strxmlpath = App.Path & "\vm.xml" LoadXMLfile 'fill collection with virtual machine paths FillColl 'get command line paramater If Command$ = "\autostart" Then 'automatically start all VM startvirtualmachines End If End Sub Primer 8: Procedura dogodka load glavnega obrazca aplikacije Na koncu procedure se preveri vhodni parameter in v primeru, da ta vsebuje niz "\autostart", se pokliče funkcija startvirtualmachines, katera s sprehodom skozi zbirko zažene vse navidezne računalnike. Public Sub startvirtualmachines() Dim strvmxpath As Variant For Each strvmxpath In g_vmcoll Debug.Print CStr(strVMXpath) lngstatus = StartVirtualMachine(strVMXpath) Next strvmxpath End Sub Primer 9: Funkcija startvirtualmachines Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 45

50 Na primeru 9 je prikazana izvorna koda funkcije startvirtualmachines, ki se v programskem stavku "For each" sprehodi skozi zbirko (collection) in kliče API funkcijo StartVirtualMachine, realizirano v vmci.dll dinamični knjižnici. Nalaganje XML datoteke v pomnilnik je realizirano v funkciji LoadXMLfile, v kateri se vzpostavi globalna objektna spremenljivka g_objdomcomputers tipa DOMDocument. Omenili smo že, da DOM komponenta prebere XML datoteko v obliki drevesne strukture, tako je močno olajšan dostop do posameznih elementov, do katerih dostopamo z metodo selectsinglenode objekta IXMLDOMElement, do vrednosti posameznih elementov pa z metodo nodetypedvalue objekta XMLDOMNode. Public Sub FillColl() Dim strkey As Long Dim objvmelement As IXMLDOMElement Dim objcomputersroot As IXMLDOMElement Dim objnamenode As IXMLDOMNode Dim strvmxpath As String Set g_vmcoll = Nothing Set objcomputersroot = g_objdomcomputers.documentelement strkey = 0 For Each objvmelement In objcomputersroot.childnodes Set objnamenode = objvmelement.selectsinglenode("path") strvmxpath = objnamenode.nodetypedvalue strkey = strkey + 1 g_vmcoll.add strvmxpath, "v" & strkey Next Set objvmelement = Nothing Set objcomputersroot = Nothing Set objnamenode = Nothing End Sub Primer 10: Funkcija za polnjenje zbirke (collection) Primer 10 prikazuje izvorno kodo za polnjenje zbirke (collection) s potmi do vmx datoteke navideznega računalnika. Z zanko "For each" se sprehodimo skozi celotno drevesno strukturo XML datoteke, naložene v objektni spremenljivki DOM komponente, in z metodo nodetypedvalue preberemo vrednost vozlišča (node) PATH, v katerem je shranjena pot do vmx datoteke. V zbirko dodamo pot z metodo "Add" skupaj z enoličnim ključem. Ker je v aplikaciji možno dinamično dodajanje in brisanje elementom XML datoteke, po vsaki taki akciji ponovno napolnimo zbirko. S tem zagotovimo, da je zbirka sinhronizirana z vsebino XML datoteke. Na sliki 31 je prikazana XML datoteka ustvarjena z našo aplikacijo. V njej se nahajata dve poti do dveh navideznih računalnikov. Oznaka VM ima atribut VMID, ki vsebuje enolično identifikacijo številko navideznega računalnika, oznaka NAME vsebuje ime, ki ga vnese uporabnik, oznaka PATH vsebuje pot do vmx datoteke Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 46

51 navideznega računalnika ter oznaka HANDLE, ki v prototipu ni uporabljena. Namenjena je za razširitev prototipa in bo vsebovala ročico navideznega računalnika, s katero bodo možne dodatne operacije z navideznim računalnikom. Slika 31: XML datoteka z dvema shranjenima navideznima računalnikoma Na sliki 32 je prikazano razvojno okolje Visual Basic 6 z naloženo izvorno kodo aplikacije. Projekt vsebuje po en modul in obrazec z drevesno kontrolo za prikaz vsebine XML datoteke, gumbi za dodajanje, brisanje in zaganjanje navideznih računalnikov, statusno polje ter dvema vnosnima poljema za ime in pot do navideznega računalnika. Ob vnosnem polju za pot (path) je gumb, ki prikaže datotečni dialog za lažje iskanje vmx datoteke. Na vrhu se nahaja etiketa (label), ki prikaže enolično številko navideznega računalnika. Slika 32: Visual Basic 6 razvojno okolje z izvorno kodo aplikacije Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 47

52 6.3 Uporaba prototipne rešitve Za pravilno delovanje aplikacije moramo dodati mapo "C:\Program Files\VMware\VMware VIX\ws-5\32bit" v sistemsko pot (system path). Mapa vsebuje ključne knjižnice, potrebne za delovanje aplikacij, ki kličejo funkcije iz VIX API zbirke. V sistemski register za samodejni zagon aplikacij ob zagonu sistema "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run" moramo ročno dodati pot do naše aplikacije VirtualMachines.exe in parameter "\autostore". S tem bo aplikacija ob vsakokratnem zagonu sistema na gostiteljskem računalniku samodejno zagnala vse navidezne računalnike, shranjene v XML datoteki. Slika 33: Aplikacija za samodejni zagon navideznih računalnikov Na sliki 33 je prikazan delujoči uporabniški vmesnik aplikacije, ki smo jo razvili. Na levi strani je drevesna struktura shranjenih vrednosti v XML datoteki. Z gumbom "Add new VM" in vpisom imena ter poti do vmx datoteke dodamo te vrednosti v XML datoteko in napolnimo zbirko z novim navideznim računalnikom. Z gumbom "Delete VM" zbrišemo navidezni računalnik iz zbirke in XML datoteke. Z gumbom "Start VM" zaženemo vse navidezne računalnike, shranjene v XML datoteki. Če, je navidezni računalnik zagnan, se gumb onemogoči, ker ni možno večkrat zagnati isti navidezni računalnik. S klikom na ime navideznega računalnika v drevesni strukturi se v obeh vnosnih poljih in etiketi prikažejo shranjene vrednosti. Aplikacija je namenjena za zaganjanje navideznih računalnikov na zmogljivih strežnikih, ki imajo zadostno količino delovnega pomnilnika in dovolj hitro centralno procesno enoto. Zavedati se moramo, da lahko preveliko število navideznih računalnikov občutno upočasni delovanje celotnega gostiteljskega sistema. Zelo priporočljivo je, da ima sistem centralno procesno enoto s strojno podporo za virtualizacijo. S tem omogočimo optimalno delovanje navideznih računalnikov. Gregor Petkovšek: Pretvorba fizičnega računalnika v navideznega ter stran 48

Sistemske zahteve za SAOP

Sistemske zahteve za SAOP Sistemske zahteve za SAOP Samostojna delovna postaja višji). icenter je ERP sistem, ki zagotavlja popolno kontrolo nad vsemi poslovnimi procesi v podjetju. V tej postavitvi je SAOP icenter nameščen na

More information

Hitra rast hranjenih podatkov

Hitra rast hranjenih podatkov Tomaž Borštnar - član uredništva računalniške revije Monitor od začetka (oktober 1991; ne-pc okolja (Unix, etc) - sodelavec YUNAC in ARNES od začetka - postavil in upravljal večino strežnikov na SiOL -

More information

Vodnik skozi Google Analytics Beta verzija 1. del. prehod s stare kode (urchin.js), k novi kodi za sledenje (ga.js)

Vodnik skozi Google Analytics Beta verzija 1. del. prehod s stare kode (urchin.js), k novi kodi za sledenje (ga.js) Vodnik skozi Google Analytics Beta verzija 1. del prehod s stare kode (urchin.js), k novi kodi za sledenje (ga.js) Ta vodnik je povzetek Googe vodiča ' Tracking Code Migration Guide Switching from urchin.js

More information

» Nakup in vzdrževanje Oracle programske opreme «Tehnične specifikacije

» Nakup in vzdrževanje Oracle programske opreme «Tehnične specifikacije Obrazec P-5 Specifikacije 30K250316» Nakup in vzdrževanje Oracle programske opreme «Tehnične specifikacije KAZALO VSEBINE 1. Predmet javnega naročila...3 1.1. SKLOP-1: STORITEV VZDRŽEVANJA ORACLE LICENČNE

More information

Delavnica za konfiguriranje dostopovnih točk Konfiguracija LANCOM L-54 z uporabo orodja LANConfig

Delavnica za konfiguriranje dostopovnih točk Konfiguracija LANCOM L-54 z uporabo orodja LANConfig Delavnica za konfiguriranje dostopovnih točk Konfiguracija LANCOM L-54 z uporabo orodja LANConfig Boštjan Lemut Prva povezava na L-54 s povezovalnim kablom povežemo mrežna vmesnika na računalniku in L-54

More information

IP PACKET QUEUING DISCIPLINES AS BASIC PART OF QOS ASSURANCE WITHIN THE NETWORK

IP PACKET QUEUING DISCIPLINES AS BASIC PART OF QOS ASSURANCE WITHIN THE NETWORK UDK621.3:(53+54+621 +66), ISSN0352-9045 Informacije MIDEM 39(2009)2, Ljubljana IP PACKET QUEUING DISCIPLINES AS BASIC PART OF QOS ASSURANCE WITHIN THE NETWORK Sasa Klampfer, Joze Mohorko, Zarko Cucej University

More information

RAZLOG ZA IZVAJANJE PROGRAMA POPRBAZA

RAZLOG ZA IZVAJANJE PROGRAMA POPRBAZA RAZLOG ZA IZVAJANJE PROGRAMA POPRBAZA POPRBAZA je namenjen večji reorganizaciji podatkov v računalnikovem spominu. Reorganizacijo narekujejo bodisi zakonske spremembe, bodisi novosti v programu. Zato je

More information

Delavnica za konfiguriranje dostopovnih točk WEB konfiguracija LANCOM L-54

Delavnica za konfiguriranje dostopovnih točk WEB konfiguracija LANCOM L-54 Delavnica za konfiguriranje dostopovnih točk WEB konfiguracija LANCOM L-54 Boštjan Lemut Prva povezava na L-54 s povezovalnim kablom povežemo mrežna vmesnika na računalniku in L-54 v brskalniku vpišemo

More information

Sistemske zahteve za Saop icenter

Sistemske zahteve za Saop icenter Sistemske zahteve za Saop icenter Izdaja 27 080 13 20 info@saop.si www.saop.si 18.6.2018 Sistemske zahteve 2 Samostojna delovna postaja icenter je ERP sistem, ki zagotavlja popolno kontrolo nad vsemi poslovnimi

More information

ABBYY rešitve za prepoznavo in klasifikacijo dokumentov

ABBYY rešitve za prepoznavo in klasifikacijo dokumentov ABBYY rešitve za prepoznavo in klasifikacijo dokumentov preabbyy FlexiCapture 9.0. Overview. 1 doc: 10977 Lokalna prisotnost ABBYY: Moscow, Russia; Munich, Germany; Bracknell, UK; Kiev, Ukraine; Milpitas,

More information

Učinkovita rešitev za izdelavo zaščitnih kopij z deduplikacijo in replikacijo

Učinkovita rešitev za izdelavo zaščitnih kopij z deduplikacijo in replikacijo Učinkovita rešitev za izdelavo zaščitnih kopij z deduplikacijo in replikacijo Študija primera uvedbe sistema EMC DataDomain v podjetju Si.mobil Janez Narobe Janez.narobe@simobil.si Rok Krisper rok.krisper@snt.si

More information

sodobne poslovnoinformacijske rešitve Birokrat Kratka navodila za namestitev demo verzije programa Birokrat

sodobne poslovnoinformacijske rešitve   Birokrat Kratka navodila za namestitev demo verzije programa Birokrat sodobne poslovnoinformacijske rešitve www.andersen.si Birokrat Kratka navodila za namestitev demo verzije programa Birokrat Kratka navodila za namestitev demo verzije programa Birokrat Pošiljamo vam demo

More information

E R S Š G L J U B L J A N A Š O L S K O L E T O

E R S Š G L J U B L J A N A Š O L S K O L E T O Datotečni sistem E R S Š G L J U B L J A N A Š O L S K O L E T O 2 0 1 0 / 1 1 Vsebina Programska oprema Sistemska programska oprema Operacijski sistem Lupina (shell) Datotečni sistem Programska oprema

More information

Organizacija računalnikov (OR) UNI-RI, 3.l. RS Vaje. doc.dr. Mira Trebar

Organizacija računalnikov (OR) UNI-RI, 3.l. RS Vaje. doc.dr. Mira Trebar Organizacija računalnikov (OR) UNI-RI, 3.l. RS Vaje doc.dr. Mira Trebar 2 Vaja 1 (11.10.2010) Vaje so obvezne (delo v laboratoriju + doma) S1: Logisim MIPS procesor eno-cikelna izvedba ( logisim ) MIPS

More information

Družina IEEE802 Poddružina IEEE802.1 Priključitev v omrežje IEEE802.1x

Družina IEEE802 Poddružina IEEE802.1 Priključitev v omrežje IEEE802.1x 1 Družina IEEE802 Poddružina IEEE802.1 Priključitev v omrežje IEEE802.1x 2 družina standardov, ki opisujejo delovanje lokalnih (LAN) in mestnih (MAN) omrežij delo opravljano v delovnih skupinah več na

More information

Fakulteta za elektrotehniko, računalništvo in informatiko Inštitut za avtomatiko Laboratorij za obdelavo signalov in daljinska vodenja

Fakulteta za elektrotehniko, računalništvo in informatiko Inštitut za avtomatiko Laboratorij za obdelavo signalov in daljinska vodenja Fakulteta za elektrotehniko, računalništvo in informatiko Inštitut za avtomatiko Laboratorij za obdelavo signalov in daljinska vodenja Navodila za vaje pri predmetu Internetne tehnologije VAJA 2 Dušan

More information

Lotus Quickr Najhitrejši način izmenjave poslovne vsebine

Lotus Quickr Najhitrejši način izmenjave poslovne vsebine Lotus Quickr Najhitrejši način izmenjave poslovne vsebine Zoran Povh, IT specialist zoran.povh@si.ibm.com 2007 IBM Corporation Vsebina Kaj je Lotus Quickr? Integracija z namiznimi programi Skupinski prostori

More information

How we calculate volume with the use of NTF method. Kako izračunamo volumen z uporabo metode NTF

How we calculate volume with the use of NTF method. Kako izračunamo volumen z uporabo metode NTF RMZ Materials and Geoenvironment, Vol. 55, No. 1, pp. 127-134, 2008 127 How we calculate volume with the use of NTF method Kako izračunamo volumen z uporabo metode NTF An e s Du r g u t o v i ć 1, Mi l

More information

Prometno načrtovanje xdsl

Prometno načrtovanje xdsl Prometno načrtovanje xdsl 1 Kazalo Prometno načrtovanje naročniške zanke Prometno načrtovanje MSAN Izbira agregacijskega modela Izbira opreme 2 Potrebe po pasovni širini Zahtevana pasovna širina na uporabnika

More information

Postavitev privatnega oblaka z VMware vcloud

Postavitev privatnega oblaka z VMware vcloud Univerza v Ljubljani Fakulteta za računalništvo in informatiko Pece Adjievski Postavitev privatnega oblaka z VMware vcloud DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: prof. dr. Matjaž Branko Jurič

More information

DB2 podatkovna baza v praksi

DB2 podatkovna baza v praksi DB2 podatkovna baza v praksi Aljoša Trivan, Mikropis holding d.o.o. aljosa.trivan@mikropis.si 2007 IBM Corporation Agenda Mikropis Splošno Fleksibilnost Vzdrževanje Backup SQL objekti in SQL stavki Novosti

More information

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO. Matjaž Poljanšek DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO. Matjaž Poljanšek DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Matjaž Poljanšek Analiza modela platforme kot storitve in razvoj aplikacije v oblaku na platformi Google App Engine DIPLOMSKO DELO NA UNIVERZITETNEM

More information

Calculation of volume with the use of NTF method. Izračun volumnov z uporabo NTF metode

Calculation of volume with the use of NTF method. Izračun volumnov z uporabo NTF metode RMZ - Materials and Geoenvironment, Vol. 53, No. 2, pp. 221-227, 2006 221 Calculation of volume with the use of NTF method Izračun volumnov z uporabo NTF metode Milivoj Vulić 1, Anes Durgutović 2 1 Faculty

More information

UNIVERZA V LJUBLJANI. Bojan Bojkovski. Postavitev ESX 3.5 strežniške infrastrukture za doseganje virtualnega okolja DIPLOMSKO DELO

UNIVERZA V LJUBLJANI. Bojan Bojkovski. Postavitev ESX 3.5 strežniške infrastrukture za doseganje virtualnega okolja DIPLOMSKO DELO UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Bojan Bojkovski Postavitev ESX 3.5 strežniške infrastrukture za doseganje virtualnega okolja DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU

More information

Minimalne/optimalne zahteve za delovanje informacijskega sistema v povezavi z IMAGINE aplikacijami

Minimalne/optimalne zahteve za delovanje informacijskega sistema v povezavi z IMAGINE aplikacijami IMAGINE d.o.o. Podjetje za računalniški inženiring Gosposvetska cesta 84, 2000 Maribor Tel.: 02 320 60 60 Fax: 02 320 60 70 www.imagine.si, prodaja@imagine.si Minimalne/optimalne zahteve za delovanje informacijskega

More information

O operacijskih sistemih

O operacijskih sistemih O operacijskih sistemih Komponente računalniškega sistema 1. Aparaturna oprema Zagotavlja osnovne računalniške vire (CPE, pomnilnik, vhodno izhodne naprave). 2. Operacijski sistem nadzira in koordinira

More information

Arhitektura oblaka Upravljanje v oblaku Delovanje v oblaku Arhitekturni okvir računalništva v oblaku

Arhitektura oblaka Upravljanje v oblaku Delovanje v oblaku Arhitekturni okvir računalništva v oblaku 1 Predstavitev 2 Področja delovanja 3 GRC knjižnica 4 Primeri CAI in CCM Aplikacijska varnost 5 CCSK 6 Zaključek Globalna, neprofitna organizacija 23,000+ članov, 100 korporativnih članov, 50 odsekov Gradimo

More information

PRENOS IZOBRAŽEVALNEGA TEČAJA V VIRTUALIZIRANO OKOLJE

PRENOS IZOBRAŽEVALNEGA TEČAJA V VIRTUALIZIRANO OKOLJE Organizacija in management informacijskih sistemov PRENOS IZOBRAŽEVALNEGA TEČAJA V VIRTUALIZIRANO OKOLJE Mentor: doc. dr. Uroš Rajkovič Kandidat: Goran Rašić Kranj, oktober 2011 Zahvala Zahvaljujem se

More information

RAČUNALNIŠTVO V OBLAKU ZA PODROČJE UPRAVLJANJA ČLOVEŠKIH VIROV NA PRIMERU SAP-OVE OBLAČNE REŠITVE SUCCESSFACTORS

RAČUNALNIŠTVO V OBLAKU ZA PODROČJE UPRAVLJANJA ČLOVEŠKIH VIROV NA PRIMERU SAP-OVE OBLAČNE REŠITVE SUCCESSFACTORS UNIVERZA V MARIBORU EKONOMSKO-POSLOVNA FAKULTETA Diplomski projekt RAČUNALNIŠTVO V OBLAKU ZA PODROČJE UPRAVLJANJA ČLOVEŠKIH VIROV NA PRIMERU SAP-OVE OBLAČNE REŠITVE SUCCESSFACTORS Cloud Computing for Human

More information

INTERNETNA VARNOST. Davor Katanovič, mag. družb. inf. CISSP, Security+

INTERNETNA VARNOST. Davor Katanovič, mag. družb. inf. CISSP, Security+ INTERNETNA VARNOST Davor Katanovič, mag. družb. inf. CISSP, Security+ Internet danes Vir: https://afrikanet.wordpress.com/2015/05/22/the-importance-of-internet-today/ Internet temna stran Vir: http://www.symantec.com/security_response/publications/threatreport.jsp

More information

Računalnik INFORMATIKA 1. LETNIK ŽILBERT TIVADAR

Računalnik INFORMATIKA 1. LETNIK ŽILBERT TIVADAR Računalnik INFORMATIKA 1. LETNIK ŽILBERT TIVADAR Kaj je računalnik? osrednji in najpomembnejši del informacijske tehnologije; pripomoček, ki olajša naše delo; računalnik nenehno ponavlja štiri opravila:

More information

Informatika v medijih

Informatika v medijih 3.1. Osnove operacijskih sistemov. Sistemska programska oprema. Hiter neumen stroj Računalniki: Strojna oprema (hardware) Omejene sposobnosti Znajo računati samo osnovne matematične operacije in logične

More information

IBM Lotus Notes in Domino 8

IBM Lotus Notes in Domino 8 IBM Lotus Notes in Domino 8 Spoznajte namizje prihodnosti danes Janko Štefančič, GENIS janko.stefancic@genis.si 2007 IBM Corporation Agenda O podjetju Genis Kratka zgodovina Kaj zmore Notes/Domino 8 Podprte

More information

NAMESTITEV WINDOWS 7 OKOLJA Z UPORABO MICROSOFT WAIK ORODIJ

NAMESTITEV WINDOWS 7 OKOLJA Z UPORABO MICROSOFT WAIK ORODIJ Organizacija in management informacijskih sistemov NAMESTITEV WINDOWS 7 OKOLJA Z UPORABO MICROSOFT WAIK ORODIJ Mentor: dr. Branislav Šmitek Kandidat: Aleš Frelih Kranj, november 2012 ZAHVALA Zahvaljujem

More information

Tehnike programiranja PREDAVANJE 9 Uvod v binarni svet in računalništvo

Tehnike programiranja PREDAVANJE 9 Uvod v binarni svet in računalništvo Tehnike programiranja PREDAVANJE 9 Uvod v binarni svet in računalništvo Predavanje 9 Uvod v binarni svet Birnarna aritmetika Polprevodniške tehnologije Računalnik Mikroprocesor ldos.fe.uni-lj.si >študij

More information

Informacijski sistemi 2. faza Sistemska analiza. Franci Tajnik univ.dipl.ing.fizike, CISA, CISM

Informacijski sistemi 2. faza Sistemska analiza. Franci Tajnik univ.dipl.ing.fizike, CISA, CISM Informacijski sistemi 2. faza Sistemska analiza Franci Tajnik univ.dipl.ing.fizike, CISA, CISM 2. faza Sistemska analiza 2. faza Sistemska analiza veščine sistemske analize analitične medosebne ( nekonfliktne

More information

VIRTUALIZACIJA. Študentka: Sabina Jurkošek, 1. letnik redni Šolsko leto: 2008/09 Mentor: Matej Zdovc, univ. dipl. inţ. el.

VIRTUALIZACIJA. Študentka: Sabina Jurkošek, 1. letnik redni Šolsko leto: 2008/09 Mentor: Matej Zdovc, univ. dipl. inţ. el. VIRTUALIZACIJA Študentka: Sabina Jurkošek, 1. letnik redni Šolsko leto: 2008/09 Mentor: Matej Zdovc, univ. dipl. inţ. el. Kazalo vsebine Kazalo vsebine... II Kazalo slik... III 1. Pomen virtualizacije...

More information

UDF for volume calculation with the use of NTF method. Lastne Excel funkcije za izračun prostornin po NTF metodi

UDF for volume calculation with the use of NTF method. Lastne Excel funkcije za izračun prostornin po NTF metodi RMZ Materials and Geoenvironment, Vol. 54, No. 3, pp.419-425, 2007 419 UDF for volume calculation with the use of NTF method Lastne Excel funkcije za izračun prostornin po NTF metodi Mi l i v o j Vu l

More information

PRIPOROČILA ZA RAČUNALNIŠKO KONFIGURACIJO ZA DELO S PRO/ENGINEER WILDFIRE, CREO ELEMENTS/PRO IN CREO 2.0/3.0/4.0

PRIPOROČILA ZA RAČUNALNIŠKO KONFIGURACIJO ZA DELO S PRO/ENGINEER WILDFIRE, CREO ELEMENTS/PRO IN CREO 2.0/3.0/4.0 PRIPOROČILA ZA RAČUNALNIŠKO KONFIGURACIJO ZA DELO S PRO/ENGINEER WILDFIRE, CREO ELEMENTS/PRO IN CREO 2.0/3.0/4.0 Uvod... 1 Konfiguracija 1: modeliranje kosov in manjših sestavov (do ~100 manjših kosov*)...

More information

formati slike in branje slike pomen in nekaj primerov EM spekter aplikacije v posameznih delih spektra o matriki slike

formati slike in branje slike pomen in nekaj primerov EM spekter aplikacije v posameznih delih spektra o matriki slike Strojni vid pri tehnoloških meritvah formati slike in branje slike pomen in nekaj primerov EM spekter aplikacije v posameznih delih spektra o matriki slike formati slike in branje slike slika je običajno

More information

Lokacijske storitve na mobilnih napravah

Lokacijske storitve na mobilnih napravah UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Aleš Rosina Lokacijske storitve na mobilnih napravah DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: doc. dr. Rok Rupnik Ljubljana, 2012

More information

Uvod v svetovni splet

Uvod v svetovni splet Univerza v Ljubljani Fakulteta za gradbeništvo in geodezijo Uvod v svetovni splet Računalništvo in informatika, GR-UNI, GR-VSŠ Tehnična dokumentacija in informatika, VKI-UNI št. leto 2007/08, 1. semester

More information

Q: Do You made a backup before upgrade? A: Only cowards make backups!

Q: Do You made a backup before upgrade? A: Only cowards make backups! Q: Do You made a backup before upgrade? You z malo - you A: Only cowards make backups! Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies.

More information

PREDSTAVITEV DELOVANJA OPERACIJSKIH SISTEMOV V OKOLJU OSEBNIH RAČUNALNIKOV

PREDSTAVITEV DELOVANJA OPERACIJSKIH SISTEMOV V OKOLJU OSEBNIH RAČUNALNIKOV ICES VIŠJA STROKOVNA ŠOLA Program: Informatika PREDSTAVITEV DELOVANJA OPERACIJSKIH SISTEMOV V OKOLJU OSEBNIH RAČUNALNIKOV Mentor: mag. Miran Novak Lektorica: Ana Peklenik, prof. slov. Kandidat: Igor Majer

More information

RAČUNALNIŠTVO V OBLAKU IN NJEGOV POSLOVNI POMEN ZA MALA PODJETJA

RAČUNALNIŠTVO V OBLAKU IN NJEGOV POSLOVNI POMEN ZA MALA PODJETJA UNIVERZA V MARIBORU EKONOMSKO POSLOVNA FAKULTETA Magistrsko delo RAČUNALNIŠTVO V OBLAKU IN NJEGOV POSLOVNI POMEN ZA MALA PODJETJA Cloud Computing and It's Meaning for Small Bussiness Kandidat: Denis Stojko

More information

Postavitev in upravljanje zasebnega oblaka z uporabo Microsoft System Center 2012 R2 in Windows Azure Pack za ponudnike storitev

Postavitev in upravljanje zasebnega oblaka z uporabo Microsoft System Center 2012 R2 in Windows Azure Pack za ponudnike storitev UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Gašper Govek Postavitev in upravljanje zasebnega oblaka z uporabo Microsoft System Center 2012 R2 in Windows Azure Pack za ponudnike storitev

More information

Magistrsko delo. Organizacija in management informacijskih sistemov MODEL OBLAČNIH STORITEV Z OPENSTACK

Magistrsko delo. Organizacija in management informacijskih sistemov MODEL OBLAČNIH STORITEV Z OPENSTACK Organizacija in management informacijskih sistemov MODEL OBLAČNIH STORITEV Z OPENSTACK Mentor: red. prof. dr. Robert Leskovar Kandidatka: Blažka Globačnik Kranj, september 2014 ZAHVALA Zahvaljujem se mentorju

More information

1. Informacijski sistemi so večinoma povezani s telekomunikacijskimi sistemi v tako imenovane informacijsko komunikacijske sisteme,

1. Informacijski sistemi so večinoma povezani s telekomunikacijskimi sistemi v tako imenovane informacijsko komunikacijske sisteme, Vsebina predmeta Podatki, informacije in informacijski sistemi Infrastruktura informacijskih sistemov Tipi podatkov Načini zapisa in shranjevanja podatkov Načini dostopa do podatkov (prenos) Poizvedbe

More information

ERCOlight LUM je energetsko visoko učinkovita svetilka za visoke prostore z možnostjo številnih različnih modifikacij.

ERCOlight LUM je energetsko visoko učinkovita svetilka za visoke prostore z možnostjo številnih različnih modifikacij. Object Installation Project number Date 1 Luminaire data 1.5 Somar International Ltd, Eluma ME-OP4/4L/50 P5 (ME-OP4/4L/50) 1.5.1 Data sheet Ena svetilka, pet različnih možnosti : Eluma Lighting : Comparison

More information

ITIL - upravljanje IT storitev

ITIL - upravljanje IT storitev ITIL - upravljanje IT storitev Tomaž Krajnc IPMIT Institut za projektni management in informacijsko tehnologijo d.o.o., tomaz.krajnc@ipmit.si Povzetek Pri upravljanju informacijske tehnologije organizacije

More information

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Spletno programiranje. Študijska smer Study field ECTS

UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Spletno programiranje. Študijska smer Study field ECTS Predmet: Course title: UČNI NAČRT PREDMETA / COURSE SYLLABUS (leto / year 2017/18) Spletno programiranje Web programming Študijski program in stopnja Study programme and level Interdisciplinarni univerzitetni

More information

Open IT VARNO POVEZOVANJE SODOBNIH ODPRTIH SPLETNIH APLIKACIJ V OBLAKU TYPO3, MAGENTO, ALFRESCO

Open IT VARNO POVEZOVANJE SODOBNIH ODPRTIH SPLETNIH APLIKACIJ V OBLAKU TYPO3, MAGENTO, ALFRESCO Open IT VARNO POVEZOVANJE SODOBNIH ODPRTIH SPLETNIH APLIKACIJ V OBLAKU TYPO3, MAGENTO, ALFRESCO Uvod Informacijska varnost ena izmed glavnih tematik informacijske dobe. Čim bolj varne spletne aplikacije

More information

A Generic Timing Receiver for Event-Driven Timing Systems

A Generic Timing Receiver for Event-Driven Timing Systems ELEKTROTEHNIŠKI VESTNIK 82(4): 205-211, 2015 ORIGINAL SCIENTIFIC PAPER A Generic Timing Receiver for Event-Driven Timing Systems Benjamin Ocepek Univerza v Ljubljani, Fakulteta za elektrotehniko, Tržaška

More information

Oddaljen dostop do namiznega računalnika

Oddaljen dostop do namiznega računalnika UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Siniša Grubor Oddaljen dostop do namiznega računalnika DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN INFORMATIKA

More information

BLUETOOTH KOMUNIKATOR ZA WINDOWS MOBILE 6.5

BLUETOOTH KOMUNIKATOR ZA WINDOWS MOBILE 6.5 Alen Rojko BLUETOOTH KOMUNIKATOR ZA WINDOWS MOBILE 6.5 Diplomsko delo Maribor, april 2013 BLUETOOTH KOMUNIKATOR ZA WINDOWS MOBILE 6.5 Diplomsko delo Študent(ka): Študijski program: Alen Rojko Visokošolski

More information

Ogrodje za razvoj mikrostoritev v Javi in njihovo skaliranje v oblaku

Ogrodje za razvoj mikrostoritev v Javi in njihovo skaliranje v oblaku Univerza v Ljubljani Fakulteta za računalništvo in informatiko Tilen Faganel Ogrodje za razvoj mikrostoritev v Javi in njihovo skaliranje v oblaku DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM RAČUNALNIŠTVO

More information

ABO R O P 1 U O N SEB O A Z

ABO R O P 1 U O N SEB O A Z 1 Barvno upravljanje je sistemati no vodenje barvnih pretvorb med barvnimi prostori naprav, uporabljenih v procesu barvne reprodukcije. Namen barvnega upravljanja Zagotoviti barvno usklajenost reprodukcije

More information

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Razvijalska ogrodja za podporo večim mobilnim platformam

UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE. Razvijalska ogrodja za podporo večim mobilnim platformam UNIVERZA NA PRIMORSKEM FAKULTETA ZA MATEMATIKO, NARAVOSLOVJE IN INFORMACIJSKE TEHNOLOGIJE Zaključna naloga Razvijalska ogrodja za podporo večim mobilnim platformam (Developer frameworks for mobile cross-platform

More information

Zmogljivost in varčnost procesorskih arhitektur ARM in x86

Zmogljivost in varčnost procesorskih arhitektur ARM in x86 1 UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Matjaž Klančar Zmogljivost in varčnost procesorskih arhitektur ARM in x86 DIPLOMSKO DELO UNIVERZITETNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO

More information

Specification and Implementation of a Light-Weight Internet Content Delivery Platform

Specification and Implementation of a Light-Weight Internet Content Delivery Platform University of Ljubljana Faculty of Computer and Information Science Marko Čeferin Specification and Implementation of a Light-Weight Internet Content Delivery Platform DIPLOMA THESIS First cycle professional

More information

Session:E07 GALIO - DB2 index advisor, how we implemented it and what we get from self-made expert tool

Session:E07 GALIO - DB2 index advisor, how we implemented it and what we get from self-made expert tool Session:E07 GALIO - DB2 index advisor, how we implemented it and Viktor Kovačević, MSc Hermes Softlab 6th October 2009 14:15 (60') Platform: UDB / LUW OUTLINE Application & Database tuning Self made index

More information

PREPREČEVANJE IZPADA IN ZAGOTAVLJANJE VARNOSTI JAVNIH RAČUNALNIŠKIH SISTEMOV

PREPREČEVANJE IZPADA IN ZAGOTAVLJANJE VARNOSTI JAVNIH RAČUNALNIŠKIH SISTEMOV UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Aljaž Bratkovič PREPREČEVANJE IZPADA IN ZAGOTAVLJANJE VARNOSTI JAVNIH RAČUNALNIŠKIH SISTEMOV DIPLOMSKO DELO VISOKOŠOLSKEGA STROKOVNEGA ŠTUDIJA

More information

IZKUŠNJE PRI RAZVOJU INOVATIVNIH REŠITEV Z UPORABO RAČUNALNIŠTVA V OBLAKU

IZKUŠNJE PRI RAZVOJU INOVATIVNIH REŠITEV Z UPORABO RAČUNALNIŠTVA V OBLAKU IZKUŠNJE PRI RAZVOJU INOVATIVNIH REŠITEV Z UPORABO RAČUNALNIŠTVA V OBLAKU Robert Dukarić, Matjaž B. Jurič Fakulteta za računalništvo in informatiko, Univerza v Ljubljani robert.dukaric@cloud.si Povzetek

More information

SPLETNE SESTAVLJANKE IN POSLOVNI PORTALI

SPLETNE SESTAVLJANKE IN POSLOVNI PORTALI UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Miha Pavlinek SPLETNE SESTAVLJANKE IN POSLOVNI PORTALI Diplomska naloga Maribor, marec 2008 I FAKULTETA ZA ELEKTROTEHNIKO,

More information

Oblačne storitve PosiTa. Benjamin Tomažič, Pošta Slovenije d.o.o.

Oblačne storitve PosiTa. Benjamin Tomažič, Pošta Slovenije d.o.o. Oblačne storitve PosiTa Benjamin Tomažič, Pošta Slovenije d.o.o. Agenda Zgodovina Kaj je Cloud? Multi vendor CSP Microsoft WAP HP Helion/Openstack Informacijska varnost Storitve CSP Najem PosiTa storitev

More information

Operacijski sistemi. Avtor/ja:Denis Novak, Gašper Knavs, R4A Mentor: Breda Tomc

Operacijski sistemi. Avtor/ja:Denis Novak, Gašper Knavs, R4A Mentor: Breda Tomc Srednja elektro šola in tehniška gimnazija Šegova ulica 112 8000 Novo mesto Avtor/ja:Denis Novak, Gašper Knavs, R4A Mentor: Breda Tomc Kazalo vsebine: 1.Kaj je to operacijski sistem, kako deluje, kaj so

More information

Naslavljanje v IP. Miran Meža

Naslavljanje v IP. Miran Meža Naslavljanje v IP Miran Meža Omrežje vseh omrežij Avtonomni sistem Avtonomni sistem Avtonomni sistem Avtonomni sistem Avtonomni sistem Avtonomni sistem Omrežje vseh omrežij Usmerjanje prometa: poznati

More information

Najnovejša različica te zaslonske publlikacije je na voljo na naslovu O programski opremi

Najnovejša različica te zaslonske publlikacije je na voljo na naslovu  O programski opremi Najnovejša različica te zaslonske publlikacije je na voljo na naslovu http://www.ibm.com/pc/support O programski opremi Najnovejša različica te zaslonske publlikacije je na voljo na naslovu http://www.ibm.com/pc/support

More information

RAČUNALNIŠTVO IN INFORMATIKA

RAČUNALNIŠTVO IN INFORMATIKA VIŠJEŠOLSKI STROKOVNI PROGRAM INFORMATIKA RAČUNALNIŠTVO IN INFORMATIKA JULIJA LAPUH BELE DARKO BELE ROBERT BERGLES Višješolski strokovni program: Informatika Učbenik: Računalništvo in informatika Gradivo

More information

ZASNOVA IN IZVEDBA RAČUNSKEGA JEDRA OPENCL Z VEZJEM FPGA

ZASNOVA IN IZVEDBA RAČUNSKEGA JEDRA OPENCL Z VEZJEM FPGA Univerza v Ljubljani Fakulteta za elektrotehniko Domen Maraž ZASNOVA IN IZVEDBA RAČUNSKEGA JEDRA OPENCL Z VEZJEM FPGA Diplomsko delo visokošolskega strokovnega študija Mentor: prof. dr. Andrej Žemva Ljubljana,

More information

Navodila za interaktivne naloge Bober

Navodila za interaktivne naloge Bober Avtorji dokumenta: Dean Gostiša , Lovro Podgoršek Verzija dokumentacije: 1.1 Datum in kraj: 24. 7. 2013, Ljubljana Navodila za interaktivne naloge Bober Uvod 1.

More information

Izdelava urejevalnika izvorne kode v oblaku z uporabo tehnologij HTML5

Izdelava urejevalnika izvorne kode v oblaku z uporabo tehnologij HTML5 Univerza v Ljubljani Fakulteta za računalništvo in informatiko Roman Gorišek Izdelava urejevalnika izvorne kode v oblaku z uporabo tehnologij HTML5 DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM

More information

Transakcije v MariaDB/MySQL (transakcija A)

Transakcije v MariaDB/MySQL (transakcija A) Transakcije v MariaDB/MySQL (transakcija A) Pomožni elementi In [1]: # pyodbc import pyodbc try: cn1.close() except: pass # MariaDB/MySQL conn = "DRIVER={MySQL ODBC 5.3 Unicode Driver};SERVER=localhost;DATABASE=sandbox;UID=tu

More information

Časovno omejevanje dostopa do interneta

Časovno omejevanje dostopa do interneta Univerza v Ljubljani Fakulteta za računalništvo in informatiko Edi Medvešček Časovno omejevanje dostopa do interneta DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN

More information

Prirejanje in preverjanje tipov

Prirejanje in preverjanje tipov Uvod v C# Drugi del Dedovanje Sintaksa Prirejanje in preverjanje tipov Kaste preverjenih tipov Prekrivanje metod Dinamično povezovanje (poenostavljeno) Skrivanje Dinamično povezovanje (s skrivanjem) Fragile

More information

APLIKACIJE ZA SOCIALNA

APLIKACIJE ZA SOCIALNA UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Boštjan Lotrič APLIKACIJE ZA SOCIALNA OMREŽJA DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor: doc. dr. Zoran Bosnić Ljubljana, 2011 Rezultati

More information

PREDLOG VPELJAVE RAČUNALNIŠKEGA OBLAKA V JAVNOIZOBRAŽEVALNO OMREŽJE

PREDLOG VPELJAVE RAČUNALNIŠKEGA OBLAKA V JAVNOIZOBRAŽEVALNO OMREŽJE UNIVERZA V LJUBLJANI NARAVOSLOVNOTEHNIŠKA FAKULTETA ODDELEK ZA TEKSTILSTVO, GRAFIKO IN OBLIKOVANJE PREDLOG VPELJAVE RAČUNALNIŠKEGA OBLAKA V JAVNOIZOBRAŽEVALNO OMREŽJE DIPLOMSKO DELO MARKO VRAN LJUBLJANA,

More information

Testiranje spletne aplikacije z orodji Selenium in Windmill

Testiranje spletne aplikacije z orodji Selenium in Windmill UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Bogdan Urdih Testiranje spletne aplikacije z orodji Selenium in Windmill DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE

More information

1. Opišite naloge jedra pri sistemu UNIX. Kaj so naloge jedra in kaj naloge lupine ob izvršitvi ukaza rm moja_datoteka?

1. Opišite naloge jedra pri sistemu UNIX. Kaj so naloge jedra in kaj naloge lupine ob izvršitvi ukaza rm moja_datoteka? 1. Opišite naloge jedra pri sistemu UNIX. Kaj so naloge jedra in kaj naloge lupine ob izvršitvi ukaza rm moja_datoteka? Naloge jedra so: - nadzor nad procesi, rojevanje in pobijanje procesov, upravljanje

More information

Računalništvo v oblaku in Web 2.0. dr. Urban Sedlar

Računalništvo v oblaku in Web 2.0. dr. Urban Sedlar Računalništvo v oblaku in Web 2.0 dr. Urban Sedlar urban.sedlar@ltfe.org Kaj je računalništvo v oblaku Vsaj tri različne perspektive Odvisno od tega koga vprašamo Sistemskega administratorja Razvijalca

More information

Navodila za uporabo izdelkov programske opreme Microsoft

Navodila za uporabo izdelkov programske opreme Microsoft Navodila za uporabo izdelkov programske opreme Microsoft Kazalo Navodila za konfiguracijo odjemalca za e-pošto Outlook Splošno 3 Nastavitev poštnega predala s protokolom MAPI v odjemalcu Outlook 2007 s

More information

DOKTORSKA DISERTACIJA GROŢNJE INFORMACIJSKI VARNOSTI PRI RABI MOBILNIH NAPRAV

DOKTORSKA DISERTACIJA GROŢNJE INFORMACIJSKI VARNOSTI PRI RABI MOBILNIH NAPRAV DOKTORSKA DISERTACIJA GROŢNJE INFORMACIJSKI VARNOSTI PRI RABI MOBILNIH NAPRAV Junij 2014 Blaţ Markelj DOKTORSKA DISERTACIJA GROŢNJE INFORMACIJSKI VARNOSTI PRI RABI MOBILNIH NAPRAV Junij 2014 Blaţ Markelj

More information

RAZVOJ ENOSTRANSKIH SPLETNIH APLIKACIJ S PORTALNO PLATFORMO LIFERAY

RAZVOJ ENOSTRANSKIH SPLETNIH APLIKACIJ S PORTALNO PLATFORMO LIFERAY FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Borut Radi RAZVOJ ENOSTRANSKIH SPLETNIH APLIKACIJ S PORTALNO PLATFORMO LIFERAY Diplomsko delo Maribor, julij 2015 Fakulteta za elektrotehniko,

More information

RAZVOJ ENOSTAVNE SPLETNE APLIKACIJE Z UPORABO FLEKSIBILNEGA OGRODJA NA ODPRTOKODNIH KNJIŢNICAH

RAZVOJ ENOSTAVNE SPLETNE APLIKACIJE Z UPORABO FLEKSIBILNEGA OGRODJA NA ODPRTOKODNIH KNJIŢNICAH UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO David Sedlar RAZVOJ ENOSTAVNE SPLETNE APLIKACIJE Z UPORABO FLEKSIBILNEGA OGRODJA NA ODPRTOKODNIH KNJIŢNICAH DIPLOMSKO DELO NA UNIVERZITETNEM

More information

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO. Dean Črnigoj. Izdelava odjemalca NFS za Windows DIPLOMSKO DELO

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO. Dean Črnigoj. Izdelava odjemalca NFS za Windows DIPLOMSKO DELO UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Dean Črnigoj Izdelava odjemalca NFS za Windows DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE RAČUNALNIŠTVO IN INFORMATIKA

More information

Aleksander Berus Analiza ogrodja MonoGame za medplatformni razvoj iger na mobilnih platformah

Aleksander Berus Analiza ogrodja MonoGame za medplatformni razvoj iger na mobilnih platformah Univerza v Ljubljani Fakulteta za računalništvo in informatiko Aleksander Berus Analiza ogrodja MonoGame za medplatformni razvoj iger na mobilnih platformah DIPLOMSKO DELO NA UNIVERZITETNEM ŠTUDIJU Mentor:

More information

Marko Kovač. Avtomatizacija nameščanja operacijskega sistema Windows v velikih okoljih

Marko Kovač. Avtomatizacija nameščanja operacijskega sistema Windows v velikih okoljih UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Marko Kovač Avtomatizacija nameščanja operacijskega sistema Windows v velikih okoljih DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Mentor:

More information

Metodologija migracije iz Exchange v Office 365

Metodologija migracije iz Exchange v Office 365 UNIVERZA V LJUBLJANI F Grega Lausegger Metodologija migracije iz Exchange v Office 365 DIPLOMSKO DELO PRVE Ljubljana, 2018 UNIVERZA V LJUBLJANI F Grega Lausegger Metodologija migracije iz Exchange v Office

More information

Mobilna aplikacija za pregledovanje slik visokih ločljivosti

Mobilna aplikacija za pregledovanje slik visokih ločljivosti Univerza v Ljubljani Fakulteta za računalništvo in informatiko Anže Sršen Mobilna aplikacija za pregledovanje slik visokih ločljivosti DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE STOPNJE

More information

Primerjava in analiza učinkovitosti podatkovnih baz DB2 in MySQL

Primerjava in analiza učinkovitosti podatkovnih baz DB2 in MySQL Univerza v Ljubljani Fakulteta za računalništvo in informatiko Nedim Husaković Primerjava in analiza učinkovitosti podatkovnih baz DB2 in MySQL DIPLOMSKO DELO VISOKOŠOLSKI ŠTUDIJSKI PROGRAM PRVE STOPNJE

More information

UNIVERZALNI KOMUNIKACIJSKI ODJEMALEC S PODPORO ZA UPORABNIŠKI ENUM

UNIVERZALNI KOMUNIKACIJSKI ODJEMALEC S PODPORO ZA UPORABNIŠKI ENUM Damjan Kojc UNIVERZALNI KOMUNIKACIJSKI ODJEMALEC S PODPORO ZA UPORABNIŠKI ENUM Diplomsko delo Maribor, avgust 2011 I Diplomsko delo univerzitetnega študijskega programa UNIVERZALNI KOMUNIKACIJSKI ODJEMALEC

More information

Državni izpitni center SPOMLADANSKI IZPITNI ROK *M * NAVODILA ZA OCENJEVANJE. Četrtek, 2. junij 2016 SPLOŠNA MATURA

Državni izpitni center SPOMLADANSKI IZPITNI ROK *M * NAVODILA ZA OCENJEVANJE. Četrtek, 2. junij 2016 SPLOŠNA MATURA Državni izpitni center *M16178113* SPOMLADANSKI IZPITNI ROK NAVODILA ZA OCENJEVANJE Četrtek, 2. junij 2016 SPLOŠNA MATURA RIC 2016 M161-781-1-3 2 IZPITNA POLA 1 1 1 2 1 3 3 4 1 5 3 6 2 7 1 8 1 9 1 10 3

More information

Vseprisotni računalniški sistemi

Vseprisotni računalniški sistemi Vseprisotni računalniški sistemi Vseprisotnost: pomeni obstoj ali biti prisoten povsod, istočasno in univerzalnost (vedno na razpolago). So "Več kot osebni računalniki". Ključni pojmi pri teh sistemih

More information

!!!!!5_hard_disk.doc. Trdi diski

!!!!!5_hard_disk.doc. Trdi diski 1 Trdi diski Vmesniki trdih diskov Vmesniki trdih diskov omogočajo priključitev trdih diskov na PC oz. matično ploščo. Sodoben PC ima enega ali več različnih vmesnikov: ATA (AT Attachment) SATA (Serial

More information

Koncepti izdelave mobilnih iger v operacijskem sistemu Android

Koncepti izdelave mobilnih iger v operacijskem sistemu Android UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Jernej Hartman Koncepti izdelave mobilnih iger v operacijskem sistemu Android DIPLOMSKO DELO VISOKOŠOLSKI STROKOVNI ŠTUDIJSKI PROGRAM PRVE

More information

PRIMERJAVA SPLETNIH REŠITEV ZA MODELIRANJE POSLOVNIH PROCESOV

PRIMERJAVA SPLETNIH REŠITEV ZA MODELIRANJE POSLOVNIH PROCESOV UNIVERZA V MARIBORU FAKULTETA ZA ELEKTROTEHNIKO, RAČUNALNIŠTVO IN INFORMATIKO Hejdi Martinšek PRIMERJAVA SPLETNIH REŠITEV ZA MODELIRANJE POSLOVNIH PROCESOV Diplomsko delo Maribor, avgust 2016 PRIMERJAVA

More information

UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH SYMBIAN

UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH SYMBIAN I Tine Uršič UPORABA TEHNOLOGIJE VOIP NA MOBILNIH NAPRAVAH SYMBIAN Diplomsko delo Visokošolski strokovni študijski program Maribor, januar 2013 II Diplomsko delo visokošolskega strokovnega študijskega

More information

Izdelava aplikacij s podporo delovnih tokov za okolje SharePoint Server

Izdelava aplikacij s podporo delovnih tokov za okolje SharePoint Server UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Uroš Kastelic Izdelava aplikacij s podporo delovnih tokov za okolje SharePoint Server DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Ljubljana,

More information

INFORMACIJSKA PODPORA ZA NADZOR IN UPRAVLJANJE RAČUNALNIŠKIH OMREŽIJ

INFORMACIJSKA PODPORA ZA NADZOR IN UPRAVLJANJE RAČUNALNIŠKIH OMREŽIJ Domen Rogina INFORMACIJSKA PODPORA ZA NADZOR IN UPRAVLJANJE RAČUNALNIŠKIH OMREŽIJ Diplomsko delo Maribor, september 2013 INFORMACIJSKA PODPORA ZA NADZOR IN UPRAVLJANJE RAČUNALNIŠKIH OMREŽIJ Diplomsko delo

More information

Uporaba metodologije ITIL v praksi s pomočjo odprtokodnih orodij

Uporaba metodologije ITIL v praksi s pomočjo odprtokodnih orodij UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Jure Baznik Uporaba metodologije ITIL v praksi s pomočjo odprtokodnih orodij DIPLOMSKO DELO NA VISOKOŠOLSKEM STROKOVNEM ŠTUDIJU Mentor: pred.

More information