80
Zmago Fluks KOMPARATIVNA ANALIZA VIRTUALIZACIJSKIH OKOLIJ Diplomsko delo Maribor, november 2009

Zmago Fluks - COnnecting REpositories · 2020. 1. 30. · 2.1.1 ATLAS Prvi izmed superračunalnikov v zgodnjih 1960, ki je imel prednost konceptov časovnega deljenja, multi programiranja

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Zmago Fluks

KOMPARATIVNA ANALIZA VIRTUALIZACIJSKIH OKOLIJ

Diplomsko delo

Maribor, november 2009

I

Diplomsko delo visokošolskega strokovnega študijskega programa

KOMPARATIVNA ANALIZA VIRTUALNIH OKOLIJ

Študent: Zmago Fluks

Študijski program: VS ŠP Računalništvo in informatika

Smer: Informatika

Mentor: Izr. prof. dr. Bojan Novak, Informatika

Lektorica: Violeta Ravnjak, prof. slovenščine

Maribor, november 2009

UNIVERZA V MARIBORU

II

III

ZAHVALA

Zahvaljujem se mentorju za pomoč in vodenje ter

strokovno podporo pri opravljanju diplomskega

dela.

Posebna zahvala velja staršem, ki so mi omogočili

študij ter me podpirali pri doseganju mojih

življenjskih ciljev.

IV

KOMPARATIVNA ANALIZA VIRTUALNIH OKOLIJ

Ključne besede: virtualizacija, paravirtualizacija, xen, kvm, qemu, linux, benchmarking

UDK: 004.94(043.2)

Povzetek

Diplomsko delo obravnava tematiko računalniške virtualizacije in primerjavo med

različnimi virtualnimi okolji.

Cilj diplomske naloge je predstaviti virtualizacijo in njene tehnologije ter izvesti

performančne teste za boljšo predstavo, kolikšen potencial prinaša določeno virtualno

okolje v dani situaciji. V diplomskem delu se bomo osredotočali na dve različni perspektivi

v virtualizaciji. Ena perspektiva je, kot jo vidi uporabnik sam in kaj mu prinaša

virtualizacija. Druga perspektiva so podjetja ter njihov pogled na poslovanje, oz. kakšne

so sploh pozitivne posledice uporabe virtualnih sistemov. Namreč oba vidika sta si dokaj

različna in zato so tudi virtualizacijske tehnologije temu prilagojene.

Vsekakor virtualizacija je tehnologija sedanjosti in prihodnosti, zaradi česar je toliko bolj

pomembno posvetiti pozornost temu področju.

V

COMPARATIVE ANALYSIS OF VIRTUAL TECHNOLOGIES

Key words: virtualization, paravirtualization, xen, kvm, qemu, linux, benchmarking

UDK: 004.94(043.2)

Abstract

Diploma thesis deals with the topic of computer virtualization and the comparison between

different virtual environments.

The aim of the diploma work is presented and its virtualization technology, as well as an

performance tests for increased understanding of what brings out the potential of virtual

environment in a given situation. In diploma work, we will focus on two different

perspectives in virtualization. One perspective is seen by the user and what can

virtualization brings to him. Another perspective are companies and their view of the

business or what are the positive consequences of the use of virtual systems. In fact both

aspects are quite different and, therefore, virtualization technologies are also being

adjusted accordingly.

In any case, the virtualization is technology of now and of the future which makes even

bigger importance to put attention onto this area of computing.

VI

VSEBINA

1 UVOD................................................................................................................................1

2 VIRTUALNA OKOLJA..................................................................................................3

2.1 ČASOVNI RAZVOJ...................................................................................................3

2.1.1 ATLAS..................................................................................................................4

2.1.2 M44/44X PROJECT.............................................................................................4

2.1.3 CP/CMS...............................................................................................................4

2.1.4 OSTALI PROJEKTI DELJENJA ČASA...............................................................5

2.1.5 EKSPLOZIJA VIRTUALIZACIJE MED LETI 1990 IN 2000..............................5

2.1.6 POPEK IN GOLDBERG VIRTUALIZACIJSKE ZAHTEVE................................6

2.2 VRSTE VIRTUALNIH SISTEMOV..........................................................................6

2.2.1 STREŽNIŠKA VIRTUALIZACIJA........................................................................7

2.2.2 PODATKOVNA VIRTUALIZACIJA....................................................................7

2.2.3 OMREŽNA VIRTUALIZACIJA............................................................................8

2.2.4 APLIKACIJSKA VIRTUALIZACIJA ...................................................................9

2.3 VIRTUALIZACIJA IN RAČUNALNIŠTVO V OBLAKU.......................................9

3 VIRTUALIZACIJA V PRAKSI...................................................................................12

3.1 PREDNOSTI VIRTUALIZACIJE............................................................................13

3.2 USKLAJEVANJE VIRTUALNE INFRASTRUKTURE ZA ZAGOTAVLJANJE

APLIKACIJ......................................................................................................................15

3.3 CENTRALIZIRAN IN DECENTRALIZIRAN PRISTOP......................................16

3.4 POGOSTI PRIMERI UPORABE.............................................................................19

3.4.1 SCENARIJ MOBILNEGA UPORABNIKA........................................................20

3.4.2 SCENARIJ UPORABNIKA V PISARNI.............................................................20

3.4.3 SCENARIJ UPORABNIKA S SPECIFIČNIMI NALOGAMI ............................20

3.4.4 SCENARIJ POGODBENEGA DELAVCA.........................................................21

3.4.5 SCENARIJ DOSTOPA POVSOD......................................................................21

4 ANALIZA VIRTUALNIH TEHNOLOGIJ.................................................................22

VII

4.1 VIRTUALNA STROJNA OPREMA.......................................................................22

4.1.1 PROCESORSKE ARHITEKTURE.....................................................................22

4.1.2 VIRTUALNO OMREŽJE...................................................................................23

4.1.2.1 NAT.............................................................................................................23

4.1.2.2 MREŽNI MOST..........................................................................................24

4.1.3 VIRTUALNI PODATKOVNI MEDIJI ...............................................................24

4.1.3.1 TRDI DISK.................................................................................................24

4.1.3.2 CD IN DVD POGONI................................................................................25

4.1.3.3 USB NAPRAVE.........................................................................................25

4.2 PARAVIRTUALIZACIJA........................................................................................26

5 VIRTUALIZACIJSKA PROGRAMSKA OPREMA.................................................27

5.1 HYPERVISOR..........................................................................................................27

5.1.1 HYPERVISOR VRSTE 1....................................................................................27

5.1.2 HYPERVISOR VRSTE 2....................................................................................28

5.2 NAJPOGOSTEJE UPORABLJENE TEHNOLOGIJE.............................................28

5.2.1 QEMU................................................................................................................29

5.2.2 KVM...................................................................................................................29

5.2.3 XEN....................................................................................................................31

5.2.3.1 XEN HYPERVISOR...................................................................................31

5.2.3.2 DOMENA 0................................................................................................32

5.2.3.3 DOMENA U................................................................................................33

5.2.4 VIRTUALBOX....................................................................................................35

5.2.5 VMWARE...........................................................................................................35

5.2.6 HYPER-V...........................................................................................................35

5.2.7 OSTALI SISTEMI...............................................................................................36

6 ADMINISTRACIJA SISTEMOV................................................................................38

6.1 KREIRANJE VIRTUALNIH STROJEV.................................................................38

6.1.1 DODATNI PARAMETRI PRI NASTAVITVAH VIRTUALNEGA STROJA........45

6.2 LIVE MIGRATION..................................................................................................49

VIII

6.3 OBREMENJENOST SISTEMOV............................................................................51

6.4 FRAGMENTACIJA PODATKOVNIH MEDIJEV.................................................53

7 PRIMERJALNA ANALIZA HITROSTI....................................................................55

7.1 TESTNI RAČUNALNIŠKI SISTEMI......................................................................55

7.2 BENCHMARKI........................................................................................................55

7.2.1 PHORONIX........................................................................................................56

7.2.2 GEEKBENCH....................................................................................................59

7.2.3 APACHE SPLETNI STREŽNIK.........................................................................63

7.3 ANALIZA REZULTATOV......................................................................................64

8 SKLEP.............................................................................................................................65

9 VIRI, LITERATURA....................................................................................................66

10 PRILOGE......................................................................................................................67

10.1 SEZNAM SLIK...............................................................................................................67

10.2 SEZNAM PREGLEDNIC....................................................................................................68

10.3 DRUGE PRILOGE...........................................................................................................68

10.4 NASLOV ŠTUDENTA......................................................................................................68

10.5 KRATEK ŽIVLJENJEPIS...................................................................................................69

IX

UPORABLJENE KRATICE

IT - informacijska tehnologija - zajema področja zajemanja, obdelovanja, shranjevanja in

prenašanja vseh vrst informacij

VMM - virtual machine monitor – monitor virtualnega stroja ali z drugo besedo

hypervisor, je programska oprema, ki omogoča večim operacijskim sistemom istočasno

poganjanje na gostujočem računalniku.

GB - gigabyte oz. Gigabajt - 1 GB = 1024 (210) MB 1 GB = 10242 (220) kB 1 GB = 10243

(230) kB = 1.073.741.824 bajtov podatkov

NAT - Network Address Translation

MFLOPS - million instructions per second (milijon ukazov na sekundo)

RSA - Rivest, Shamir in Adleman kriptografski algoritem

SCSI - Small Computer System Interface

RAID - redundant array of inexpensive disks

IP – internet protocol

DHCP - Dynamic Host Configuration Protocol

I/O – input/output

http - Hypertext Transfer Protocol

Stran 1

1 UVOD

V računalništvu lahko spremljamo neprestano evolucijo tehnologij, ki pripomorejo ogromno k lažjemu in bolj funkcionalnemu izražanju človeške kreativnosti. Tehnologije, ki so bile nekoč znanstvena fantastika, so danes del vsakdana. Z evolucijo včasih pride do popolnih preobratov oz. do revolucije, ki ljudem posledično tudi spremeni dojemanje konceptov računalništva. Z revolucijo sledi razvoj tehnologij v novi smeri, o kateri pred leti sploh še ni nihče razmišljal ali pa je tehnologija že obstajala, obstajale pa so druge omejitve, kot na primer preslaba zmogljivost računalnikov, nezmožnost videti revolucionarni tehnološki koncept v vsakdanjem življenju, slab sprejem nove tehnologije med uporabniki itd... Primer revolucionarnega pristopa je tudi računalniška virtualizacija, ki v računalniško področje prinaša nove razsežnosti. Še pred 15 leti je bila ideja poganjanja operacijskega sistema znotraj že obstoječega sistema nekaj popolnoma nepredstavljivega za povprečnega uporabnika, sedaj pa postaja že vsakdanjost in ponekod celo nuja. V podjetjih se tudi zmanjšuje število računalniških sistemov, kjer je za vsakega določen namen, ter se povečuje število sistemov, ki konsolidirajo in virtualizirajo obstoječe IT okolje.

V diplomskem delu se bomo osredotočali na dve različni perspektivi v virtualizaciji. Ena perspektiva je, kot jo vidi uporabnik sam in kaj mu prinaša virtualizacija. Druga perspektiva so podjetja ter njihov pogled na poslovanje, oz. kakšne so sploh pozitivne posledice uporabe virtualnih sistemov. Namreč oba vidika sta si dokaj različna in zato so tudi virtualizacijske tehnologije temu prilagojene. Medtem ko je uporabniku osebnega računalnika zanimivo, da lahko istočasno poganja več operacijskih sistemov, je podjetju v interesu zmanjšanje stroškov in povečanje efektivnosti, produktivnosti in zanesljivosti računalniških sistemov. To je še posebej perspektivno v času recesije, ko je interes vseh imeti čimmanj stroškov in čim več dobička. Z inovativnimi pristopi se da veliko privarčevati ter uporabiti že obstoječo računalniško infrastrukturo brez potrebe po nakupu nove ali pa se izogniti nepotrebnemu velikemu številu računalniških sistemov, pri katerih so potrebne ciklične nadgradnje, oteženo vzdrževanje ter stroški električne energije. Za virtualni sistem je dovolj že samo en dovolj zmogljiv računalnik, ki lahko opravlja naloge večih fizičnih preko virtualnih računalnikov. Glede virtualnih računalnikov oz. strojev skorajda ni arhitekturnih omejitev. Na enem virtualnem sistemu lahko poganjamo hkrati na primer: Windows Vista, Windows Server 2008, Ubuntu Linux, Solaris, OS X … Manipulirati je možno od uporabe procesorjev (v primeru če jih je več), uporabe pomnilnika, trdih diskov, DVD pogonov, USB priključkov … Z virtualnimi računalniki lahko počnemo vse, kar lahko z fizičnimi, oz. počnemo lahko še mnogo več. Dilema, ki nastopi, predvsem je, katero tehnologijo uporabiti kje in kdaj. Namreč razvitih je že mnogo različnih tehnologij, ki delujejo v osnovi po enakem principu, ampak pri uporabi v praksi pa se zelo razlikujejo.

V diplomski nalogi bomo spoznali najbolj pogosta virtualna okolja ter njihovo delovanje. V drugem poglavju bomo opisali časovni razvoj virtualnih sistemov ter tudi njihove vrste. Tretje poglavje govori o virtualizaciji v praksi oz. o prednostih in slabostih, o

Stran 2

centraliziranem pristopu v podjetjih ter o najpogostejših primerih virtualizacije, s katerimi se srečujemo v praksi. V četrtem poglavju bomo koncept virtualizacije spoznali nekoliko globje, kjer bomo razložili, kaj se sploh dogaja v ozadju, oz. kako virtualni računalnik sploh „vidi“ fizični računalnik. Spoznali bomo tudi koncept paravirtualizacije, kjer se virtualni računalniki izvajajo dejansko na fizični strojni opremi in ne na virtualni. V petem poglavju bo tekla beseda o najpogostejših tehnologijah, ki so na voljo sedaj na tržišču ter kratka primerjava funkcionalnosti med njimi. Šesto poglavje je iz vidika administracije sistemov bolj zanimivo za poslovna okolja, kjer si ne moremo privoščiti napak. Nazadnje v sedmem poglavju bomo pa predstavili osrednji del diplomskega dela, kjer smo preizkušali zmogljivosti med sistemi. Opisali bomo tudi metodo benchmarkinga, ki nam služi kot metrika za zmogljivost računalniških sistemov. Osredotočili se nismo le na matematične metode, ampak tudi na metode iz strežniškega sveta, kot je na primer Apache spletni strežnik. Če nam že virtualni sistemi prinašajo toliko novih možnosti, nas je zanimalo, kakšne so izgube same računalniške moči, če sistem teče direktno na strojni opremi ali pa v virtualnem okolju. Seveda na koncu sledi še sklep, kjer ugotavljamo, kaj lahko pričakujemo na področju virtualizacije v prihodnosti, oz. kje so omejitve.

Stran 3

2 VIRTUALNA OKOLJA

Virtualna okolja so namenjena za lažjo administracijo virtualnih računalnikov. Ampak najprej moramo razložiti, kaj virtualizacija sploh pomeni. Na primer ena izmed definicij je: virtualizacija je polno zaščitena in izolirana kopija računalniške strojne opreme. Ampak različni proizvajalci in neodvisni razvijalci programske opreme so ime virtualizacija prilagodili svojim produktom kot orodje, ki pomaga podjetjem pri vzpostavljanju virtualne infrastrukture. Njihove trditve niso napačne, vse dokler njihovi produkti izpolnjujejo nekatere od ključnih točk, ki so objektivnega pomena pri vsaki virtualni tehnologiji.

Te točke so:

– dodana plast abstrakcije med aplikacijo in strojno opremo;

– omogoča zmanjšanje stroškov in kompleksnosti;

– ponuja izolacijo računalniških virov za boljo zanesljivost in varnost;

– izboljša raven storitev in njihovo kvaliteto;

– boljše usklajevanje IT procesov z poslovnimi cilji;

– odpravlja redundanco in povečuje upravljanje IT infrastruktur.

Medtem ko je večina oblik virtualizacije osredotočena na strežniške računalniške platforme, so te tehnologije našle tudi prostor v ostalih kritičnih in dragih komponentah sodobnih podatkovnih centrov, vključno z podatkovno in mrežno infrastrukturo.

2.1 ČASOVNI RAZVOJ

V svoji osnovni obliki je virtualizacija bolje znana v letih 1960 kot časovna delitev. Christopher Strachey, prvi profesor računalništva na univerzi v Oxfordu in vodja Programske razvojne skupine, je prinesel izraz virtualizacija v njegovem članku Time Sharing in Large Fast Computers (Časovna delitev v velikih hitrih računalnikih). Strachey je bil zagovornik ohranjanja ravnotežja med praktičnim in teoretičnim delom v računalništvu, kar se je nanašalo, kar je sam označil kot multi-programiranje [03]. Ta tehnika bi lahko dovolila enemu programerju razvijati program v njegovi konzoli, medtem ko bi ga drugi programer razhroščeval, s čimer bi se izognil čakanju na računalniško periferijo. Multi-programiranje, kot tudi ostale prelomne ideje, so peljali inovacijo k rezultatu serije računalnikov, ki prodirajo na sceno. Dva se štejeta za del evolucijskega rodu virtualizacije, kot jo sedaj poznamo. To sta Atlas in IBM M44/44X.

Stran 4

2.1.1 ATLAS

Prvi izmed superračunalnikov v zgodnjih 1960, ki je imel prednost konceptov časovnega deljenja, multi programiranja in deljenja kontrole nad računalniško periferijo, je bil Atlas računalnik. Projekt je bil voden na univerzi v Manchestru na oddelku za elektrotehniški inženiring ter bil financiran s strani Ferranti Limited. Atlas je bil najhitrejši računalnik tedaj. Za hitrost, ki jo je dosegal, je bila delno odgovorna ločitev procesov operacijskega sistema v komponenti imenovani supervisor (nadzornik) in komponenti odgovorni za izvrševanje uporabnikovih programov. Supervisor je upravljal ključne vire, kot so računalniški procesorski čas, ter posredoval posebna navodila ali kode v pomoč pri določevanju in upravljanju računalniškega okolja za navodila uporabnikovega programa. V bistvu je to bilo rojstvo hypervisorja oz. nadzornika virtualnega stroja.

Kasneje so v Atlasu predstavili koncept virtualnega spomina, poimenovanega one-level store (shranjevanje na enem nivoju) in paging tehnike za sistemski pomnilnik (postopek, pri katerem se pomnilniške strani v delovnem pomnilniku začasno shranijo na disk). To jedro za shranjevanje je bilo tudi logično ločeno od shranjevanja uporabljenega pri uporabnikovih programih, kljub temu da sta bila oba integrirana. V večih pogledih je bil to prvi korak k ustvarjenju plasti abstrakcije, ki je skupna vsem virtualizacijskim tehnologijam.

2.1.2 M44/44X PROJECT

Konkurenčna atmosfera je vzpodbudila IBM, ki je odgovoril z M44/44X Project . Razvili so ga v IBM Thomas J. Watson raziskovalnem centru v Yorktownu v New Yorku, z zelo podobno arhitekturo kot Atlas računalnik [03]. Ta arhitektura je bila prva, ki je vpeljala izraz virtualnih strojev ter postala IBM-ov prispevek k razvijajočim se konceptov sistemov časovnega deljenja. Glavni stroj je bil IBM 7044 (M44) znanstveni računalnik in nekaj simuliranih 7044 virtualnih strojev ali 44X-ov, ki so uporabljali hkrati strojno in programsko opremo, virtualni spomin in koncept multi programiranja.

Za razliko od poznejših implementacij sistemov deljenja časa, M44/44X virtualni stroji niso implementirali celotne simulacije strojne opreme. Namesto tega so spodbujali pojmovanje, da so virtualni stroji enako učinkoviti kot konvencionalni pristopi. Da bi potrdili to pojmovanje, je IBM uspešno razvil naslednike M44/44X projekta, ki so pokazali, da ta trditev ni samo resnična, ampak lahko celo vodi k novemu pristopu v računalništvu.

2.1.3 CP/CMS

Kasnejši dizajn, IBM 7094 so dokončali raziskovalci v MIT (Massachusetts Institute of Technology) in IBM-ovi inženirji, je predstavil sistem kompatibilnega deljenja časa

Stran 5

(Compatible Time Sharing System – CTSS). Izraz kompatibilnost se je nanašal na kompatibilnost s standardnim procesnim operacijskim sistemom, uporabljenim na stroju Fortran Monitor System (FMS). CTSS ni bil sposoben poganjati samo FMS v glavnem 7094 kot primaren objekt, ampak je znal poganjati tudi ne modificirano kopijo FMS v vsakem ločenem virtualnem stroju kot objekt v ozadju [03]. Programi v ozadju so lahko dostopali do vse periferije, kot so kasetni trakovi, printerji, kartice, grafični ekrani itd., v enakem principu kot programi, ki so bili v ospredju, vse dokler niso motili procesorjev deljenja časa v ospredju.

2.1.4 OSTALI PROJEKTI DELJENJA ČASA

– Livermore Time-Sharing system (LTSS) : Razvil ga je Lawrence Livermore Laboratory v letih 1960 kot operacijski sistem za Control Data CDC 7600 superračunalnike. CDC 7600 z LTSS je bil kot najhitrejši računalnik na svetu v tistih časih.

– Cray Time-Sharing System (CTSS) : Razvit je bil med prvimi Cray superračunalniki na začetku leta 1970. Projekt je vodil Lawrence Livermore Laboratory, ki je imel že izkušnje z uspešnim LTSS operacijskim sistemom. Cray X-MP računalniki z CTSS so bili pogosto uporabljani v oddelku za nuklearne raziskave v ZDA.

– New Livermore Time-Sharing System (TLTSS) : Zadnja iteracija CTSS je bila razvita, da bi vključevala takrat najnovejše računalniške koncepte, kot je nov komunikacijski protokol TCP/IP in LINCS. Žal ni bil dobro sprejet, zato so ga tudi prenehali razvijati v poznih 1980.

2.1.5 EKSPLOZIJA VIRTUALIZACIJE MED LETI 1990 IN 2000

Medtem ko so v preteklosti bili nekateri poskusi uspešni in drugi neuspešni, so se v začetku 1990 začeli poskusi strežniške virtualizacije kot tudi poskus poenostavitve podatkovnih centrov ter delitev infrastrukture ali konsolidacija. Veliko podjetij, kot so Sun Microsystems, Microsoft in VMware so razvili produkte za uporabo v podjetjih, s katerimi so si tudi zgradili svojo bazo zvestih uporabnikov. Kakorkoli že, Xen je začel konkurenco ogrožati s svojim inovativnim pristopom k virtualizaciji. Dobro je bil tudi sprejet v Linux skupnosti ter je zdaj integriran v mnogo popularnih Linux distribucij.

Stran 6

2.1.6 POPEK IN GOLDBERG VIRTUALIZACIJSKE ZAHTEVE

Te zahteve so za določitev zadostnih pogojev za računalniške arhitekture za učinkovito podporo sistema za virtualizacijo. Gerald J. Popek in Robert P. Goldberg sta te zahteve opisala leta 1974 v članku Formal Requirements for Virtualizable Third Generation Architectures (Formalne zahteve za virtualizacijo arhitektur tretje generacije) [06]. Arhitekture tretje generacije so bile takrat IBM 360, Honeywell 6000, DEC PDP-10...

Sistem virtualnih strojev je zmožen virtualizirati popoln sklop virov strojne opreme, vključno s procesorjem, spominom in medijev za shranjevanje podatkov ter perifernih naprav. VMM (Monitor virtualnega stroja) je del programske opreme, ki omogoča abstrakcijo virtualnega stroja. Tukaj obstajajo tri lastnosti interesov pri analizi okolja, kreiranega s strani VMM. V terminologiji Popeka in Goldberga, VMM mora imeti vse tri lastnosti:

– Enakovrednost: program, ki teče v VMM bi naj pokazal enakovredno vedenje, kadar teče na podobnem računalniku direktno brez virtualizacije.

– Nadzor nad viri: virtualizirani računalniški viri morajo biti pod popolnim nadzorom VMM.

– Učinkovitost: statistično prevladujoči del računalniških ukazov mora biti izvršen brez posredovanja VMM.

2.2 VRSTE VIRTUALNIH SISTEMOV

Na področju modernih informacijskih tehnologij obstaja veliko različnih oblik virtualizacije. Najbolj pogosta oblika je strežniška virtualizacija, katero večina ljudi tudi najpogosteje povezuje s samim izrazom virtualizacija. Vključno s strežniško pa obstajajo tudi ostale oblike virtualizacije. Virtualizacija ne pomeni samo razdelitev računalniških virov na več entitet, kot si to večina ljudi predstavlja. Pomeni lahko tudi nasprotno: predstavitev več entitet kot posamezno virtualno entiteto, kar pomeni skriti resnične računalniške vire, ki opravljajo delo, v ozadje. Slednji pristop k virtualizaciji je tudi uporabilo veliko podjetij, ki so razvila virtualizacijske produkte za hrambo podatkov, omrežje in aplikacije [07]. V nadaljevanju bomo govorili o treh vrstah virtualizacije: strežniška, shranjevalna (storage virtualization), mrežna in aplikativna.

Stran 7

2.2.1 STREŽNIŠKA VIRTUALIZACIJA

Strežniška virtualizacija je med najbolj razširjenimi oblikami v uporabi dandanes. Med najbolj popularnimi arhitekturami sta x86 in x86-64. Obstaja več različnih oblik te virtualizacije.

Polna virtualizacija ali full virtualization v angleščini je virtualizacijska tehnika, ki ponuja polno simulacijo strojne opreme. Kot rezultat imamo sistem, ki je sposoben poganjanja vse programske opreme na strojni opremi v virtualnem stroju. Polna virtualizacija ima tudi najširši razpon podprtih gostujočih operacijskih sistemov. Gostujoč operacijski sistem je tisti, ki ga poganjamo v virtualnem stroju. Pozitivna lastnost te tehnologije je polna izolacija vsakega virtualnega stroja. Večina operacijskih sistemov je lahko nameščenih brez kakršnih modifikacij. Ponuja približno hitrost procesorja in spomina gostiteljskega računalnika [01].

Druga tehnika je paravirtualizacija ki ponuja delno simulacijo strojne opreme. Ključna lastnost je virtualni imenski prostor, ki garantira vsakemu posameznemu virtualnemu stroju edinstven imenski prostor. Dobra lastnost je hitrost, ki jo je možno dosegati ravno s temi deli virtualizacije, kjer strojne opreme ne emuliramo, ampak virtualni stroj delno izvajamo brez emulacije. Slaba lastnost tega pristopa je v tem, da ni možno izvajati operacijskih sistemov v tem načinu brez predhodnih modifikacij, kar za sabo potegne tudi razpon podprtih operacijskih sistemov, ki jih lahko uporabimo v tem načinu. Najpogosteje se v tem načinu poganjajo odprtokodni operacijski sistemi, kjer je veliko lažje ustvariti modifikacije.

Tretja tehnika je virtualizacija operacijskega sistema. Ta koncept je zasnovan na instanci enega samega operacijskega sistema. Je zelo efektiven iz stališča namestitve in upravljanja ter hitrosti. Ne podpira mešanih družin operacijskih sistemov, kot na primer Windows in Linux. Virtualni stroji niso toliko izolirani in zavarovani kot pri ostalih virtualnih tehnikah.

Četrta tehnika se v računalniški terminologiji imenuje native virtualization oz. nativna virtualizacija. Ta tehnika je najnovejša in je hibridnega tipa, kar v tem primeru pomeni kombinacijo polne virtualizacije in paravirtualizacije s tehnologijami pospeševanja vzhodno izhodnih enot. Tehnika je podobna polni virtualizaciji, kjer lahko operacijske sisteme nameščamo brez modifikacij s to razliko, da v tem primeru izkoriščamo prednosti modernih procesorskih tehnologij, ki so namenjeni virtualizaciji (Intel VT in AMD-V), kar je tudi pomanjkljivost. Namreč starejši procesorji, ki ne podpirajo te tehnologije, žal v tem primeru ne pridejo v poštev [01].

2.2.2 PODATKOVNA VIRTUALIZACIJA

Tehnologije, ki omogočajo visoko performančne rešitve za shranjevanje podatkov, so na tržišču že dalj časa. V najbolj osnovni obliki je podatkovna virtualizacija v smislu več fizičnih diskovnih pogonov združenih v eno samo entiteto, ki je predstavljena strežniku in operacijskemu sistemu, na primer RAID implementacije. To lahko štejemo kot

Stran 8

virtualizacijsko tehniko, ker vsi logični pogoni delujejo z samo eno logično enoto kljub temu, da je v ozadju sestavljena iz dveh ali več diskov.

Naslednja stopnja povezovanja podatkovnih medijev in njihovih komponent je mrežni podatkovni prostor ali krajše SAN (storage area network). IT organizacije lahko s to tehnologijo uporabljajo in delijo podatkovne komponente med več strežnikov, brez kakršne koli modifikacije operacijskega sistema, kljub temu da vsak posamezen strežnik vidi, kot da ima svoj dodeljen fizični podatkovni pogon [05]. Na tem področju je tehnologija že toliko napredovala, da je sedaj praktično mogoče migrirati podatkovni sistem iz ene platforme na drugo v ozadju v realnem času brez prekinitev pri uporabi samega sistema. Ta oblika virtualizacije je namenjena velikim podjetjem in ne domači rabi.

2.2.3 OMREŽNA VIRTUALIZACIJA

Proizvajalci omrežne opreme so aktivni na področju virtualizacije že dalj časa, kljub temu da njihovi izdelki niso bili zmeraj poznani kot virtualizacija. Najbolj popularne oblike omrežne virtualizacije so: VLAN (virtualni LAN), VIP (virtualni IP) in VPN (Virtualno privatno omrežje).

VLAN je ratificiran kot standard IEEE 802.1Q [08]. Je metoda, s katero lahko ustvarimo neodvisna logična omrežja znotraj deljenega fizičnega omrežja. Mrežni administratorji uporabljajo to tehnologijo v svojih omrežjih za logično razporeditev omrežnih naprav in za kontrolo interakcije med napravami v različnih mrežnih segmentih. Več naprav je lahko fizično povezanih v samo omrežno stikalo, ampak VLAN nam omogoča kreiranje večih virtualnih omrežij, s katerimi izoliramo posamezen segment od ostalih. Vsak segment razpolaga z viri, ki so na razpolago na gostiteljevem stikalu, kot na primer: procesor, spomin, pasovna širina prenosa podatkov itd...

VIP je virtualni internetni naslov (IP), ki ni priključen na specifični računalniški ali mrežni vmesnik v računalniku. Običajno so dodeljeni mrežni napravi, ki je na poti prehajanja mrežnega prometa. Dohodni paketi so poslani VIP in preusmerjeni na dejanski fizični vmesnik. VIP so večinoma uporabljeni za redundanco in scenarije nadzora obremenjenosti, kjer več sistemov gostuje skupno aplikacijo.

VPN so virtualna privatna omrežja. Uporabljamo jih za varno komunikacijo v javnih omrežjih, kot je na primer internet. Z VPN ustvarimo varen kanal za prenos privatnih oz. občutljivih podatkov za pošiljanje iz ene na drugo stran. Tehnologija je tudi uporabna v poslovnem svetu, kjer želimo zaposlenim, ki delajo od doma, omogočiti dostop do omrežja podjetja. Za priključitev v VPN omrežje potrebujemo posebno programsko opremo. Ko se enkrat povežemo, lahko razpolagamo z viri v omrežju, kot da bi bili fizično povezani nanj.

Stran 9

2.2.4 APLIKACIJSKA VIRTUALIZACIJA

Ta vrsta virtualizacije je najnovejši član hitro rastoče družine virtualizacije. Je nov pristop pri vodenju programske opreme. Spreminja paradigmo ter se veže med aplikacije, operacijski sistem in strojno opremo, ki poganja operacijski sistem. Aplikacijska virtualizacija uporablja virtualne programske pakete, kamor namestimo aplikacijo, namesto konvencionalnih procedur namestitev. Aplikacijski paketi so lahko kadarkoli aktivirani ali de-aktivirani ali ponastavljeni na svoje privzete konfiguracije. S tem pristopom tudi ublažimo interferenco z ostalimi aplikacijami. Ugodnosti, ki jih prinaša ta tehnologija, je več. Kot smo že dejali, se zmanjša interferenca z ostalimi aplikacijami in s tem tudi večina konfliktov, ki lahko nastanejo ko posledica. Aplikacije v tem načinu imajo zagotovilo, da bodo lahko dobro delovale glede na to, da imajo na razpolago svoj delovni prostor, kamor lahko zapisujejo nastavitve registra ali ostalih parametrov, ne da bi posegali v sam operacijski sistem ali pa motili ostale delujoče aplikacije. Druga pozitivna lastnost je, da lahko aplikacije sestavimo kot pakete, ki ne potrebujejo namestitve, ampak jih lahko takoj poženemo. V tem primeru je lahko aplikacije tudi zelo preprosto prenesti preko omrežja ter jih takoj uporabljati. Več aplikacij lahko tudi teče na eni sami instanci operacijskega sistema, brez kakršnih koli konfliktov. Izboljšana je tudi migracija na novejše verzije aplikacij ter pospešeno testiranje integracije novih funkcionalnosti v določenem okolju.

Kot primer te tehnologije je Java in .NET. Programska koda ne deluje direktno na strojni opremi, ampak v svojem virtualnem okolju. S tem je tudi izboljšana prenosljivost med različnimi platformami. Drugi zelo dober primer je WINE okolje. Je Windows emulator oz. virtualno okolje, znotraj katerega lahko poganjamo programe na drugih platformah, ki so napisani za Windows okolje. Na primer v operacijskem sistemu Linux potrebujemo program, za katerega ne obstaja alternativa, napisan pa je samo za Windows okolje, zato ga namestimo znotraj WINE okolja, ki se transparentno vključi v obstoječ operacijski sistem.

2.3 VIRTUALIZACIJA IN RAČUNALNIŠTVO V OBLAKU

Računalništvo v oblaku je nastalo kot posledica ekonomskih, komercialnih, kulturnih in tehnoloških pogojev, ki so se združili v spremembo v IT (informacijski tehnologiji) k storitveno usmerjeni ekonomiji. Motivacija za to spremembo je koristnost in udobje za IT.

Zmanjševanje stroškov, pospešitev procesov in poenostavitev upravljanja so vitalni dejavniki za uspešnost efektivne IT infrastrukture. Podjetja se pospešeno spreminjajo v bolj fleksibilna IT okolja, ki jim omogočajo doseči njihove cilje. Računalništvo v oblaku daje moč opravilom, ki so dodeljena v kombinaciji z programsko opremo in storitvami v omrežju. Ta mreža strežnikov je oblak. Računalništvo v oblaku lahko pomaga podjetjem preobraziti obstoječo strežniško infrastrukturo v dinamično okolje, razširiti in zmanjšati kapaciteto strežnikov, odvisno od njihovih zahtev.

Stran 10

Računalništvo v oblaku je računalniški način, v katerem so dinamično slabilna oziroma razširljiva in velikokrat virtualizirana sredstva predstavljena kot storitve v omrežju oziroma internetu. Uporabniki ne potrebujejo znanja oziroma strokovnega znanja ali kontrole tehnološke infrastrukture v oblaku, ki jim prinaša storitve.

Koncept računalništva v oblaku vključuje kombinacijo naslednjih:

– infrastruktura kot storitev(infrastructure as a service IaaS) (na primer Amazon in FlexiScale);

– ogrodje oziroma platforma kot storitev (platform as a service - PaaS) (na primer Ning, BungeeLabs in Azure);

– aplikacija oziroma programska oprema kot storitev (software as a service - SaaS) (na primer Salesforce, Zoho in Google Apps);

– ostale tehnologije, ki se nanašajo na internet za zadovoljevanje računalniških potreb uporabnikov (storitve predstavljajo aplikacije na internetu, katere dostopamo s spletnim brskalnikom, medtem ko so aplikacije in podatki shranjeni na strežnikih).

Izraz oblak (angleško: cloud) je uporabljen kot metafora za internet, z osnovo na tem, kako je internet upodobljen v računalniških mrežnih diagramih, ter je tudi abstrakcija za kompleksno infrastrukturo, pod katero se skriva [21].

Prvič je cloud computing definiral Prof. Ramnath K. Chellappa (Univerza Emory v ZDA) kot računalniška paradigma, kjer so meje računalniške zmogljivosti določene z ekonomskimi načeli namesto z tehničnimi mejami.

Slika 1: Ekonomija računalništva v oblaku [21]

Stran 11

Kot je razvidno s slike, stroški naraščajo recipročno z naraščanjem števila uporabnikov oziroma s posledično večjo obremenitvijo računalnika. S stališča podjetij je to zelo ugodno, ker z naraščanjem števila zaposlenih se poveča tudi dobiček ter posledično tudi zahteve po računalniški zmogljivosti, katero je možno teoretično neomejeno razširiti v oblaku.

Uporabniki računalništva v oblaku ne posedujejo fizične infrastrukture, ki bi jim služila kot gostitelj programski platformi. Namesto tega se raje izogibajo kapitalskim izdatkom z najemom dejanske uporabe od ponudnikov storitev. Uporabniki uporabljajo sredstva kot storitev in plačujejo stroške glede na porabljene storitve. Večina ponudnikov računalništva v oblaku ponuja model utility computing, ki je podoben tradicionalnim storitvam, ki zaračunavajo glede na porabljeno elektriko, medtem ko ostali zaračunavajo na podlagi naročnine. Deljenje kratkotrajnih in nedoločenih računalniških sredstev med več najemnikov oziroma uporabnikov lahko poveča efektivnost strežnikov, ker nikoli niso po nepotrebnem v brez-zaposlenem stanju (idle mode), kar lahko občutno zmanjša stroške, medtem ko lahko poveča hitrost razvoja aplikacij [21]. Stranski učinek te taktike je, da celotna obremenitev računalnikov lahko naraste zelo hitro, kakor tudi uporabniki nimajo omejitve glede na najvišje vrednosti obremenitev znotraj zmožnosti obstoječega sistema.

Stran 12

3 VIRTUALIZACIJA V PRAKSI

Poslovna okolja so odvisna od programskih aplikacij. Danes vedno več zaposlenih svoje delo opravi na različne načine in na različnih lokacijah, pa naj je to doma, v podružničnih pisarnah, medtem ko so na poti ali med bivanjem v hotelu. Uporabniki postajajo vse bolj decentralizirani. Z aplikacijami je ravno drugače, saj postajajo vse bolj centralizirane, da bi tako znižali stroške upravljanja in povečali varnost podatkov. Zmožnost zagotavljanja aplikacij na kateri koli lokaciji in za vsakega uporabnika, ki te aplikacije potrebuje, tako da so pri tem zagotovljene najboljše zmogljivosti, največja varnost, najnižji skupni stroški in najboljša uporabniška izkušnja, postaja odločilna, če ne celo ključna, konkurenčna prednost.

Klasičen način premoščanja vrzeli med uporabniki in aplikacijami je sestavljanje sistema za uvajanje aplikacij, pri čemer podjetja uporabijo izdelke različnih ponudnikov, da lahko potisno uvajajo aplikacije, zagotavljajo varnost in vzdržujejo aplikacije na mestu končne točke vsakega uporabnika. Danes se vsi strinjajo, da so klasični pristopi k uvajanju aplikacij vse preveč statični, prezahtevni in vse predragi, da bi jih vzdrževali. Težave postanejo še očitnejše, ko v poslovnih okoljih prihaja do sprememb.

Zagotavljanje aplikacij uporabnikom tam, kjer jih ti potrebujejo, je prav to, kar mora zagotoviti IT. Toda večina podjetij aplikacije še vedno uvaja in namešča na klasičen način, pa čeprav vodilni analitiki v panogi pravijo, da je klasično uvajanje aplikacij prezahtevno, vse preveč statično in predrago, da bi tak način še vedno uporabljali, da pri tem niti ne omenjamo sprememb, ki so v poslovnem svetu stalnica [02].

Namizja, na primer z Windows, je zdaj mogoče zagotavljati varneje, zanesljiveje in z nižjimi stroški, neposredno iz podatkovnega središča. Tveganje, da bi prišlo do izgube poslovnih podatkov, je zdaj manjše, upravljanje porazdeljenih PC-jev je preprostejše in bolj prilagodljivo, skupni stroški lastništva pa so nižji tudi do 40 odstotkov [18]. Globalizacija, prilagodljivi načini dela, poslovanje brez prekinitev, združitve in prevzemi podjetij pomenijo, da zaposleni zdaj svoje delo opravljajo na novih lokacijah, to pa zahteva nove načine varnega zagotavljanja namizij. Vitualizacija namizij pomeni ločitev fizične lokacije, kjer so namizni PC-ji, od mesta, kjer uporabniki dostopajo do PC-jev. Na primer gostovanje in upravljanje namizij je centralizirano podatkovnem središču, zagotavljanje namizij končnim uporabnikom pa je centralizirano. To je najboljši in najučinkovitejši način zagotavljanja namizij za uporabnike v pisarnah, podružničnih pisarnah in uporabnike pri zunanjih izvajalcih, saj omogoča poslovne pobude, kot so širitve podružnic, oddajanje del zunanjim izvajalcem, doseganje skladnosti z vpeljanimi zakoni in poslovanje brez prekinitev [18].

Stran 13

3.1 PREDNOSTI VIRTUALIZACIJE

Aplikacije so gonilna sila podjetij in povezovanje uporabnikov z aplikacijami je ena izmed najpomembnejših nalog IT. Podjetja, ki so uvedla infrastrukture za virtualizirano zagotavljanje aplikacij, niso le znižala stroškov poslovanja, temveč sta bili dodani koristi tudi izboljšanje poslovnih procesov in večje zadovoljstvo uporabnikov.

Virtualizacija revolucionarno spreminja način, kako IT izpolnjuje svojo nalogo, ki je zagotavljanje storitev infrastrukture, potrebnih za poslovanje. Tehnologija pospešuje skupno rabo ključnih virov, obenem pa resnično omogoča znižanje stroškov IT, večjo varnost podatkov in prožnost, potrebno za kar najhitrejše prilagajanje spreminjajočim se poslovnim zahtevam. Klasičen pristop, pri katerem je programska oprema povezana s fizičnimi stroji, je ustvaril nekakšne vrzeli med statičnimi elementi arhitekture, to pa je težko upravljati. Na srečo je tukaj vizija, v kateri virtualizacija omogoča skladno delovanje teh elementov. Virtualizacija je zbirka tehnologij, ki to vizijo spreminjajo v resničnost [18].

V poslovnih okoljih so prisotne vedno večje zahteve po tem, da IT najde učinkovite načine za zagotavljanje poslovnih aplikacij za uporabnike. V številnih podjetjih so delovne obremenitve aplikacij porazdeljene med strežnike in namizne računalnike. Prav zato IT zahteve, ki jih morajo izpolnjevati rešitve za virtualizacijo, usmerja ne le na podatkovno središče, temveč tudi na končne točke in omrežno infrastrukturo, saj je tudi to potrebno za usklajevanje povezanega sistema. Omejevanje virtualizacije na funkcionalnost v omrežju za zagotavljanje aplikacij onemogoča, da bi storitve IT ponudile vse zmožnosti.

Usklajevanje združuje vse informacije o infrastrukturi za zagotavljanje aplikacij, potrebne za učinkovito premikanje sredstev tja, kjer ta najbolje zadostijo potrebam po zmogljivostih. Nenazadnje je avtomatiziranje takega celostnega usklajevanja optimalen način za integriranje raznolikih komponent v zmogljiv sistem za zagotavljanje aplikacij. Virtualizacija je že zdaj močno vplivala na IT, še posebej v okoljih uvajanja aplikacij in pri projektih konsolidiranja strežnikov. Kljub temu je prava revolucija, ki jo prinaša virtualizacija, še pred nami. Virtualizacija bo namreč omogočila IT povezovanje uporabnikov in aplikacij na način, ki poganja poslovanja [18].

Za podjetje je zelo pomembno, da zna izkoristiti poslovne priložnosti, ne da bi pri tem izgubljalo čas zaradi spreminjanja tehnične infrastrukture. Tehnologije za virtualizacijo omogočajo IT doseganje poslovnih zahtev za hitro mobilizacijo poslovnih pobud. Ugotovljeno je bilo, da njihove strateško najpomembnejše stranke jasno vidijo koristi v obliki nižjih stroškov, večje varnosti, zmogljivosti in prilagodljivosti, kar omogoča virtualizirano zagotavljanje aplikacij. Rezultati kažejo, da IT vidimo v pomenu poslovnega uspeha. Tri najpomembnejše stvari, ko gre za IT, so izražene kot podpora poslovanju, torej izboljšanje poslovnih procesov, izboljšanje izkušnje za stranke ter izboljšanje prožnosti IT in odzivnosti na poslovne potrebe. Dnevi, ko smo IT videli kot odvečno stroškovno središče, so daleč za nami [18].

Uresničevanje vizije IT, ki je usklajeno s poslovnimi cilji podjetja, zahteva celovito strategijo učinkovitega zagotavljanja poslovnih aplikacij za uporabnike. Tako so, denimo, zmogljivosti aplikacij odločilen dejavnik pri izboljševanju uporabniške izkušnje, pri čemer

Stran 14

pa zmogljivosti narekuje obdelava na mestu končne točke, v strežnikih v podatkovnem središču in povsod vmes. Infrastruktura za zagotavljanje aplikacij obljublja podjetjem odgovor in ta je integriranje gradnikov infrastrukture za zagotavljanje aplikacij v prilagodljiv usklajen sistem.

Torej da strnemo prednosti virtualizacije v nekaj točk:

– boljša določitev in centralen nadzor strežnikov, osebnih računalnikov in aplikacij;

– lažji nadzor nad večjimi verzijami aplikacij, vključno s starimi aplikacijami;

– lažje testiranje različnih scenarijev na infrastrukturi;

– lažji razvoj in testiranje aplikacij;

– lažje delanje varnostnih kopij ter obnavljanje sistemov in aplikacij;

– večja varnost in zanesljivost skozi izolacijo različnih računalniških plasti;

– večja fleksibilnost skozi dinamično oskrbo namizij in aplikacij na zahtevo;

Slika 2: Virtualna infrastruktura

Stran 15

3.2 USKLAJEVANJE VIRTUALNE INFRASTRUKTURE ZA

ZAGOTAVLJANJE APLIKACIJ

Povezovanje uporabnikov z aplikacijami, tako da so zagotovljene zmogljivosti za dobro uporabniško izkušnjo in storilnost, je mogoče doseči z integriranjem komponent na mestu končne točke, podružnice, prehoda, čelnega dela sistema in podatkovnega središča. Vsak element arhitekture prispeva k izboljšanju celotne uporabniške izkušnje, ki je ključnega pomena za uspeh vsakega poslovanja. Arhitektura mora biti dobro usklajen sistem, saj so v nasprotnem primeru uporabniki deležni slabših zmogljivosti, težave s celovitostjo infrastrukture pa postanejo opazne [18].

Zgodba o virtualizaciji se začne v podatkovnem središču. Napredek pri strojni podpori za virtualizacijo in tehnologije procesorjev z več jedri omogočajo, da si aplikacije delijo strežniška sredstva. Boljša izkoriščenost manjšega števila strežnikov se takoj prenese v prihranke pri stroških opreme, prostora, energije za napajanje in energije za hlajenje. V oddelku za IT lahko zdaj tudi hitreje zagotavljamo nove strežnike z virtualnimi stroji in aplikacijami, popravke in nadgradnje aplikacij ter tako omogočimo nadzirane procese poslovanja brez prekinitev. Prihranki pri stroških so hitro vidni, obenem pa IT pridobi nekaj prilagodljivosti, potrebne za prilagajanje spremembam pri poslovanju.

Končna točka zagotavlja usklajevanje uporabniškega vmesnika in predstavitve pogledov na aplikacijo za uporabnika. Virtualizacija namizja omogoča, da se aplikacija dejansko izvaja v varnem podatkovnem središču, pri tem pa videz in občutek pri delu ostajata enaka, kot pri aplikacijah, ki se izvajajo lokalno. Varnost zaupnih podatkov je tako večja, saj podatki ostajajo v podatkovnem središču. Poleg tega lahko zdaj v oddelku za IT bolje nadzirajo konfiguracije namizij, saj so te shranjene na osrednjem mestu v podatkovnem središču.

Med podatkovnim središčem in končnimi točkami so komponente za zagotavljanje aplikacij, torej, čelni del podatkovnega središča, prehod do omrežja in lokacije podružnic. Te tehnologije delujejo usklajeno, da zagotavljajo storitve, kot so preverjanje pristnosti in nadzor dostopa do občutljivih aplikacij, izenačevanje obremenitve za zagotavljanje predvidljivih zmogljivosti, pospeševanje aplikacij za izboljšanje zmogljivosti aplikacij in odzivnih časov ter optimiziranje prostranega omrežja (WAN) za vzdrževanje visokih ravni storitve pri zagotavljanju podatkov prek interneta.

Usklajevanje teh komponent v integriran sistem za zagotavljanje aplikacij je osnova za doseganje prioritet, kot jih postavijo vodstveni delavci za področje IT. Čeprav so najboljše komponente zaželene, pa zmožnost virtualizacije delovnih obremenitev med komponentami daje IT prožnost, potrebno za poslovanje. Vsaka komponenta v usklajeni virtualni infrastrukturi je odgovorna za deljenje informacij v sistemu. Tako, na primer, lahko končna točka pošilja poročila o poslabšanju zmogljivosti. Dejanje, ki sledi takemu poročilu, je lahko zagon novih primerkov aplikacije v virtualnih strežnikih in prilagajanje izenačevalnikov obremenitve za preusmeritev prometa, da se tako izkoristijo povečane

Stran 16

zmogljivosti. Celoten proces je mogoče avtomatizirati za resnično dinamično virtualno infrastrukturo, ki se hitreje prilagaja spremembam. Vse pa se začne s celovitim usklajevanjem celotne virtualne infrastrukture.

Tehnike za virtualizacijo so osnova za izboljšanje zagotavljanja aplikacij za uporabnike. Zmožnost ločitve aplikacij, varnostnih mehanizmov in načinov optimiziranja od okov fizičnih naprav prinaša IT orodja, potrebna za močno znižanje skupnih stroškov pri zagotavljanju aplikacij. Centraliziran nadzor nad aplikacijami in podatki poenostavlja skrbništvo. Razpoložljivost namizij za končne uporabnike na zahtevo znižuje stroške opreme in poenostavlja vzdrževanje končnih točk. Usklajevanje celotnega sistema pa IT olajša zagotavljanje aplikacij po meri poslovnih potreb.

Standardne prakse, ki ne sodijo pod okrilje IT, ponujajo načine za generiranje operativnih meritev, potrebnih za merjenje kakovosti poslovnega procesa, podporo doseganja skladnosti in generiranje poslovnih informacij, ki so uporabljene za vse oddelčne funkcije. Usklajevanje zagotavljanja aplikacij prinaša te uveljavljenje najboljše prakse tudi na področje IT. Podjetja lahko z ročno izvedenimi postopki avtomatizirajo usklajevanje ali izvajajo celoten nadzor. Pomembno je, da usklajevanje omogoča, da vse ključne komponente delujejo povezano in tako zagotavljajo najboljši poslovni proces, izkušnjo za stranke in storitve IT za poslovanje.

3.3 CENTRALIZIRAN IN DECENTRALIZIRAN PRISTOP

Virtualizacija je prilagojena sprememba med dve paradigmi – centraliziran in decentraliziran sistem [03]. Namesto nakupa in vzdrževanja celotnega fizičnega računalnika in potrebnih perifernih naprav za vsako aplikacijo, lahko vsaki aplikaciji ponudimo delavno okolje z vsemi potrebnimi računalniškimi viri, ki jih potrebuje. Ta pristop ponuja prednosti decentralizacije, kot je varnost, stabilnost, medtem ko izkoriščamo polni potencial danih računalniških virov ter s tem tudi uživamo boljši tehnološki izkoristek, v katerega smo investirali.

Z naraščajočo popularnostjo distribuiranih sistemov je večina podjetij predvidevala, da bodo dosegla boljši povratek investicij ter nižje stroške uporabe (TCO – total cost of ownership). K tej popularnosti je prispevalo tudi dojemanje poceni strojne opreme kot potrošno dobrino. Podjetja so kar hitro spoznala, da so obljube distribuiranih sistemov lahko tudi nočna mora, gledano s stališča horizontalnega obsega, kjer je potrebno neprestano zagotavljati nove strežniške instance z naraščajočimi uporabniškimi zahtevami.

Gledano s pozitivnega stališča, so podjetja lahko imela kontrolo nad svojimi fiksnimi stroški, ko je aplikacijam bil dan vsak posamezen fizičen stroj. Decentralizacija je olajšala vzdrževanje vsake posamezne aplikacije, ker je možno namestiti popravke in nadgradnje brez poseganj v ostale delujoče sisteme. Iz enakega razloga decentralizacija izboljšuje varnost, ker je posamezen sistem izoliran od ostalih sistemov v omrežju. IT procesi so

Stran 17

postajali vse bolj optimizirani, kjer se je začenjal uveljavljati tudi cikel življenjske dobe razvijanja programske opreme (software development life cycle). Za to je bilo sčasoma tudi treba razširiti instance strežnikov, ker je več iteracij posamezne aplikacije potrebovalo podporo za razvoj, zagotavljanje kakovosti, testiranje obremenitev in produkcijska okolja. Vsaka aplikacija v svojem „peskovniku“ (sandbox – izolirano okolje za testiranje aplikacij) je prinašala stroške vse večje porabe moči, manjše fizične velikosti in večjega upravljalskega napora, ki so na koncu prispevali k deset ali celo tisoč dolarjev letnih stroškov vzdrževanja za posamezen fizičen računalnik. Vključno s tem je decentralizacija tudi zmanjšala efektivnost vsakega posameznega fizičnega računalnika, kjer je v 85 do 90% računalnik bil v stanju nedelovanja (idle mode). Vse te neefektivnosti so dobesedno porušile vse obljube decentralizacije v zvezi z nizkimi stroški.

Za lažje razumevanje bomo vzeli študijski primer podjetja s petimi strežniki in programskimi licencami glede na fizičen CPU. Stroški vključujejo nakup novih strežnikov, deset CPU licenc, stroški infrastrukture, energije in hlajenja za dobo treh let. Samo skladiščenje podatkov ni vključeno, ker lahko v primeru fizičnega in virtualnega pristopa uporabimo eksterno skladiščenje podatkov, tako da se tukaj stroški ne bi spreminjali.

Komponenta Strošek za enoto Fizični strošek Virtualni strošek

Strežniška strojna oprema 5.500 EUR 27.500 EUR 5.500 EUR

Programske licence za

CPU

2.000 EUR 20.000 EUR 4.000 EUR

Podporna infrastruktura 2.500 EUR 12.500 EUR 2.500 EUR

Stroški energije v enem

letu za posamezen

strežnik

180 EUR 2.700 EUR 540 EUR

Stroški hlajenja v enem

letu za posamezen

strežnik

150 EUR 2.250 EUR 450 EUR

Stroški v treh letih: 64.950 EUR 12.990 EUR

Prihranki v treh letih: 51.960 EUR

Preglednica 1: Primer izračuna strežniške konfiguracije [03]

V tabeli je razviden velik prihranek med decentralizirano in centralizirano strežniško konfiguracijo pri simultani uporabi petih operacijskih sistemov. Prihranek pri centralizirani

Stran 18

konfiguraciji je veliko večji kot pri decentralizirani na račun števila strojne opreme, licenc, energije, hlajenja... Centralizacijo je možno doseči z virtulizacijo, kjer tudi izkoristimo polni potencial fizične strojne opreme. Ampak pri načrtovanju konfiguracije moramo biti tudi pazljivi glede preobremenitev virtualnih gostiteljskih računalnikov. Vsekakor je potrebno najprej narediti zmogljivostne teste na strojni opremi. Kjer je lahko ozko grlo pri centraliziranem pristopu, je omrežna oprema, ki mora biti visoko propustna. Namreč delo večih sistemov opravlja en sistem, ki komunicira z zunanjim svetom skozi omrežno infrastrukturo. Pri decentraliziranem pristopu se prenos podatkov razporedi na več računalnikov. Tudi proizvajalci strojne opreme se prilagajajo trendu virtualizacije in zato tudi že izdelujejo strežnike, prilagojene temu, ki imajo več mrežnih priključkov.

Slika 3: Decentralizirana konfiguracija s petimi strežniki [03]

Stran 19

Slika 4: Centralizirana konfiguracija s petimi strežniki [03]

3.4 POGOSTI PRIMERI UPORABE

Virtualne scenarije lahko delimo na dve področji: podatkovni centri in namizja. Prednosti, ki jih prinaša virtualizacija v podatkovnih centrih, so strežniška konsolidacija, izboljšana poslovna kontinuiteta, pospešena oskrba in dodelitev delovnih sredstev uporabniku in

Stran 20

olajšan razvoj in testiranje aplikacij. Rezultat je dinamični podatkovni center, nekaj kar se je šele začelo pojavljati danes, ampak prinaša velike obljube za prihodnost.

Uporabniki osebnih računalnikov lahko tudi uživajo ugodnosti virtualnih tehnologij v različnih oblikah. Opisali bomo pet različnih računalniških scenarijev, ki se pojavljajo v praksi, ter kako lahko virtualizacija olajša delo uporabnikom v teh scenarijih.

3.4.1 SCENARIJ MOBILNEGA UPORABNIKA

Podjetja se vse bolj zanašajo na mobilno delavno silo, ki se prilagaja zahtevam razvijajočega se tržišča. Virtualizacijske tehnologije prinašajo bogato uporabniško izkušnjo, ki omogoča uporabnikom poganjanja večih aplikacij simultano, ki se iz uporabniške perspektive obnašajo, kot da bi bile nameščene lokalno ter bi imele podatke dosegljive lokalno na računalniku. Tehnologije omogočajo tudi fleksibilne konfiguracije za nadzor gostujočih uporabniških podatkov in nastavitev na različne načine. Do podatkov in aplikacij je možno tudi dostopati, kadar računalnik ni priključen na omrežje podjetja [20].

Dodatne tehnologije, ki zagotavljajo enkripcijo podatkovnih medijev, omogočajo mobilnim uporabnikom varno, zanesljivo in učinkovito možnost za rast in napredovanje podjetij.

3.4.2 SCENARIJ UPORABNIKA V PISARNI

V tradicionalnih pisarniških okoljih, kjer imajo uporabniki namizne računalnike, lahko virtualizacija prinaša veliko ugodnosti za uporabnike in IT. S perspektive pisarniškega delavca se prednosti pri uporabi lahko primerjajo s prej opisanim mobilnim delavcem. Čeprav možnost uporabe aplikacij in podatkov ko uporabnik ni priključen v omrežje, v tem primeru nima bistvenega pomena.

Za IT oddelek je ta rešitev ugodna zaradi enostavnosti možne selitve uporabnikov z enega fizičnega računalnika na drugega. Na primer, ko delavec gre delat v drug oddelek ali lokacijo. Druga pozitivna lastnost je, da so aplikacije izvajane na centralnem strežniku in ne na osebnih računalnikih, kar poveča varnost.

3.4.3 SCENARIJ UPORABNIKA S SPECIFIČNIMI NALOGAMI

Takšna vrsta uporabnika dostopa samo do nekaj specifičnih aplikacij, ki se nanašajo na posamezno delo. Na primer bančniki, osebje, ki skrbi za storitve za stranke … V tem primeru je možno omejiti uporabo funkcionalnosti ter uporabniku zagotavljati samo specifični del aplikacije, ki se tiče njihovega dela. V tem scenariju je možno tudi podaljšati

Stran 21

življenjsko dobo osebnim računalnikom z vidika, da uporabnik ne potrebuje zmogljivega računalnika za specifične aplikacije.

3.4.4 SCENARIJ POGODBENEGA DELAVCA

Podjetja, ki najemajo zunanje pogodbene delavce, se velikokrat srečujejo z računalniki, ki se povezujejo v njihovo omrežje, ampak niso del njihovega podjetja. Takšna dejanja lahko ogrožajo interno omrežje v podjetju zaradi različnih virusov, trojanskih konjev ter ostalih možnih alternativ. Če ta scenarij ni pod kontrolo, so lahko ogroženi tudi poslovni podatki.

Z virtualizacijo se da doseči izoliranost zunanjega sodelavca, ki opravlja svoje delo v svojem uporabniškem prostoru, ki je veliko bolj varen in zanesljiv za podjetje.

3.4.5 SCENARIJ DOSTOPA POVSOD

Včasih uporabnik želi priti do podatkov ali aplikacij, ampak ne more iti v pisarno – na primer sredi snežne nevihte. Z virtualizacijo je mogoče doseči, da se uporabnik lahko priključi do želenih informacij in aplikacij tudi s svojim domačim računalnikom, ki ni v lasti podjetja. Ugodnost za uporabnike je jasna: varen dostop do njihovega namizja, aplikacij in podatkov kjerkoli in kadarkoli. Za IT oddelke pa to pomeni boljši centraliziran nadzor, varnost in skladnost [20].

Stran 22

4 ANALIZA VIRTUALNIH TEHNOLOGIJ

Virtualizacija je naredila velik napredek v zadnji dekadi. Primaren razlog je razvoj odprtokodnih hypervisorjev virtualnih strojev. Ta napredek je skoraj v celoti odpravil meje med operacijskimi sistemi in dramatično povečal uporabo zmogljivih strežnikov ter prinesel takojšno prednost za podjetja. Do nedavnega je fokus bil usmerjen v programsko emulirano virtualizacijo. Dva najpogostejša pristopa pri programsko emulirani virtualizaciji sta polna virtualizacija ter paravirtualizacija. V polni virtualizaciji je plast, imenovana hypervisor, ki obstaja med virtualiziranim operacijskim sistemom in strojno opremo. Ta plast multipleksira sistemske vire med različne instance operacijskega sistema. Paravirtualizacija je drugačna v smislu delovanja hypervisorja. Namreč vsak gostujoči operacijski sistem je obveščen, da se izvaja v virtualnem okolju, tako da sodeluje z hypervisorjem, ki virtualizira fizično strojno opremo.

Oba pristopa imata prednosti in pomanjkljivosti. Primarna prednost paravirtualizacije je, da omogoča najhitrejšo mogočo programsko virtualizacijo na račun tega, da ne podpira zaprtokodnih operacijskih sistemov. Pristop polne virtualizacije nima teh omejitev, ampak so zaradi tega ti hypervisorji tudi zelo kompleksni kosi programske opreme.

S predstavitvijo strojno podprte virtualizacije so se te meje zabrisale. Možno je uživati vse lastnosti polne virtualizacije, medtem ko je kompleksnost hypervisorjev na minimumu.

V tem poglavju bomo analizirali virtualne tehnologije, na katerih temeljijo sodobni virtualizacijski produkti. Spoznali bomo virtualne procesorske tehnologije, tehnologije virtualnih omrežij in tehnologije virtualnih podatkovnih medijev.

4.1 VIRTUALNA STROJNA OPREMA

4.1.1 PROCESORSKE ARHITEKTURE

Najpogostejše virtualizacijske metode so zasnovane za delovanje na x86 arhitekturi procesorjev. Tudi strojna virtualizacija, ki je podprta od dveh največjih proizvajalcev procesorjev Intel in Amd, je razvita za x86 procesorje. Predstavila sta x86 procesorje z razširitvami za strojno podprto virtualizacijo, ki je premagala omejitve klasične virtualizacije. Te razširitve so znane pod imenoma Intel VT (kodno ime Vanderpool) in

Stran 23

AMD-V (kodno ime Pacifica). Tehnologiji sta bili razviti brez sodelovanja med Intelom in podjetjem AMD. Žal še vedno vsi sodobni procesorji ne podpirajo te tehnologije. Pristop popolne strojne virtualizacije lahko tudi omejuje skalabilnost in efektivnost strežniške konsolidacije. To zmanjšanje performans je lahko olajšano z uporabo paravirtualiziranih gonilnikov; ta kombinacija se imenuje hibridna virtualizacija.

Možna je tudi emulacija virtualnih procesorjev, kjer na primer na x86 procesorski arhitekturi izvajamo operacijski sistem, ki je bil napisan za Sparc procesorsko arhitekturo. To je zelo priročno pri testiranju operacijskih sistemov, za katere bi potrebovali procesor, katerega trenutno nimamo na voljo. Emulacija virtualnih procesorjev je ena najpočasnejših metod, namreč emulirati oz. gostujočemu sistemu moramo prikazati procesor, kot da je fizičen z vsemi operacijami.

4.1.2 VIRTUALNO OMREŽJE

Da bi lahko uporabljali gostiteljski sistem v omrežju, je potrebno zagotoviti potrebno virtualno mrežno opremo. Metodi, katerih se najpogosteje poslužujemo, sta NAT (Network Address Translation) in network bridge (mrežni most). Obstajajo še druge izpeljane metode, ki so hibridi med tema dvema.

4.1.2.1 NAT

NAT je najpreprostejša metoda virtualnega sistema pri dostopanju do eksternega omrežja. Ne potrebuje nobene konfiguracije na gostiteljskem ali gostujočem sistemu. Gostujoči sistem z vključenim NAT se obnaša kot resničen računalnik, ki je povezan v internet preko internetnega usmerjevalnika. Usmerjevalnik je v tem primeru virtualna mrežna naprava, ki pošilja mrežni promet od virtualnega sistema in do njega transparentno. Virtualni sistem dobi IP naslov od virtualnega usmerjevalnika, kjer je že vgrajen DHCP strežnik, ki dodeljuje samodejno IP naslove. Ampak IP naslov, kot ga vidi gostujoči sistem, je popolnoma drugačen od tistega, ki ga ima gostiteljski. Slaba lastnost te metode je, da je virtualni sistem vključen v neko vrsto privatnega omrežja, ki se skriva za usmerjevalnikom. Zato je virtualni sistem neviden in nedosegljiv iz zunanjega omrežja. Na primer, nemogoče je imeti spletni strežnik, če do njega ne moremo dostopati. Za to obstaja tudi rešitev, kot je na primer posredovanje mrežnih vrat. V tem primeru lahko posredujemo na primer vrata 80, kjer deluje spletni http strežnik, ter tako dostopamo do spletne strani, ki deluje na tem virtualnem strežniku. S tem je problem le delno rešen. Namreč konflikt lahko nastane, ko imamo več virtualnih strežnikov, želimo pa uporabljati podobne storitve, ki delujejo v enakem razponu mrežnih vrat, ter samo en fizičen IP naslov, na katerega se lahko povezujemo v omrežju od zunaj. Pri tej metodi se v zunanjem omrežju registrira samo en IP naslov, na katerem lahko dostopamo do storitev, ki jih ponujajo gostujoči sistemi. Nasploh je rešitev z NAT zelo elegantna, še posebej za namizno virtualizacijo, kjer sami uporabljamo operacijski sistem znotraj operacijskega sistema, kot na primer

Stran 24

Windows 7 znotraj Ubuntu Linux. Za strežniške namene je pa skoraj neuporaben. Zato obstaja rešitev mrežnega mostu.

4.1.2.2 MREŽNI MOST

Mrežni most uporablja gonilnik strojne opreme na gostujočem sistemu, ki filtrira podatke iz fizičnega mrežnega adapterja. Ta metoda omogoča hypervisorju prestrezanje podatkov iz fizičnega omrežja in vstavljanje podatkov vanj ter s tem efektivno ustvarjati novi mrežni priključek [12]. Kadar gostujoči sistem uporablja nov virtualni priključek, je vidno na gostiteljskem sistemu, kakor da bi gostujoči sistem bil fizično povezan v omrežje z mrežnim kablom. Gostujoči sistem se v omrežje prijavi s svojim IP naslovom, ki je viden vsem uporabnikom v zunanjem omrežju. Gostiteljski sistem se na gostujoče sisteme povezuje tudi preko teh IP naslovov in ne več sam na sebe. Namreč v primeru NAT, če je gostiteljski sistem želel dostopati do gostujočih, se je moral povezati sam nase. V primeru mrežnega mostu se pa poveže, kakor da je gostujoči sistem nekje drugje – torej na njegov IP naslov.

4.1.3 VIRTUALNI PODATKOVNI MEDIJI

Gostujočemu sistemu moramo tudi zagotavljati medije za shranjevanje in branje podatkov. Virtualni podatkovni mediji se gostujočemu sistemu prikažejo, kot da bi bili fizični.

4.1.3.1 TRDI DISK

V fizičnem računalniku so trdi diski in CD/DVD-ROM pogoni povezani na napravo, imenovano kontrolor trdih diskov (hard disk controller), ki upravlja z operacijami teh pogonov ter podatkovnimi prenosi [12]. Hypervisor za gostujoči sistem zagotavlja več možnih virtualnih kontrolorjev, ki jih pogosto srečujemo v osebnih računalnikih. Ti kontrolorji so: IDE, SCSI in SATA(AHCI). Na te kontrolorje povezujemo virtualne trde diske, ki so v bistvu samo datoteke s sliko (image) fizičnega diska. Med proizvajalci hypervisorjev se standardi za shranjevanje razlikujejo. Najpogosteje srečujemo VDI (Virtual Disk Image), VMDK (VMware Virtual Machine DisK format), vvfat (virtual FAT), QCOW (QEMU copy-on-write) … Hypervisor predstavi gostujočemu sistemu trdi disk kot fizično enoto, v ozadju pa shranjuje podatke v image datoteko na fizičnem trdem disku gostiteljskega računalnika. Na izbiro imamo dve vrsti image datotek. Prva je s fiksno velikostjo. Na primer, če na začetku določimo virtualnemu trdemu disku velikost 10 GB, bo tudi image datoteka v velikosti 10 GB. Obstaja tudi druga opcija, kjer je image datoteka dinamično razširljiva. To pomeni, da če dodelimo trdemu disku velikost 10 GB, bo velikost image datoteke v velikosti nekaj MB, ker v njo še nismo ničesar zapisali. Šele ko

Stran 25

nekaj zapišemo na virtualni trdi disk, se velikost dinamično razširljive image datoteke poveča. Če bomo namestili v gostujoči sistem operacijski sistem, ki zasede 2 GB prostora, potem se bo image datoteka povečala na 2 GB. To je zelo dobrodošlo, kadar imamo na razpolago malo fizičnega diskovnega prostora, ampak je žal ta metoda s pomanjkljivostjo. To je izguba performans. Namreč image datoteka se mora na zahtevo neprestano povečevati, dokler ne doseže svojega maksimuma. V tem procesu povečevanja image datoteke se tudi povečuje fragmentacija podatkov na fizičnem trdem disku.

Pri uporabi image datotek oz. virtualnih trdih diskov se lahko poslužujemo tudi tako imenovanih snapshotov ali posnetkov. To je zelo dobrodošlo na primer pri testiranju programske opreme, kadar nismo prepričani, ali nam bo nek program zmanjšal stabilnost sistema ali pa celo prinesel kak virus. Metoda snapshotov nam omogoča, da posnamemo trenutno stanje gostujočega sistema ter naknadno zapisujemo vse spremembe v dodatno image datoteko zraven že obstoječe. To nam dovoljuje povrnitev vseh sprememb ali pa združitev obeh image datotek, če smo zadovoljni z narejeno spremembo. Slaba lastnost snapshotov so velike zahteve po prostoru na fizičnem disku. Namreč za vsak snaphot ustvarimo novo image datoteko, ki se povečuje na zahtevo.

Poznamo tudi nespremenljive image datoteke, kjer se trenutno stanje gostujočega samo začasno zapisuje v drugo datoteko, ampak takoj ko izklopimo sistem, se stanje povrne, kakor je bilo na začetku. Metoda je zelo podobna snapshotom s to izjemo, da je tukaj proces izbrisa „snapshota“ avtomatičen v ozadju.

Virtualne diske lahko tudi kloniramo med delovanjem ali kadar sistem ne deluje. Uporablja se za varnostne kopije ali pa za migracijo sistema na drug fizičen računalnik.

Za image datoteko ni nujno, da se nahaja fizično na gostiteljskem računalniku. Nahaja se lahko tudi kjerkoli v omrežju. Za to se je potrebno posluževati hitrejših fizičnih mrežnih vmesnikov, da ne izgubljamo performans.

4.1.3.2 CD IN DVD POGONI

Pri uporabi gostujočih oz. virtualnih sistemov velikokrat potrebujemo dostop do podatkovnih medijev, kot sta CD ali DVD. Da bi namestili virtualni operacijski sistem, čigar DVD imamo, se lahko poslužujemo dveh različnih tehnologij. Prva je, da priključimo fizičen DVD pogon na gostujoči sistem in ga tako uporabljamo, kot da bi bil na gostiteljskem. Ali pa že shranjeno sliko DVD medija na trdem disku, ki jo priklopimo na gostujoči sistem, kateri jo vidi kot fizičen DVD pogon.

4.1.3.3 USB NAPRAVE

Gostujoči sistem lahko tudi vidi USB (Universal Serial Bus) naprave, kot da bi bile priključene fizično nanj. Pri priklopu USB naprave fizično v računalnik se posredujejo informacije te naprave v virtualni sistem. To pomeni tudi, da če USB naprava potrebuje

Stran 26

ustrezen gonilnik za njeno uporabo, ga moramo namestiti v virtualni sistem. Za priklop USB naprav skrbi virtualni USB kontrolor. Kadar so viri USB naprave v uporabi v virtualnem sistemu, je naprava nedosegljiva fizičnemu računalniku, da ne bi prišlo do konfliktov in obratno.

4.2 PARAVIRTUALIZACIJA

Paravirtualizacija je virtualizacijska tehnika, ki predstavlja vmesnik programske opreme za virtualne naprave, ki je podoben, vendar ni enak, kot je fizična strojna oprema [09]. Namen spremenjenega vmesnika je zmanjšati delež časovne izvedbe gostujočega sistema, porabljenega za dejavnosti, ki so bistveno težje za delovanje v virtualnem okolju v primerjavi z nevirtualiziranimi okolji. Paravirtualizacija zagotavlja posebej definirane „kavlje“, ki dovoljujejo gostujočemu sistemu in gostitelju potrditev teh nalog, ki bi bile drugače izvedene v virtualni domeni, kjer so performanse veliko slabše [09]. Uspešna paravirtualna platforma omogoča, da je lahko nadzornik virtualnih strojev veliko preprostejši, ker lahko preseli izvedbo kritičnih nalog iz virtualne domene v gostiteljevo domeno ter s tem zmanjšuje nasploh degradacijo performans v virtualnem sistemu.

Žal paravirtualizacija potrebuje operacijski sistem, ki je posebej prilagojen za ta način virtualizacije. V tem primeru imajo prednost odprto kodni sistemi, ki jih je veliko lažje prilagoditi, kot zaprtokodni, kateri so pod kontrolo proizvajalca. Zato je nemogoče paravirtualizirati na primer Windows ali Apple operacijske sisteme.

Stran 27

5 VIRTUALIZACIJSKA PROGRAMSKA OPREMA

5.1 HYPERVISOR

Hypervisor omogoča večim operacijskim sistemom izvajanje na gostiteljskem računalniku istočasno. Poznamo dve vrsti hypervisorjev. Kakorkoli že, hypervisorji vrste 2 so bili skomercializirani pred vrsto 1, ampak vrsta 1 trenutno dominira na področju strežniških tehnologij.

5.1.1 HYPERVISOR VRSTE 1

Hypervisorji vrste 1 so sestavljeni iz programske opreme, ki se izvajajo direktno na fizični strežniški strojni opremi. Gostujoči operacijski sistem se izvaja na drugem nivoju, takoj za strojno opremo.

Je preverjena tehnologija, ki bazira na 64 bitni podpori. Ker je izvajanje te vrste hypervisorja direktno na strojni opremi, ni potrebe po gostiteljskem operacijskem sistemu oz. po dodatnih licencah [17]. Direktna strojna integracija vodi do visokih performans in jo iz tega razloga najpogosteje zasledimo v enterprise (korporativnih) okoljih. Ker operacijski sistem ne ovira hypervisorjevih virov, je zaradi tega tudi varnejši in bolj nadzorljiv. Hypervisorji vrste 1 lahko podpirajo več aplikacij in logičnih particij kot hypervisorji vrste 2.

Ta vrsta hypervisorjev je priporočljiva za okolja več dimenzionalnih aplikacij, spletnih storitev, korporativnih aplikacij in infrastrukturnih storitev, kot so datotečne ali tiskalniške, domenski kontrolorji in e-mail [17]. Najboljše se izkažejo v organizacijah, ki imajo znatne potrebe po konsolidaciji Windows in Linux okolij. Želja korporacij je tudi zmanjšati energetsko potratnost v podatkovnih centrih ali vzpostaviti zrcalne slike razvijalskih, testnih in produkcijskih okolij za zmanjšanje števila potencialnih namestitvenih (deploy) napak. To je posebej relevantno, če sta razvoj in testiranje izvršena na isti opremi, ki je planirana za produkcijsko uporabo.

Vrsta 1 hypervisorjev lahko postane orodje za asistiranje pri okrevanju v scenarijih tehničnih napak.

Prednosti:

Stran 28

– preverjena visoko performančna tehnologija, ustrezna za uporabo v korporativnih okoljih;

– ni potrebe po licencah gostiteljskih operacijskih sistemov;

– 64 bitna podpora;

– nadzor nad varnostjo ter sistemskimi viri;

– razširjena dimenzijska večplastnost.

5.1.2 HYPERVISOR VRSTE 2

Ta vrsta hypervisorjev se izvaja v okolju gostiteljskega operacijskega sistema oz. en nivo višje kot je sam operacijski sistem. Gostujoči operacijski sistem se izvaja na tretjem nivoju, takoj za strojno opremo. Hypervisorji vrste 2 imajo najširšo platformsko podporo, ker se njihova programska koda izvaja na vrhu že obstoječega operacijskega sistema [17]. Nekompatibilnost strojne opreme ni težava glede na to, da operacijski sistem upravlja z njo. V večini primerov so lahko ti hypervisorji prosto dostopni ali pa za njih moramo plačati, kot na primer VMware. Za rokovanje s to tehnologijo je potrebno malo tehničnega znanja. Tudi sama namestitev je zelo preprosta.

Prednosti:

– široka platformska podpora;

– kompatibilnost s strojno opremo;

– majhne zahteve po tehničnem znanju in razumevanju;

5.2 NAJPOGOSTEJE UPORABLJENE TEHNOLOGIJE

Vse tehnologije, ki bodo opisane v naslednjih točkah, imajo podporo za virtualen zvok, USB naprave, mrežne kartice, izmenjavo datotek, možnost izvajanja virtualnega sistema čez celotni zaslon (full screen), tako da imamo občutek, kakor da sploh ne uporabljamo virtualizacije. V naslednjih poglavjih se bomo osredotočili na virtualilne tehnologije in razlike med njimi.

Stran 29

5.2.1 QEMU

QEMU je generičen odprtokodni emulator in virtualizer. Kadar je v načinu emulacije, lahko izvaja programe, prevedene za eno procesorsko platformo (na primer ARM), na drugi procesorski platformi (na primer x86). Zaradi uporabe dinamičnih prevodov dosega zelo dobre performanse. V načinu emulacije je sposoben emulirati procesorje: ARM, SPARC, SPARC64, MIPS, MIPS64, m86k, SH-4, Alpha, CRIS in MicroBlaze [16]. Kadar je v načinu virtualizacije, dosega perfomanse skoraj v hitrosti gostiteljskega računalnika, s tem ko izvaja gostovo kodo direktno na gostiteljskem procesorju. Poseben gonilnik, ki je nameščen na gostiteljskem računalniku, je potreben v tem primeru. Imenuje se QEMU pospeševalec ali KQEMU. Način virtualizacije zahteva x86 kompatibilen procesor za svoje delovanje ter operacijski sistem Linux. KQEMU deluje kot modul Linux jedra. Za delovanje v katerem koli načinu ni potrebnih modifikacij na sistemih. Pozitivna lastnost QEMU je prenosljivost. Virtualni sistemi se lahko izvajajo na katerem koli osebnem računalniku, tudi tam kjer ima uporabnik omejen uporabniški račun (brez administratorskih privilegijev) ali pa tudi kar iz prenosnega USB ključa.

Zgrajen je iz več subsistemov:

– CPU emulator;

– emulirane naprave (VGA zaslon, PS/2 miška in tipkovnica, IDE trdi disk, mrežna kartica …);

– generične naprave (bločne naprave, mrežne naprave), ki se uporabljajo za emulirane naprave v gostujočih sistemih;

– strojni deskriptorji, ki predstavljajo emulirane naprave (PC, PowerMac, Sun …);

– razhroščevalnik;

– uporabniški vmesnik.

QEMU je razvil Frabice Bellard. Ni produkt podjetja, ampak projekt odprtokodnega razvijalca. Ta projekt je pomemben zato, ker so njegove tehnologije uporabljene v drugih komercialnih produktih, kot na primer Sun VirtualBox in Win4Lin ali tudi odprtokodnih, kot sta KVM in XEN. Projekt je pod LGPL licenco, kar pomeni tudi, da lahko tehnologijo preučimo v detajle in jo prilagodimo svojim potrebam.

5.2.2 KVM

Kratice KVM pomenijo Kernel-based Virtual Machine. KVM razvijalci so razvili metodo, ki omogoči Linux jedru, da postane hypervisor, namesto da bi razvijali del operacijskega sistema, kot ga imajo ostali hypervisorji [22]. To je bilo doseženo z minimalistično metodo, ki omogoči obstoj KVM kot modul Linux jedra. Integracija lastnosti hypervisorja v Linux jedro kot modul je poenostavilo vzdrževanje in izboljšalo performanse v virtualnih okoljih. To je bil tudi glavni razlog, da so razvijalci dodali KVM Linux jedru.

Stran 30

Ta pristop ima veliko prednosti. S tem, ko smo dodali virtualizacijske lastnosti standardnemu Linux jedru, lahko virtualno okolje izkorišča ugodnosti dela razvijalcev v samem jedru operacijskega sistema. Pri tem pristopu je vsak virtualen stroj kor normalen Linux delavni proces, ki je pod nadzorom standardnega Linux schedulerja. Tradicionalno gledano ima Linux proces dva načina operiranja; kernel (jedro) in uporabniški način [14]. Uporabniški način je privzet način za aplikacije ter kadar aplikacija potrebuje storitev iz jedra, kot na primer pisanje na trdi disk, se preklopi v kernel način. KVM dodaja tretji način – gostujoči način. Procesi gostujočega načina so procesi, ki se izvajajo znotraj virtualnega okolja. Ta način, kakor tudi normalni načini (nevirtualizirane instance), ima svoje uporabniške in kernel variacije. Splošni ukazi, kot je kill in ps, delujejo za procese v gostujočem načinu [04]. KVM uporablja strojno virtualizacijo za virtualizacijo stanj procesorja, organizacijo pomnilnika, kar je upravljano znotraj jedra operacijskega sistema. I/O (vhodne in izhodne operacije) je upravljan v uporabniškem načinu, kakor pri QEMU. Namreč KVM razvijalci so uporabili del QEMU virtualnega sistema, da jim ni bilo treba razvijat novega ogrodja za KVM, kar je dober primer uporabnosti odprtokodnih tehnologij, oz. primer, kako si lahko včasih olajšamo delo pri razvoju.

Za izvajanje KVM okolja potrebujemo Linux operacijski sistem in procesor s podporo strojne virtualizacije. KVM podpira tudi delno paravirtualizacijo za določene dele strojne opreme, tako da je izvajanje sistema v virtualnem okolju hitrejše. Žal je ta paravirtualni del v KVM projektu še v povojih.

Slika 5: Kernel Virtual Machine [04]

Stran 31

5.2.3 XEN

XEN se je začel kot raziskovalni projekt na univerzi v Cambridge v Veliki Britaniji. Še vedno obstaja v verziji odprtokodnega projekta, kljub prevzemu podjetja Citrix, ki prodaja komercialne verzije XEN z veliko dodatnimi funkcionalnostmi. V osnovi je XEN še vedno enak. XEN lahko deluje v načinu paravirtualizacije in strojne virtualizacije.

Sistem je sestavljen iz večih plasti. Najnižja in tudi najbolj privilegirana je Xen sam. Gosti lahko več gostujočih operacijskih sistemov, ki delujejo v svojem varnem virtualnem okolju – v domeni, kakor je v Xen terminologiji. Xen razvršča domene, tako da izkorišča efektivno uporabo prostih procesorjev [11]. Sam sistem dovoljuje ogromno nastavitev. Na primer, če imamo več procesorjev z večimi jedri, lahko selektivno določimo, kateri procesor in katero jedro bomo dodelili določeni domeni, tako da bomo efektivno izkoristili procesorsko moč. Prva domena 0 je kreirana avtomatično s tem, ko se sistem požene in pridobi posebne nadzorniške privilegije. Domena 0 gradi ostale domene in nadzoruje njihove virtualne naprave. Upravlja tudi administracijska opravila, kot je izključevanje, nadaljevanje ali migriranje drugih virtualnih sistemov.

Xen je zgrajen iz:

– Xen hypervisorja;

– Domena 0;

– nadzorna in kontrolna domena (Xen DM&C);

– Domena U (Dom U) – Paravirtualiziran gostujoči sistem;

– Domena U (Dom U) – Strojno virtualiziran gostujoči sistem.

5.2.3.1 XEN HYPERVISOR

Xen hypervisor je osnovna abstraktna programska past, ki se izvaja direktno na strojni opremi, pod operacijskim sistemom [11]. Odgovoren je za upravljanje s procesorjem in razdeljevanjem pomnilnika med različne virtualne stroje, ki se izvajajo. Hypervisor ne skrbi samo za abstrakcijo strojne opreme za virtualne stroje, ampak tudi nadzoruje njihovo izvajanje, s tem ko si medsebojno delijo skupno procesno okolje. Ne skrbi za omrežje, eksterne podatkovne medije, grafiko ali katerokoli drugo I/O funkcijo, ki jo najdemo v računalniških sistemih

Stran 32

Slika 6: Xen Hypervisor [11]

5.2.3.2 DOMENA 0

Domena 0 je modificirano Linux jedro in je s tem edin virtualen stroj, ki se izvaja na Xen hypervisorju in ima posebne privilegije za dostop do I/O sistemskih virov, kot tudi interakcije z ostalimi virtualnimi stroji v Domeni U. Vsa Xen virtualizacijska okolja zahtevajo Domeno 0, da lahko sploh začnejo z izvajanjem.

Dva gonilnika sta vključena v Domeno 0 za podporo omrežju in zahtevam lokalnim diskom iz Domene U – Network Backend Driver (NBD) in Block Backend Driver (BBD). NBD komunicira direktno z lokalno fizično mrežno opremo ter procesira zahteve vseh virtualnih strojev, ki prihajajo iz Domene U. BBD komunicira z lokalnimi podatkovnimi diski, zapisuje in bere podatke glede na zahteve Domene U.

Stran 33

Slika 6: Xen Domena 0 [11]

5.2.3.3 DOMENA U

Vsi paravirtualizirani virtualni stroji, ki se izvajajo na Xen hypervisorju, so imenovani Domena U PV Gost ter so modificirani Linux operacijski sistemi, Solaris, FreeBSD in ostali UNIX operacijski sistemi. Vsi polno virtualizirani stroji, ki se izvajajo na Xen hypervisorju, se imenujejo Domena U HVM Gost ter so standardne verzije Windows ali kateri koli drug nemodificiran operacijski sistem [11].

Virtualni stroji Domene U PV Gost so seznanjeni, da nimajo direktnega dostopa do strojne opreme ter imajo informacije, da se istem računalniku izvajajo še drugi virtualni stroji. Medtem ko virtualizirani stroji v Domeni U HVM Gost nimajo informacij o tem, da si delijo procesorski čas na fizični strojni opremi z ostalimi virtualnimi stroji.

Domena U PV Gost vsebuje dva gonilnika za omrežje in dostop do podatkovnega diska:

Stran 34

Slika 7: Xen Domena U – paravirtualno [11]

Domena U HVM Gost nima paravirtualnih gonilnikov, nameščenih znotraj virtualnega stroja. Namesto tega ima poseben prikriti proces, ki se izvede vedno ob zagonu HVM Gosta v Domeni 0, imenovan Qemu DM. Domena U HVM Gost dobi podporo za omrežje in dostopanje do lokalnih diskov z Qemu DM.

Domena U HVM Gost se mora inicializirati, kot da bi bil fizičen računalnik, zato mora biti dodana posebna programska oprema oz. firmware, ki simulira BIOS za operacijski sistem, kateri se bo izvajal [11].

Slika 8: Xen Domena 0 - virtualno

Stran 35

5.2.4 VIRTUALBOX

Sun VirtualBox je skupek zmogljivih virtualnih strojnih orodij, ki so namenjena uporabi na namiznih računalnikih, korporacijskih strežnikih in vgrajenih napravah. Virtualizirati je mogoče 32 in 64 bitne operacijske sisteme z Intel in AMD procesorji, z uporabo strojno podprte virtualizacije ali s programsko polno virtualizacijo. Virtualno okolje obstaja v dveh verzijah: odprtokodna (funkcionalno omejena) in zaprtokodna (funkcionalno razširjena). Je tipičen primer hypervisorja vrste 2. Za delovanje potrebujemo ustrezen le operacijski sistem (Windows, Linux, Mac OS, Solaris). Določeni deli tega sistema tudi vsebujejo tehnologijo QEMU projekta. Zanimivost sistema so dobre perfomanse, preprostost, nezahtevnost pri sistemskih virih, razširljivost in odprtost.

5.2.5 VMWARE

VMware je zelo dobro znano komercialno podjetje z virtualizacijskimi rešitvami za uporabo na osebnih računalnikih in strežnikih. Strežniške rešitve temeljijo na hypervisorju vrste 1, kar pomeni, da deluje direktno na strojni opremi, brez potrebe po dodatnem operacijskem sistemu. Rešitve za rabo na osebnih računalnikih pa uporabljajo skupek virtualnih strojnih naprav za gostujoče operacijske sisteme. S tem je dosežena dobra portabilnost med fizičnimi računalniki, ker virtualni sistem vedno uporablja enake virtualne naprave.

Wmware produkti uporabljajo optimiziran način za izvajanje gostujočega operacijskega sistema. Hypervisor ne simulira ukaznih funkcij procesorja, tudi če se izvaja na drugačni strojni opremi, ampak izvaja kodo direktno na procesorju, kadar je to mogoče. Performanse se s tem zelo izboljšajo, ampak pri migraciji na računalnike z drugimi procesorji moramo biti previdni, ker so določene razlike v procesorskih ukazih med Intel in AMD procesorji [13]. Ustrezna ustavitev virtualnega računalnika, preden ga migriramo, velikokrat zadostuje, da ne naletimo na konflikte. Kadar direktno izvajanje na procesorju ni mogoče, VMware uporablja binarno translacijo. Prevedena koda se shrani v začasen spomin, ponavadi na koncu naslovnega prostora, kjer jo segmentacijski mehanizmi ščitijo in naredijo nevidno. Zaradi tega je ta tehnologija veliko hitrejša od alternativnih emulatorjev.

5.2.6 HYPER-V

Microsoft ima dve rešitvi za virtualizacijo. Ena je namenjena za uporabo na namiznih računalnikih, ki je po delovanju podobna VirtualBox ali VMware. Druga rešitev je namenjena strežniški rabi in je tudi prilagojena večjim potrebam po performansah. Imenuje se Hyper-V in je del operacijskega sistema Windows Server. Podpira izolacijo, kar v Hyper-V terminologiji pomeni particija [20]. Particija je logična enota izolacije, v kateri se izvaja gostujoči operacijski sistem, ki jo podpira hypervisor. Hypervisor instanca mora

Stran 36

imeti vsaj eno starševsko particijo, kjer se izvaja Windows Server 2008. Virtualizirani sistemi se izvajajo na starševskih particijah, kjer imajo direktni dostop do fizičnih strojnih naprav. Starševska particija ustvarja particije, kjer tečejo gostujoči sistemi, kar so v HyperV terminologiji otroci oz. otroške particije. Starševska particija ustvarja otroške particije z hyperklicem (hypercall) API (Application Programming Interface), ki je aplikacijski programski vmesnik [20].

Virtualizirana particija nima direktnega dostopa do fizičnega procesorja. Namesto tega ima virtualni procesor ter se izvaja v na gostujočem virtualnem naslovu. Hypervisor lahko virtualnim sistemom prikaže samo del procesorjev določeni particiji in ne vseh. Otroške particije nimajo direktnega dostopa do fizičnih strojnih virov, namesto tega imajo virtualne sistemske vire, v smislu virtualnih naprav.

Slika 9: Hyper-V [15]

5.2.7 OSTALI SISTEMI

Obstaja še veliko drugih sistemov za virtualizacijo, ampak se bolj ali manj ne razlikujejo od opisanih v preteklih poglavjih. Ti sistemi so: Bochs, Denali, DOSbox, OpenVZ, Parallels, Oracle VM, PearPC, Simics, VirtualLogix, Virtual Iron, Simics … Vsak proizvajalec želi zapolniti manjkajoči prostor na tržišču s prilagajanjem virtualizacijskih

Stran 37

sistemov. Nekateri sistemi so le kot projekti, na katerih delajo razvijalci v prostem času, medtem ko so drugi sistemi profesionalno orientirani. Ampak nobeden izmed teh sistemov ni popoln, vsekakor se pa vedno najde ustrezna rešitev glede na problem, ki ga želimo rešiti.

Stran 38

6 ADMINISTRACIJA SISTEMOV

Poglavitna lastnost poleg performančnega količnika je tudi zahtevnost vzdrževanja virtualnih sistemov. S povečano zahtevnostjo vzdrževanja potrebujemo tudi višje kvalificirano delavno silo oz. ljudi, ki bo poznala tehnologijo v detajle in izkoriščala njene tehnološke potenciale. Če gledamo samo iz vidika domačega uporabnika, ki želi znotraj Windows operacijskega sistema še poganjati kak drug operacijski sistem, potem problem ni tako velik. Kadar pa imamo zahteve po velikih količinah visoko performančnih strežnikov, kjer nas izpadi delovanja lahko stanejo veliko denarja, pa je situacija povsem drugačna.

V tem poglavju se bomo osredotočili na administracijo virtualnih sistemov. Videli bomo, da je administracija veliko preprostejša kot pri klasičnem pristopu mnogih fizičnih strežnikov.

6.1 KREIRANJE VIRTUALNIH STROJEV

Kreiranje virtualnih strojev je zelo preprosto opravilo, še posebej če zahtevnost primerjamo z namestitvijo operacijskega sistema na fizični računalnik. Čas, v katerem skreiramo virtualni stroj, se meri v minutah. V nadaljevanju bomo opisali preprost primer, kjer bomo ustvarili virtualni Ubuntu Linux. Za predstavitev bomo uporabili izdelek VirtualBox odprtokodna verzija.

Stran 39

Slika 10: VirtualBox okolje

V osnovnem oknu VirtualBox lahko vidimo osnovne informacije o virtualnih sistemih, ki jih imamo nameščene. V našem primeru je že nameščen Windows XP.

Slika 11: VirtualBox – kreiranje novega virtualnega stroja

Stran 40

Pri kreiranju novega virtualnega stroja nam pomaga uporabniški vmesnik, ki nas intuitivno vodi skozi celoten proces. Ta proces je bolj ali manj podoben med proizvajalci virtualizaijskih rešitev. Na primer, VMware nam dovoljuje že znotraj tega procesa vnos serijskih številk licence operacijskega sistema, ki ga bomo namestili, da nam ni potrebno tega početi pozneje.

Slika 12: VirtualBox – izbira virtualnega sistema

Virtualni stroj oz. operacijski sistem poimenujemo ter iz seznama izberemo ime našega operacijskega sistema oz. vsaj približek temu, kar želimo namestiti. Na tem seznamu je večina razširjenih sodobnih operacijskih sistemov. Dejansko s tem sistem prilagodimo za optimalno delovanje.

Stran 41

Slika 13: VirtualBox – velikost navideznega pomnilinika

Določimo količino pomnilnika, ki želimo dodeliti virtualnemu stroju. Nastavitve se razlikujejo glede na operacijski sistem, ki ga želimo namestiti. Toliko pomnilnika kot dodelimo virtualnemu stroju, ga je tudi manj gostujočemu operacijskemu sistemu.

Slika 14: VirtualBox – virtualni disk

Stran 42

Ustvariti si moramo tudi virtualni trdi disk, kamor bomo namestili sistem. Na izbiro imamo tudi že obstoječe virtualne diske, ki jih lahko uporabimo.

Slika 15: VirtualBox – vrsta virtualnega diska

Slika 16: VirtualBox – velikost virtualnega diska

Stran 43

Kot smo že omenili, obstajata dve varianti kreiranja virtualnih diskov. Disk z dinamično razširljivim prostorom ali s fiksno velikostjo. Zaradi prostorske stiske na testnem računalniku smo izbrali dinamično razširljivega.

Slika 17: VirtualBox – pregled parametrov

In to je vse, kar potrebujemo za začetek.

Stran 44

Slika 18: VirtualBox – čarovnik ob zagonu novega virtualnega stroja

Ob samem zagonu virtualnega stroja nas sistem še vpraša, iz katerega medija bomo nameščali operacijski sistem.

Slika 19: VirtualBox – izbira zagonskih medijev

Stran 45

V našem primeru imamo na izbiro disketni pogon, ki je priročen pri nameščanju arhaičnih operacijskih sistemov in CD/DVD pogon. Lokacija medija se lahko nahaja fizično v računalniku ali pa kot slika (image) fizičnega medija na trdem disku.

To je vse, kar moramo narediti za kreiranje novega virtualnega stroja. Vse, kar se dogaja pozneje, je odvisno od operacijskega sistema, ki ga nameščamo. Namreč obnaša se, kakor da bi se izvajal direktno na fizičnem računalniku.

6.1.1 DODATNI PARAMETRI PRI NASTAVITVAH VIRTUALNEGA STROJA

Če želimo uspešno in optimalno uporabljati virtualni sistem, ga moramo tudi prilagoditi svojim potrebam. Pri večini komercialnih storitev je možno nastaviti parametre v uporabniškem vmesniku, pri nekaterih odprtokodnih rešitvah pa v konfiguracijskih datotekah. V nadaljevanju bomo prikazali primer našega testnega sistema.

Slika 20: VirtualBox – nastavitve virtualnega stroja – glavno okno

Na področju nastavitev v uporabniškem vmesniku lahko nastavljamo več parametrov. Na primeru lahko vidimo okno z nastavitvami za virtualni Windows XP. Povečamo lahko velikost pomnilnika, velikost pomnilnika grafične kartice, vklopimo 3D grafično

Stran 46

pospeševanje. Nastavljati je tudi možno procesorske parametre, kot število dodeljenih procesorjev, vklop/izklop strojnega pospeševanja, prikazovanje fizičnega naslova procesorja virtualnemu operacijskemu sistemu …

Slika 21: VirtualBox – nastavitve virtualnega stroja – trdi diski

Virtualnemu sistemu lahko dodelimo tudi več virtualnih trdih diskov, za katere ni nujno, da se nahajajo fizično na gostiteljskem računalniku.

Stran 47

Slika 22: VirtualBox – nastavitve virtualnega stroja – zvočna kartica

Slika 23: VirtualBox – nastavitve virtualnega stroja – mrežni adapterji

Stran 48

Okno z mrežnimi priključki, kjer lahko naredimo omrežni most ali pa izberemo kakšno drugo rešitev za naš sistem. Enemu virtualnemu stroju lahko dodelimo več virtualnih mrežnih vmesnikov.

Slika 24: VirtualBox – nastavitve virtualnega stroja – izmenjava datotek

Konfiguracija deljenja datotek med gostiteljskim in gostujočim sistemom. Ta možnost je zelo dobrodošla pri uporabi v namiznih računalnikih in ne toliko pri strežniški rabi.

Stran 49

Slika 25: VirtualBox – virtualni Windows XP

Primer delujočega virtualiziranega Windows XP znotraj Ubuntu Linux operacijskega sistema.

6.2 LIVE MIGRATION

Live migration je tehnologija, ki je vse bolj popularna v korporativnih okoljih ter omogoča migracijo virtualnega stroja med izvajanjem iz enega fizičnega oz. gostiteljskega računalnika na drugega, brez prekinitev izvajanja virtualnega operacijskega sistema. Pomanjkljivost te tehnologije je, če procesorja na obeh računalnikih (računalnik iz katerega prenašamo sistem in računalnik na katerega migriramo) nista identična, lahko nastanejo nepričakovane težave v virtualnem operacijskem sistemu [19]. Proizvajalci procesorjev delajo na tem, da bi to pomanjkljivost zaobšli na najbolj preprost način. Na primer AMD procesorji podpirajo live migration med vsemi AMD64 procesorji. Izziv zna nastati, če imamo na enem računalniku Intel procesor in na drugem AMD in obratno.

Poznamo več načinov migracije:

Stran 50

– Static migration; virtualni stroj je izklopljen. Statičen image (sliko) virtualnega stroja prenesemo na drug fizičen računalnik ter ga tam začnemo izvajati.

– Cold migration; virtualni stroj je v načinu suspenza (samo začasen izklop). Suspendiran image virtualnega stroja prenesemo na drug fizičen računalnik ter ga tam začnemo izvajati.

– Live migration; virtualni stroj se izvaja med migracijo iz enega fizičnega računalnika na drugega. Live migration dovoljuje dinamično balansiranje virtualiziranih sistemskih virov in vzdrževanje računalniške strojne opreme, brez prekinitev v delovanju.

Kakor dolgo je strojna oprema v pred- in po-migracijskem okolju identična, bi se moral gostujoči sistem obnašati enako kot pred migracijo. Stopnja izziva narašča, kadar se gostujoči sistem izvaja na drugačni strojni opremi kot pred migracijo.

Pri statični migraciji gre gostujoči sistem ob ponovnem zagonu skozi fazo raziskovanja strojne opreme, tako da se lahko prilagodi na spremembe.

Pri hladni migraciji (cold migration) lahko gostujoči sistem obdrži identični pogled na pred- in po-migracijsko strojno opremo. Nekateri operacijski sistemi, kadar preidejo iz stanja suspenza v stanje delovanja, pregledajo strojno opremo. Pri tej metodi je odvisno od same politike operacijskega sistema in razlik v strojni opremi med fizičnimi računalniki. Namreč določeni virtualni operacijski sistemi lahko zavrnejo nov računalnik, na katerega so migrirali ter se ne zaženejo.

Pri migraciji v živo (live migration) gostujoči operacijski sistem obdrži identični pogled na strojno opremo kot na sistemu, iz katerega je migriral. Pri izvedbi migracije v živo je virtualni stroj suspendiran (njegovo trenutno stanje je shranjeno oz. zadržano) dokler ni prenesen na drugo strojno opremo fizičnega računalnika. Proces se zgodi tako hitro in gladko, na pogled za končnega uporabnika, da je možno zagotavljati izvajanje virtualnega stroja brez prekinitev [19].

Slika 26: Live Migration [19]

Stran 51

6.3 OBREMENJENOST SISTEMOV

Pri virtualizaciji je nadzor nad obremenjenostjo sistemskih virov zelo pomemben. Namreč fizična strojna oprema ima svoje kapacitete, katere moramo razdeliti med virtualne operacijske sisteme. Rešitve so med proizvajalci virtualizacijske programske opreme različne, ampak v osnovi je zadeva vedno enaka, kadar moramo nadzorovati obremenjenost procesorjev, prostost pomnilnika, obremenjenost omrežja in shranjevalnih podatkovnih enot ter ostale periferije. Bistvo nadzora nad obremenjenostjo sistemov je distribucija delovne obremenitve med dva ali več računalnikov, omrežnih povezav, procesorjev, diskovnih pogonov ali drugih računalniških virov, da bi dobili optimalno rabo virov za povečanje pretokov, zmanjšanje reakcijskega časa ter da bi se izognili preobremenjenosti.

V nastavitvah virtualnih upravljavcev je možno nastavljati različne parametre glede na sistemske vire, ki jih bomo dodelili virtualnim strojem. Na naslednjih primerih na slikah lahko vidimo, kako izgleda nadzor nad virtualnimi stroji ter gostiteljskem računalnikom.

Slika 27: Nadzornik virtualnih strojev

Stran 52

Slika 28: Obremenjenost gostiteljskega sistema

Slika 29: Obremenjenost virtualnega sistema

Stran 53

6.4 FRAGMENTACIJA PODATKOVNIH MEDIJEV

Diskovna fragmentacija je stanje, v katerem koščki ali individualne datoteke ter nezapolnjen prostor na disku niso strnjeni, ampak so raztreščeni in razdeljeni po vsem disku [10]. Zaradi tega mora trdi disk locirati vse fragmente datotek, kadar dostopa do določene datoteke. Zbiranje fragmentov iz različnih lokacij zahteva svoj čas, kakor tudi zapisovanje v fragmentiran prosti diskovni prostor. Posledica diskovne fragmentacije so slabše sistemske performanse, povečan I/O promet ter slabša zanesljivost zaradi možnosti zrušitve aplikacij ali sistema med izvajanjem.

Namen defgramentacije je konsolidacija datotečnih fragmentov v en sam obseg, zvišanje dostopnih časov in zmanjšanje fragmentacije nezasedenega prostora. Virtualizacija prinaša tudi nevarnosti, s tem ko povečuje stres nad sistemskimi viri. Gostujoči sistem ima omejen dostop do pomnilniških strani, ki jih uporablja gostiteljski sistem, kar je tudi najožje grlo pri naslavljanju fizičnega pomnilnika. Drugi najbolj obremenjen del je diskovni subsistem. V večini primerov, kar je odvisno od posamezne aplikacije v virtualiziranem sistemu, je ozko grlo trdega diska, kar je tudi občutna prepreka pri doseganju performans [10].

Tipična fragmentacija se zgodi na fizičnih trdih diskih. Določeni operacijski sistemi imajo tudi orodja za defragmentacijo. V primeru virtualnih sistemov se fragmentacija tudi pojavlja pri logičnih nosilcih podatkov, ki so virtualni trdi diski. Virtualni diski se nahajajo na fizičnih trdih diskih v obliki datoteke.

Slika na primeru prikazuje fragmentirane virtualne diske gostujočih sistemov, ki berejo in zapisujejo podatke na fizičen disk, ki tudi trpi za posledicami fragmentacije. Na sliki desno lahko vidimo tudi primer datoteke, shranjene na virtualnem disku v virtualnem sistemu. Če želimo dostopati do te datoteke, moramo najprej na fizičnem disku poiskati vse fragmente virtualnega diska ter potem še vse fragmente na virtualnem disku. Kar se dogaja, je fragmentacija znotraj fragmentacije.

Stran 54

Slika 30: Fragmentacija virtualnih in fizičnih diskov [10]

Kar lahko naredimo v primeru fragmentacije, je:

– izvajanje avtomatičnih defgramentacijskih opravil na gostiteljskih in gostujočih sistemih;

– uporabljati datotečne sisteme, ki manj stremijo k fragmentaciji;

– za vsak virtualen sistem uporabimo posebej fizičen trdi disk;

– na začetku kreiranja virtualnega sistema izberemo statično velikost virtualnega diska;

– uporabljamo tehnologije SCSI ali RAID .

Stran 55

7 PRIMERJALNA ANALIZA HITROSTI

V tem poglavju bomo primerjali hitrosti med različnimi virtualizacijskimi produkti. Testirali bomo najpogostejše uporabljene v namiznih in strežniških okoljih.

Zanimale so nas performanse glede na operacijski sistem pri hypervisorjih druge vrste, oz. koliko sploh gostiteljski operacijski sistem zavira hitrost virtualnih sistemov. Prišli smo do zanimivih ugotovitev še posebno pri paravirtualizaciji, kjer je lahko v določenih primerih paravirtualizirani sistem hitrejši od nevirtualiziranega sistema. Testirali smo na Windows, Linux in Solaris operacijskih sistemih.

7.1 TESTNI RAČUNALNIŠKI SISTEMI

Testirali smo na dveh različnih računalnikih. Prvi je bil Hewlett Packard D310, Intel Pentium 4 procesor s hitrostjo 2,4 GHz, 1 GB delovnega pomnilnika, integrirano Intel grafično kartico in Seagate ST340016A 40 GB trdi disk. Ta sistem je bil uporabljen za testiranje virtualizacije v namiznih okoljih.

Drugi sistem, ki smo ga uporabili, je pa namenjen profesionalni rabi kot delovna postaja ali pa kot zelo zmogljiv strežnik in ne toliko za namizno uporabo v pisarnah. Sistem ima Intelovo matično ploščo S5000XVN, dva Intel Xeon X5355 procesorja s hitrostjo 2,66 GHz ter štiri jedra v vsakem posameznem procesorju, 8 GB delovnega pomnilnika pri hitrosti 667 MHZ, Nvidia G71 grafično kartico in Hitachi HDS722512VLSA80 SATA 123GB trdi disk.

7.2 BENCHMARKI

V računalništvu benchmark pomeni način izvajanja računalniškega programa za ovrednotenje relativne performanse določenega objekta. Ponavadi izvajamo več standardnih testov, da pridemo do končnih rezultatov. Benchmarki se uporabljajo za

Stran 56

primerjanje performans med različnimi sistemi ter za ugotavljanje ozkih grl. Navadno se merijo performančne karakteristike računalniške strojne opreme, kot so na primer operacije plavajoče vejice v procesni enoti, hitrost prevajanja določenega programa, hitrosti podatkovnih baz …

Mi bomo v naših testih uporabili tri različne benchmarke. Prvi bo Phoronix benchmark, ki ima vključenih ogromno testov, ampak je namenjen samo za Unix sisteme, kar nismo mogli uporabit na Windows platformi. Drugi benchmark, ki smo ga uporabili, je Geekbench. Ima to dobro lastnost, da obstaja za Windows in Unix platformo, vendar nima vključenih toliko testov kot Phoronix. Tretji benchmark je benchmark, ki je vključen v Apache spletni strežnik. Je namenjen testiranju performans Apache spletnega strežnika ter posledično tudi za primerjavo različnih računalniških sistemov. Žal benchmark ni uporaben za primerjavo med različnimi platformami, ker kot je znano, Apache strežnik ne deluje enako hitro na različnih sistemih (na primer v Linuxu deluje hitreje ko v Windowsu), je pa zato uporaben za primerjavo sistemov z enako platformo.

7.2.1 PHORONIX

Phoronix je benchmark za Unix okolja. Vsebuje preko 100 različnih testov. Uporabili smo ga zato, ker podpira večje število 64 bitnih procesorjev, kot je bil tudi naš testni sistem.

Za testni računalnik smo uporabili delovno postajo oz. strežnik, ki smo ga omenili prej. Testirali smo na dveh različnih operacijskih sistemih: Ubuntu Linux in Centos Linux. Ubuntu zato, ker nam je služil kot okolje, v katerem smo lahko testirali resnične zmogljivosti strojne opreme in ker je KVM virtualno okolje del Ubuntu Linux distribucije. Centos pa, ker že v osnovni distribuciji vsebuje XEN virtualno okolje. Da bi bili testi enakovredni, smo za vse virtualne operacijske sisteme uporabili Centos Linux, ki smo jim dodelili 2 GB pomnilnika in 10 GB trdega diska.

Prvi test, ki smo ga opravili, je bil benchmark 7zip. 7Zip je orodje, ki podpira istoimenski format za kompresijo datotek. V našem primeru smo kot rezultat dobili vrednosti MIPS, ki pomenijo v angleščini million instructions per second oz. milijon ukazov na sekundo. Za vsak operacijski sistem so se opravili trije identični testi, kjer smo na koncu za vrednost vzeli povprečje. V tem benchmarku večja vrednost pomeni boljši rezultat.

Stran 57

Slika 31: Phoronix; 7zip benchmark

Na grafu lahko nazorno vidimo to, kar bi tudi lahko pričakovali. Nevirtualiziran sistem je hitrejši od virtualiziranih. Tudi Centos Linux je počasnejši od Ubuntu Linuxa zaradi XEN kernela, ki je posebej prilagojen izvajanju virtualnih strojev in ne toliko izvajanju posameznih programov. Dobro je tudi vidna razlika v performansah med KVM in XEN hypervisorjema, kjer se XEN izkaže kot boljši. Pri 7zip benchmarku se gre večinoma za obremenitev procesorja in delavnega spomina.

V drugem testu smo prevajali linux jedro, kar smo merili v sekundah. To pomeni da je na sliki nižja vrednost tudi boljša. Kot smo že omenili, je bilo za pričakovati, da se na strojni opremi brez virtualizacije programi izvajajo hitreje kot v virtualnem okolju.

Slika 32: Phoronix; Kernel compile benchmark

Kernel compile

0

100

200

300

400

500

600

700

800

Ubuntu HostKVM – guestXEN – Centos hostXEN Centos guestXEN Centos paravirt guest

7zip

0

2000

4000

6000

8000

10000

12000

Ubuntu HostKVM – guestXEN – Centos hostXEN Centos guestXEN Centos pa-ravirt guest

Stran 58

Scimark je benchmark, ki uporablja znanstvene in numerične formule, s pomočjo katerih lahko izmerimo hitrost sistema. Kot rezultat dobimo Mflops, kar v angleščini pomeni millions of floating point operations per second oz. milijon operacij s plavajočo vejico v sekundi. V tem benchmarku višja vrednost pomeni boljši rezultat.

V tem testu se je ponovno izkazal paravirtualiziran sistem oz. XEN hypervisor nasploh. XEN Linux jedro je bilo veliko hitrejše kot standardno Linux jedro, ampak je paravirtualni sistem kasneje pokazal hitrost, primerljivo s standardnim jedrom.

Slika 33: Phoronix; Scimark benchmark

OpenSSL je implementacija SSL (Secure Sockets Layer) protokola. Uporablja se za kriptografske operacije. Za naš primer smo izbrali 4096 biten RSA ključ, ki smo ga uporabili pri meritvah, koliko operacij sistem zmore opraviti v določenem času. Rezultat testa je bilo število operacij v sekundah, kar pomeni višja vrednost predstavlja boljši rezultat.

V tem benchmarku je zelo nazorno prikazana hitrost KVM in počasnost XEN okolja, kar nam daje vedeti, da ni popolnosti, ampak samo kompromisi. Ponekod je XEN zelo hiter, medtem ko drugod zelo počasen. Seveda nam takšni testi koristijo, da lažje izberemo ustrezno virtualno okolje za naše potrebe.

Scimark

410

415

420

425

430

435

440

445

450

455

460

Ubuntu HostKVM – guestXEN – Centos hostXEN Centos guestXEN Centos pa-ravirt guest

Stran 59

Slika 34: Phoronix; OpenSSL benchmark

7.2.2 GEEKBENCH

Geekbench benchmark je bil namenjen testiranju sistemov na različnih platformah. Zanimala nas je hitrost virtualnih okoljih na namiznih računalnikih, kjer se hypervisor izvaja na operacijskem sistemu in ne direktno na strojni opremi. Kot gostiteljske operacijske sisteme, kjer smo izvajali virtualna okolja, smo uporabili Windows XP SP3, Ubuntu Linux 8.04 in OpenSolaris 2008.05. Za virtualni sistem, ki smo ga izvajali znotraj virtualnih okolij, pa smo izbrali Windows XP SP3 zaradi zelo pogoste uporabe na namiznih računalnikih. Virtualna okolja, ki smo jih testirali, so: VirtualBox, VMware in Microsoft Virtual PC. Microsoftov Virtual PC smo testirali samo na Windows platformi, ker žal to virtualno okolje ne obstaja za druge operacijske sisteme. V OpenSolaris operacijskem sistemu smo lahko testirali le VirtualBox okolje, ker za ta sistem zaenkrat še ne obstajajo druga okolja.

V prvem testu smo uporabili benchmark Blowfish, ki uporablja metode, poznane iz kriptografije. Rezultat benchmarka je hitrost MB na sekundo, ampak samo benchmark okolje ta rezultat pretvori v uporabniku prijazno benchmark enoto za lažjo primerljivost z drugimi sistemi. S temi benchmark enotami se bomo srečevali tudi v prihodnjih testih, ki so bili izvršeni z Geekbench benchmarkom. V tem testu se je izkazala performančna vrednost Ubuntu nevirtualnega sistema, ampak vrednosti virtualnih okolij nekako preveč ne odstopajo od povprečja.

OpenSSL

298

300

302

304

306

308

310

312

314

Ubuntu HostKVM – guestXEN – Centos hostXEN Centos guestXEN Centos pa-ravirt guest

Stran 60

Slika 35: Geekbench; Integer; Blowfish benchmark

Drugi test je image compress oz. kompresiranje datoteke s sliko. Kar je tukaj zanimivo, so manjša odstopanja med virtualnimi sistemi in večja odstopanja od sistemov, ki se fizično izvajajo na strojni opremi.

Slika 36: Geekbench; Integer; Image compress benchmark

Windows XP Ubuntu Solaris

0

200

400

600

800

1000

1200

1400

1600

1800

2000

Geekbench: Integer; Blowfish

hostVirtualBoxVirtual PCVmware

Windows XP Ubuntu Solaris

0

200

400

600

800

1000

1200

Geekbench: Integer; Image compress

hostVirtualBoxVirtual PCVmware

Stran 61

Mandelbrot benchmark je bil uporabljen za hitrost operacij s plavajočo vejico. Kot v prejšnjem testu, je stanje tudi tukaj zelo podobno.

Slika 37: Geekbench; Floating point; Mandelbrot benchmark

Blur image benchmark je test, v katerem merimo število operacij s plavajočo vejico pri megljenju digitalne fotografije.

Slika 38: Geekbench; Floating point; Blur image benchmark

Windows XP Ubuntu Solaris

0

200

400

600

800

1000

1200

1400

Geekbench: Floating point; Mandelbrot

hostVirtualBoxVirtual PCVmware

Windows XP Ubuntu Solaris

0

500

1000

1500

2000

2500

3000

3500

4000

4500

5000

Geekbench: Floating point; Blur image

hostVirtualBoxVirtual PCVmware

Stran 62

Kot smo lahko v zadnjih treh testih videli manjša odstopanja od povprečja pri performansah virtualnih sistemov, so lahko pri testih, kjer testiramo performanse pomnilnika, veliko večja odstopanja. V prvem testu merimo pretočnost podatkov pri sekvenčnem branju iz pomnilnika in v drugem testu pri sekvenčnem pisanju v pomnilnik.

Slika 39: Geekbench; Memory; Read sequential benchmark

Slika 40: Geekbench; Memory; Write sequential benchmark

Windows XP Ubuntu Solaris

0

200

400

600

800

1000

1200

1400

1600

Geekbench: Memory; Read Sequential

hostVirtualBoxVirtual PCVmware

Windows XP Ubuntu Solaris

0

200

400

600

800

1000

1200

Geekbench: Memory; Write Sequential

hostVirtualBoxVirtual PCVmware

Stran 63

7.2.3 APACHE SPLETNI STREŽNIK

Apache strežnik je trenutno najbolj popularen spletni strežnik. Uporabili smo njegov vgrajeni benchmark za testiranje naših sistemov. Teste smo izvajali v enakih okoljih kot pri testih z Geekbench orodjem, edino v tem primeru nismo testirali Apache strežnika na OpenSolaris sistemu.

V prvem testu smo izbrali 100.000 povezav in 100 istočasnih poizvedb, s katerimi smo obremenili strežnik, ki je bil nameščen v operacijskem sistemu (virtualnem in nevirtualnem). Rezultat testa je čas v sekundah, kar pomeni, da manjša vrednost predstavlja boljši rezultat.

Ukaz za izvedbo tega testa je: ab -n100000 -c100 http://localhost/index.html

Slika 41: Apache benchmark – merjenje časa

Windows XP Ubuntu Solaris

0

50

100

150

200

250

300

350

400

450

Apache benchmark

100.000 povezav z 100 istočasnimi poizvedbami; čas v sekundah

hostVirtualBoxVirtual PCVmware

Stran 64

Drugi Apache benchmark je bil izveden v malce drugačni obliki, kot prvi. Zanimalo nas je, koliko poizvedb lahko na določenem sistemu opravimo s 10.000 povezavami in 100 istočasnimi poizvedbami v 10 sekundah. V tem testu višja vrednost pomeni boljši rezultat.

V obeh testih so manjša odstopanja med virtualnimi sistemi, ter ogromna odstopanja med različnimi platformami gostiteljskih sistemov. To je iz tega razloga, ker se Apache strežnik veliko hitreje izvaja v Linux kot Windows okolju.

Ukaz za izvedbo tega testa je: ab -n10000 -c100 -t10 http://localhost/index.html

Slika 42: Apache benchmark – merjenje števila poizvedb

7.3 ANALIZA REZULTATOV

V testih smo dokazali, da operacijski sistem, na katerem se izvaja hypervisor, delno vpliva na hitrost izvajanja virtualnega sistema, toda ne vpliva tako zelo občutno.

Videli smo tudi, kakšne performanse je možno dosegati s paravirtualizacijo ter do kakšnih optimalnih izkoristkov strojne opreme lahko pridemo.

Windows XP Ubuntu Solaris

0

5000

10000

15000

20000

25000

Apache benchmark

10.000 povezav z 100 istočasnimi poizvedbami v času 10 sekund; število poizvedb

hostVirtualBoxVirtual PCVmware

Stran 65

8 SKLEP

Virtualizacija je tehnologija sedanjosti in prihodnosti. Utrla si je pot že na veliko področjih. Nekaj je k temu prispeval tudi trend recesije, ki je prisilil ljudi in podjetja k varčevanju in izkoriščanju polnega potenciala resursov, ki jim je na voljo. S pomočjo virtualizacije se tudi zmanjšujejo meje med različnimi sistemskimi platformami. Sedaj je možno izvajati v Linux operacijskem sistemu istočasno tudi Windows sistem, brez kakršnih koli omejitev. Podjetji Citrix in Intel sta tudi prikazali primer uporabe virtualizacije, ki bi lahko prišla v poštev v prihodnosti. Gre za računalnik, na katerega bomo že iz samega začetka namestili sliko virtualnega operacijskega sistema in ne več tako kot zdaj operacijski sistem na strojno opremo. V tem vidijo podjetja in uporabniki svoje prednosti. Uporabnik bo lahko imel en virtualni sistem samo za igranje iger in drugega za bolj resno delo. Podjetje bo zaposlenemu dalo image virtualnega sistema, tako da bo zaposleni lahko delal od doma, s čimer bo možno ločiti osebni sistem uporabnika in sistem podjetja na enem računalniku. V prihodnosti bo vsekakor virtualizacija tudi igrala zelo pomembno vlogo v podatkovnih centrih.

V diplomskem delu smo predstavili potencial virtualizacije in njeno pomembnost v vsakdanjem življenju. Spoznali smo razliko med različnimi virtualizacijskimi pristopi ter njihove prednosti in slabosti. Skozi teste smo tudi ugotavljali performančne razlike med sistemi. Če bi želeli opraviti še več benchmarkov, bi za to potrebovali več časa. To bi bilo še posebej zanimivo pri implementaciji virtualnih tehnologij v določeno računalniško okolje, kjer bi nas zanimale perfomanse in cena sistema. V praksi se v performansah vsekakor najbolj izkaže XEN okolje, za kar ni čudno, da ga je podjetje Citrix izbralo za osnovo, na kateri gradijo svoje produkte.

Naj bo strežniška ali virtualizacija v namiznih računalnikih, spremljala nas bo v vse večjem obsegu v prihodnosti.

Stran 66

9 VIRI, LITERATURA

[01] Willey Publishing, Inc., Virtualisation For Dummies, Sun and AMD Special Edition, 2008

[02] Mc Graw Hill, Virtualization: A Beginners's Guide, Danielle Ruest, Nelson Ruest, 2009

[03] Syngress Publishing, Inc., The Best Damn Server Virtualization Book Period, 2007

[04] LinuxInsight, Finally user-friendly virtualization for Linux, http://www.linuxinsight.com/finally-user-friendly-virtualization-for-linux.html

[05] Wikipedia, SAN, http://en.wikipedia.org/wiki/Storage_area_network

[06] Wikipedia, Popek and Goldberg virtualization requirements, http://en.wikipedia.org/wiki/Popek_and_Goldberg_virtualization_requirements

[07] Wikipedia, Virtual machine, http://en.wikipedia.org/wiki/Virtual_machine

[08] Wikipedia, IEEE 802.1Q, http://en.wikipedia.org/wiki/IEEE_802.1Q

[09] Wikipedia, Paravirtualization, http://en.wikipedia.org/wiki/Paravirtualization

[10] Diskeeper Corporation, Virtualization and Disk Performance, 2006

[11] Xen.org, Documentation, http://www.xen.org/support/documentation.html

[12] Sun VirtualBox, Documentation, http://www.virtualbox.org/wiki/Documentation

[13] Wikipedia, VMware, http://en.wikipedia.org/wiki/VMware

[14] KVM, Documentation, http://www.linux-kvm.org/page/Documents

[15] Wikipedia, Hyper-V, http://en.wikipedia.org/wiki/Hyper-V

[16] Qemu, Documentation, http://www.qemu.org/user-doc.html

[17] EDS, Virtualization, Viewpoint paper, 2008

[18] Business Trends Quarterly, Q1 2008, Transforming the Datacenter into the Delivery center, http://www.btquarterly.com/?mc=transforming-datacenter&page=virt-viewarticle

[19] AMD, Live Migration with AMD-V™ Extended Migration Technology, http://whitepapers.theregister.co.uk/paper/view/375/live-virtual-machine-migration-on-amd-processors.pdf

[20] Microsoft, Understanding Microsoft Virtualization Solutions, 2009

[21] Wikipedia, Cloud computing, http://en.wikipedia.org/wiki/Cloud_computing

[22] All About Ubuntu, Ubuntu and KVM Virtualization: Understanding the Long-Term Direction, http://allaboutubuntu.wordpress.com/2008/02/27/ubuntu-and-kvm-virtualization-understanding-the-long-term-direction/

Stran 67

10 PRILOGE

10.1 Seznam slik

Slika 1: Ekonomija računalništva v oblaku [21]

Slika 2: Virtualna infrastruktura

Slika 3: Decentralizirana konfiguracija s petimi strežniki

Slika 4: Centralizirana konfiguracija s petimi strežniki

Slika 5: Kernel Virtual Machine

Slika 6: Xen Domena 0

Slika 7: Xen Domena U - paravirtualno

Slika 8: Xen Domena 0 - virtualno

Slika 9: Hyper-V

Slika 10: VirtualBox okolje

Slika 11: VirtualBox – kreiranje novega virtualnega stroja

Slika 12: VirtualBox – izbira virtualnega sistema

Slika 13: VirtualBox – velikost navideznega pomnilinika

Slika 14: VirtualBox – virtualni disk

Slika 15: VirtualBox – vrsta virtualnega diska

Slika 16: VirtualBox – velikost virtualnega diska

Slika 17: VirtualBox – pregled parametrov

Slika 18: VirtualBox – čarovnik ob zagonu novega virtualnega stroja

Slika 19: VirtualBox – izbira zagonskih medijev

Slika 20: VirtualBox – nastavitve virtualnega stroja – glavno okno

Slika 21: VirtualBox – nastavitve virtualnega stroja – trdi diski

Slika 22: VirtualBox – nastavitve virtualnega stroja – zvočna kartica

Slika 23: VirtualBox – nastavitve virtualnega stroja – mrežni adapterji

Slika 24: VirtualBox – nastavitve virtualnega stroja – izmenjava datotek

Slika 25: VirtualBox – virtualni Windows XP

Slika 26: Live Migration

Slika 27: Nadzornik virtualnih strojev

Stran 68

Slika 28: Obremenjenost gostiteljskega sistema

Slika 29: Obremenjenost virtualnega sistema

Slika 30: Fragmentacija virtualnih in fizičnih diskov

Slika 31: Phoronix; 7zip benchmark

Slika 32: Phoronix; Kernel compile benchmark

Slika 33: Phoronix; Scimark benchmark

Slika 34: Phoronix; OpenSSL benchmark

Slika 35: Geekbench; Integer; Blowfish benchmark

Slika 36: Geekbench; Integer; Image compress benchmark

Slika 37: Geekbench; Floating point; Mandelbrot benchmark

Slika 38: Geekbench; Floating point; Blur image benchmark

Slika 39: Geekbench; Memory; Read sequential benchmark

Slika 40: Geekbench; Memory; Write sequential benchmark

Slika 41: Apache benchmark – merjenje časa

Slika 42: Apache benchmark – merjenje števila poizvedb

10.2 Seznam preglednic

Preglednica 1: Primer izračuna strežniške konfiguracije

10.3 Druge priloge

CD zgoščenka (DiplomskaNaloga.pdf)

10.4 Naslov študenta

Zmago Fluks

Ulica miru 16

2204 Miklavž na Dravskem polju

e-mail: [email protected]

Stran 69

10.5 Kratek življenjepis

Rojen: 03.11.1982 v Celju

Šolanje: končana Osnovna šola Martina Konšaka na Teznu v Mariboru, končana matura na Srednji ekonomski šoli v Mariboru.

Stran 70