Pojam virtuelizacija u savremenoj komunikaciji stalno osvaja nove prostore i sve je više u upotrebi, budući da se informacione tehnologije sve više prožimaju sa svakodnevnim životom. U informatičkom svetu,  virtuelizacija kao koncept zauzima posebno mesto.Najčešće nismo svesni da se u svakodnevnom korišćenju računara susrećemo sa nekim vidom virtuelizacije. Ovo je trend u razvoju informacionih tehnologija koji sa sobom donosi očigledne prednosti, pre svega kroz uštedu resursa ali i u drugim značajnim aspektima

Neke od osnovnih prednosti koje se ostvaruju primenom virtuelizacije ogledaju se u smanjenje troškova za hardver, uštedi prostora za smeštaj prateće IT opreme, smanjenu potrošnja električne energije i ostalih resursa. Virtuelizacijom se višestruko povećava stepen iskorišćenja IT resursa i olakšava administracija, a sam koncept tehnologije pruža visoku bezbednost i otpornost na otkaze.

Šta je Virtual Box i šta sve možete njime pročitajte ovde.

U neku ruku virtuelizacija doprinosi i očuvanju životne sredine pa se kao takva svrstava u zelene tehnologije. U okviru ovog teksta pokušaćemo da opišemo osnovne pojmove i termine koji su vezani za fenomen virtuelizacije u informacionim tehnologijama.

ŠTA JE VIRTEULIZACIJA?

Počnimo sa grubom definicijom virtuelizacije preuzetom sa Vikipedije:

“Virtuelizacija je simulacija softvera ili hardvera na kome drugi softver radi”.

Definicija predstavlja srž virtuelizacije. Da li ste znali da deljenje vašeg hard diska na particije predstavlja jedan vid virtuelizacije? Operativni sistem posmatra particiju kao zaseban hard disk, što je u suštini i poenta virtuelizacije. Virtuelizacija, međutim predstavlja mnogo više od samog particionisanja diska.

Upotrebom ove tehnologije u domenu virtuelizacije serverskih i klijentskih operativnih sistema, jednostavno rečeno, postižemo da više operativnih sistema radi u paraleli na istoj mašini. Ovim pristupom značajno je olakšana administracija,  jer se sve svodi na administraciju jedne mašine.

Više nema potrebe upravljati se starim modelom „jedan server – jedna aplikacija“. Moguće je imati više servera sa različitim operativnim sistemima, tako da se svi pokreću na istoj hardverskoj platformi. Uštede i prednosti ovakvog setup-a su očigledne. Svaki server se može posmatrati kao posebni entitet, tj. kao posebna mašina. Otkaz jednog takvog entiteta nema uticaja na rad glavne (host) mašine, platforme za virtuelizaciju, niti na rad ostalih entiteta sa kojima deli resurse.

Sve ovo daje jedan veliki plus virtuelizaciji u segmentu  pouzdanosti. Dovoljno je uložiti sredstva u pouzdanu hardversku konfiguraciju i osigurati redundansu i bezbednost podataka na njoj.  Rešenja za virtuelizaciju po pravilu omogućuju relativno lako dodavanje novih servera i premeštanje podataka sa jedne na na drugu host mašinu, što je dodatni plus ove tehnologije u domenu skalabilnosti.

U literaturi se mogu naći mnogobrojne klasifikacije virtuelizacije.
Generalno, postoji nekoliko osnovnih tipova:

  • hardverska virtuelizacija
  • virtuelizacija dekstopa
  • softverska virtuelizacija
  • memorijska virtuelizacija
  • virtuelizacija podataka
  • mrežna virtuelizacija
  • virtuelizacija storidža


HARDVERSKA VIRTUELIZACIJA

Hardverska virtuelizacija je najrasprostranjeniji i najpopularniji vid virtuelizacije. Ona predstavlja virtuelizaciju računara ili operativnih sistema. Postoji nekoliko bitnih termina koji se vezuju za hardversku virtuelizaciju. Koncept tehnologije se zasniva na korišćenju virtuelnih mašina (eng. virtual machine). Softver koji kontroliše virtuelizaciju se često naziva hypervisor ili virtual machine monitor. Proces kreiranja i upravljanja virtuelnim mašinama naziva se i serverska virtuelizacija prema najzastupljenijem vidu upotrebe u profesionalnim IT okruženjima.

Već smo naveli da se korišćenjem ove tehnologije na jednom računaru može paralelno pokretati više operativnih sistema. Fizička mašina na kojoj se primenjuje virtuelizacija naziva se host mašina (eng. host – domaćin). Operativni sistem koji je instaliran na host mašini i na kome se izvršava softver za virtuelizaciju naziva se host operativni sistem (skr. host OS).

Na host operativnom sistemu se kreira simulirano kompjutersko okruženje, odnosno virtuelna mašina. Operativni sistem koji se izvršava na virtuelnoj mašini naziva se guest operativni sistem (eng. guest – gost). Guest operativni sistemi koriste virtualne fizičke resurse koje obezbeđuje hypervisor.

Hypervisor je sloj ili spona između fizičkih resursa host mašine i virtuelne guest mašine. Aplikacije koje se izvršavaju na guest operativnom sistemu nisu limitirane host operativnim sistemom. Guest operativni sistem se izvršava na isti način kao što bi se izvršavao na fizičkoj mašini, a ovaj sistem posmatra virtualne resurse kao fizičke resurse. Postoji nekoliko ograničenja  u smislu pristupa sistemskim resursima i perifernim uređajima na šta se može uticati konfigurisanjima u okviru virtuelne mašine.

Shema virtuelizacije na x86 arhitekturi i pozicija virtuelizacionog layer-a

Hypervisor može da se podeli u dve kategorije:
Tip 1 (eng. Type I) i Tip 2 (eng. Type II).
Tip 1 se instalira direktno na hardver tj. slično kao kod instalacije operativnog sistema. Ovo rezultira boljim performansama u odnosu na Tip 2. Primer za ovu kategoriju su VMware ESXi, Microsoft Hyper-V i Citrix XenServer.
Tip 2 se instalira na postojeći operativni sistem. Primeri ovakvih hypervisora su: VMware Workstation, Microsoft Virtual PC i Oracle VirtualBox.

Tip 1 levo, Tip 2 desno

Tip 1 levo, Tip 2 desno

Postoji više tehnika za ovaj vid virtuelizacije. Neke od najbitnijih su:

  • Potpuna virtuelizacija (eng. Full virtualization)
  • Hardverski podržana virtuelizacija (eng. Hardware-assisted virtualization)
  • Para-virtuelizacija (eng. Para-Virtualization)
  • Virtuelizacija na nivou operativnog sistema (eng. Operating system-level virtualization)


Potpuna virtuelizacija

Ova tehnika u potpunosti virtuelizuje fizički server. Obezbeđuje virtelizaciju hadvera dovoljnu za normalan rad nemodifikovanog gost operativnog sistema. Pod terminom “nemodifikovani” misli se da operativni sistem nije modifikovan sa ciljem prilagođavanja na virtuelnu mašinu, već se koristi u svom originalnom izdanju. Gost operativni sistem, tj. virtuelni OS je u potpunosti izolovan od fizičkog sloja hosta slojem hypervisor-a.

Prednost ovakvog izolovanog pristupa je što se povećavaju stepen sigurnosti, fleksibilnost i skalabilnost celog sistema. Uz pomoć ovakvog pristupa moguće je na jednom fizičkom serveru po potrebi iskombinovati više virtuelnih operativnih sistema. Rezultat je jedan globalni sistem koji dodaje vrednosti ili eliminiše nedostatke postojećih sistema pojedinačno. Može se sresti kod: VMware Workstation, VMware Server, VirtualBox, Parallels Workstation, Oracle VM, Virtual PC, Virtual Server, Hyper-V, KVM i drugih.

Hardverski podržana virtuelizacija

Proizvođači hardvera su rano uvideli prednosti virtuelizacije, pa su počeli da modifikuju svoje proizvode, kako bi se postigao veći učinak i funkcionalnost u korišćenju virtuelizacije. Primeri takvih proizvođača su AMD, Intel i Oracle. Najčešće su to poboljšanja procesora i memorije za podršku virtuelizacije.

Trenutno postoji dosta  virtuelnih rešenja koja mogu da iskoriste prednosti ovakvog hardvera. Neka od najpoznatijih su: VMware Workstation, VMware Fusion,  VirtualBox, Microsoft Hyper-V, Linux KVM,Microsoft Virtual PC,Oracle VM Server for SPARC i drugi.

Para-virtuelizacija

Za razliku od potpune vituelizacije, ovde se pokreću modifikovane verzije operativnog sistema i uglavnom nema simulacije hardvera. Gost operativni sistem mora biti prilagođen za rad sa virtuelnim sistemom. Kod ove metodologije gost operativni sistem je svestan virtuelizacije.

Prednost ove tehnike je poboljšane performanse, i mogućnost rada mnogo više gost operativnih sistema. Dolazi do izražaja tamo gde su bitne performanse bez obzira na cenu operativnog sistema. Podrška za ovu tehniku virtuelizacije se može naći kod: VMWare , Oracl, Citrix Xen, WindRiver itd.

Virtuelizacija na nivou operativnog sistema

Pristup kod ovog tipa virtuelizacije je da se na jednoj host mašini izvršavaju samo isti gost operativni sistemi, pri čemu je gost OS je isti kao i host OS. Drugim rečima, kao što i samo ime kaže, virtuelizacija se radi na nivou operativnog sistema.

Ovakva virtuelizacija donosi najbolje performanse u poređenju sa prethodnim rešenjima. Karakteriše  je izolovanost i sigurnost instanci operativnih sistema, a dodatni plus dolazi kroz činjenicu da se sva administracija i konfiguracija može raditi na host operativnom sistemu. Koristi se od strane: Linux-VServer, FreeBSD Jails, OpenVZ, Solaris Containers i Virtuozzo.

VIRTUELIZACIJA DESKTOPA

Ovaj pojam se odnosi na virtuelizaciju desktop okruženja krajnjeg korisnika. Postoji više implementacija virtuelizovanja desktopa u zavisnosti od pristupa i načina virtuelizacije segmenata desktop okruženja (aplikacije, sam desktop, korisnički profil…), lokacije na kojoj se virtuelizacija vrši, kao i trajnosti promena proizvedenih tokom jedne sesije.

Kod Remote Desktop virtuelizacije, korisnici pristupaju udaljenom serveru na kome se nalaze virtuelne mašine sa desktop okruženjima za svakog korisnika. Medijum za pristup je RDP protocol (Remote Dekstop Protokol) pri čemu korisnici nisu vezani za određeno lokalno okruženje (fizički računar) već sa bilo koje lokacije (računara) u mreži,  pomoću RDP sesije mogu pristupati svom virtuelizovanom okruženju (desktopu).

Ovakav setup se naziva i VDI (eng. Virtual Desktop Infrastructure), a tehnologija je primenljiva, pre svega u u poslovnim i korporativnime okruženjima. Administracija je znatno olakšana, jer administratori pristupaju centralizovanom serveru i kontrolišu sva desktop okruženja. Centralizovan pristup donosi veću dozu kontrole i sigurnosti. Ukoliko korisnik napravi veliki problem u okviru svog virtuelizovanog  okruženja (poremećaj operativnog sistema), procedura oporavka virtuelne mašine iz prethodno kreiranog snapshot-a je trivijalno laka. (snapshot je snimak trenutnog stanja virtuelne mašine i stanja operativnog sistema na njoj).

Kako se skoro sve procesiranje vrši na serveru, sa klijentske strane su dovoljni jeftinije računari za pristup. Na tržištu se mogu naći i ograničene hardverske konfiguracije koje se svode isključivo na komponente potrebne da podrže RDP sesije ka udaljenim serveriima na kojima se hostuju virtual desktop okruženja i odgovarajuće virtuelne mašine. Klijenti u ovakvom okruženju mogu da pristupaju svom desktop sa bilo kog mesta u svetu, što je velika prednost u korporativnim okruženjima. Nedostatak bi bio to što ovaj tip virtuelizacije zahteva veoma moćnu centralnu mašinu (ili mašine, tzv. klastere servera) i obučeno osoblje za implementaciju i održavanje, ali se na dugoročnom planu u većim poslovniim okruženjima virtuelizacija desktop okruženja može višestruko isplatiti.

VIRTUELIZACIJA APLIKACIJA

Virtuelizacija aplikacija se odnosi na emuliranje okruženja neophodnog za pokretanje aplikacija (runtime environment). Srž tehnologije predstavlja softverski layer koji se nalazi između aplikacija i operativnog sistema. On predstavlja interfejs koji aplikacijama umesto operativnog sistema prezentuje resurse koje su im potrebni (registry, lokacije na fajl sistemu) i omogućuje da se izvršavaju čak i aplikacije koje su međusobno nekompatibilne u smislu da zahtevaju različite operativne sisteme.

Sistem za virtuelizaciju tzv. emulator, opslužuje aplikacije i upravlja nižim slojevima operativnog sistema, na način da aplikacije nemaju “svest” o tome da ne rade direktno sa operativnim sistemom već sa emuliranim okruženjem.

Ovaj pristup je višestruko koristan. Budući da aplikacije zavise od operativnog sistema i većeg broja komponenti na njemu, često dolazi do neusklađenosti i problema u radu. Virtuelizacija u ovom slučaju predstavlja zaštitni interfejs,  rešava problem nekompatibilnosti, bagova i neusklađenosti verzija aplikacija sa operativnim sistemom na kojem se pokreću, kao i framework okruženjem koje ih opslužuje.

Kao tipičan primer emulatora za virtuelizaciju aplikacija pomenućemo program Wine na Linux operativnim sistemima. Zahvaljujući njemu moguće je raditi sa Windows aplikacijama u Linux okruženju. Prednost ovog tipa virtuelizacije je i u činjenici da može zaštititi sistem i ostale aplikacije, u nekim slučajevima i memoriju od bagovite aplikacije. Aplikacije su izolovane od operativnog sistema što generalno podiže stepen bezbednosti.

MEMORIJSKA VIRTUELIZACIJA

Najjednostavniji primer memorijske virtuelizacije poznat nam je kroz praksu svakodnevnog korišćenja personalnih računara. Većini korisnika su poznati  termini virtuelna memorija ili swap fajl.  Virtuelizacija memorije u ovom slučaju se odnosi na  deo radne memorije koja se od strane operativnog sistema rezerviše na hard disku kao dodatak/produžetak RAM memorije. Sistem posmatra ovu memoriju kao dodatni RAM i kada se resursi fizičke RAM memorije iskoriste procesi se ne prekidaju, već se prelazi na korišćenje virtuelne memorija. Ovo ima za posledicu pad performansi, jer se upis I čitanje odvijaju sa znatno sporijeg hard diska.

Prava memorijska virtuelizacija ide korak dalje, resursi RAM memorije nekog sistema se mogu particionisati,  virtuelizovati i zajedno sa RAM resursima drugih sistema uključiti u zajednički pool.  Resursi memorijskog pool-a se zatim mogu distribuirati granularnije, prema potrebi pojedinih entiteta i na taj način se može ostvariti efikasnije korišćenje ukupnih resursa.

Princip virtuelizacije je veoma popularan kod serverske virtuelizacije, jer je efikasna distribucija deljenih resursa izuzetno važna. Kada na jednoj fizičkoj mašini – virtuelnom hostu imamo više virtualnih guest mašina koje koriste zajedničke resurse, od velike je važnosti mogućnost kreiranja mreže distribuiranog poola memorijkih resursa. Resursi se zatim usmeravaju prema realnim potrebama, a benefit je u izbegavanju uskih grla i zastoja, pre svega u radu aplikacija koje su najosetljivije na nedovoljne memorijske resurse. Dodatna prednost je i mogućnost snimanja  stanja memorije i transportovanja do udaljenog hosta na mreži.

MREŽNA VIRTUELIZACIJA

Termin virtuelna mreža najčešće označava kombinovanje realnih mrežnih resursa ili njihiovih delova (hardverskih i softverskih mrežnih resursa) u cilju stvaranja virtuelnih entiteta, odnosno virtualne mreže. Pri tome, nosilac virtuelizacije je softverska platforma sa centralnom administrativnom funkcijom nad virtuelizovanim mrežnim resursima.

Primenom virtuelizacije moguće je na jednoj fizičkoj mreži napraviti više virtuelnih mreža ili kombinovati resurse više fizičkih u jednu virtuelnu mrežu. Korisnici virtuelne mreže ne moraju biti svesni postojanja ostalih virtelnih mreža niti uređaja na tim mrežama.

Uzmimo kao primer fakultet sa tri virtualne mreže od kojih jedna namenjena administraciji, druga profesorima i treća studentima. U pozadini  virtualnih mreža je jedna fizička mreža sa ruterima, svičevima i ostalim mrežnim uređajima. Korisnici ovih virtuelnih mreža mogu ali i ne moraju da dele mrežne uređaje.

VIRTUELIZACIJA PODATAKA

Termin virtuelizacija podataka, odnosi se na sistem koji korisniku pruža jedinstveni prezentacioni interfejs za pristup raznorodnim podacima koji se nalaze  na većem broju logički i/ili fizički strukturiranih izvora. Korisnik nema uvid u mehanizme i lokacije ka kojima i sa kojih se podaci distribuiraju, jer interfejs koji je ka njemu usmeren abstrahuje kompletnu strukturu za skladištenje i dopremanje podataka.

Izvori podataka mogu biti različite baze podataka, ERP sistemi, web sajtovi, aplikacije, repozitorijum fajlova itd. Iskustvo korisnika je kao da su svi podaci smešteni na jednoj tzv. logičkoj lokaciji.

Kao primer bi smo mogli da navedemo Facebook. Postavljanje slika na profil, unos ličnih podataka, poruke i postavljanje postova iz ugla korisnika obavljaju se na istom mestu kroz jedinstveni interfejs. Ono što nije transparentno je sistem za distribuiranje svih podataka, lokacija na kojoj se čuvaju slike, fajl repositorijumi u pozadini, baza podataka sa visokom bezbednošću za čuvanje ličnih podataka , druga baza podataka pogodna za čuvanje teksta u kojoj se smeštaju poruke, itd. Svi ovi sistemi su optimizovani da daju najbolje performanse za određeni tip podataka, a u kombinaciji daju mnogo bolje performanse, nego kad bi se koristio jedinstveni sistem.

Virtualizacija podataka

VIRTUELIZACIJA STORIDŽA

Ovo je jedan od veoma korišćenih tipova virtuelizacije u praksi. Ovde spadaju svi sistemi koji omogućuju da se zasebni uređaji za skladištenje podataka kombinuju u jednu logičku jedinicu. Operativni sistem posmatra jedinstvenu lokaciju za skladištenje podataka, iako postoji više fizičkih lokacija uređaja koje mogu biti udaljene. Iznad fizičkog sloja za skladištenje podataka, nalazi se abstraktni sloj. Sistem za virtuelizaciju ima za cilj da podatke sa abstraktnog nivoa preslika na fizičku lokaciju, tako da korisniku omogući korišćenje logičkog prostora bez znanja o realnim fizičkim uređajima u pozadini. Jedna od prednosti ovog sistema odnosi se na migraciju podataka. Podaci lako mogu biti premešteni, arhivirani ili replicirani na drugu lokaciju bez ometanja korisnika u radu.

Storage virtualisation

ZAKLJUČAK

Virtuelizacija je široko rasprostranjen koncept u svetu informacionih tehnologija. Bez obzira o kom se tipu virtuelizacije radi, zajednički imenilac je poboljšanje skalabilnosti i korišćenja resursa. Najčešće je prisutan i benefit za IT profesionalce u vidu lakše i centralizovane administracije. Posebnu vrednost virtuelizacija ima u poslovnim okruženjima.

Cilj ovog teksta je da pruži osnovu informaciju o suštini najbitnijih vidova virtuelizacije i uvid u benefite koje virtuelizacija donosi. Dublje razmatranje ove tematike i tehnologije koja se nalazi u pozadini zahtevalo bi puno više prostora i vremena. Kompleksnost virtuelizacije donosi i neke nedostatke i izazove koje je tek potrebno rešavati, što nije pokriveno ovim tekstom.

Tehnologija, ili bolje rečeno, koncept virtuelizacije, koji se rapidno razvija poslednjih godina, doneo je sa sobom velike promene u organizaciji informatičkih okruženja. Možemo  smatrati izvesnim da će se virtuelizacija i dalje razvijati i kao koncept širiti na nove segmente informacionih tehnologija.

Tekst je preuzet sa ugašenog bloga IT modul i originalni autor ovog teksta je Saša Kostadinović. Kompjuteraš IT blog će nastaviti da objavljuje tekstove sa tog bloga kako riznica znanja sa te lokacije ne bi otišla u zaborav.