Претражи овај блог

четвртак, 30. јун 2011.

Razlozi za virtuelizaciju i softverska rešenja virtualizacije


Virtuelizacija na desktop računarima
Na prvi pogled, moglo bi se zaključiti da je virtuelizacija namenjena samo serverima i velikim kompanijama, ali to nije tačno. U poslednje dve godine mnogo se radilo na polju virtuelizacije na desktop računarima, a poslednje procene velikih kompanija govore da će do 2011. godine samo ovo tržište biti vredno dve milijarde dolara.

Na krilima serverske virtuelizacije, desktop verzija je već prisutna, i to pre svega u obliku takozvane aplikacione virtuelizacije. Korišćenjem ovog metoda, pokrenuti programi odvajaju se od desktop računara na nižem sloju, čime se eliminišu konfiguracioni problemi prenosa delova aplikacija sa sistema na sistem. Proizvodi koji koriste ovakvu metodologiju virtuelizuju interakciju između određenog programa i resursa podržanog operativnog sistema, recimo fajl-sistema ili, u slučaju Windowsa, system registry baze podataka.

Ne samo da su aplikacije odvojene od operativnog sistema, već je i podržano pokretanje onih programa za koje je podrška prekinuta, koji se u stranoj terminologiji označavaju rečju legacy. To konkretno znači da, ukoliko je odgovarajući softverski paket instaliran, na računaru je moguće pokrenuti nekoliko operativnih sistema u isto vreme i prebacivati se sa jednog na drugi samo klikom na taster miša. Ovako, gube se problemi nekompatibilnosti aplikacija sa (novijim) desktop operativnim sistemima.
Jedno od ovakvih rešenja predstavljaju i blejd (blade) serveri i "mršavi" klijenti (thin client). Na jednom mestu se nalazi centralni klaster, set od dovoljnog broja procesora, memorije i hard diskova u blejd postavci. Na stolu korisnika nalaze se samo grafičko-komandni interfejsi, tj. monitor, tastatura i miš, kao i mali korisnički port uređaj, koji poseduje dva USB porta za konekciju periferija, VGA ili DVI izlaz za monitor i žičnu Ethernet ili WiFi konekciju ka serveru.

Proizvodi kompanije ClearCube verovatno su najpoznatiji. Korišćenjem njenih servera i tankih klijenata – portova, u jednoj bolnici u američkoj državi Oklahoma troškovi održavanja sistema umanjili su se pet puta, dok je tehnička podrška imala 40% manje poziva. Ukoliko se doda da softversku podršku ovoj kompaniji od 2006. pruža VMWare, jasno je da ClearCube ima dobru inicijativu. U novijim revizijama sistema, moguće je i dodavati bežične korisnike koji pomoću svog PDA uređaja ili pametnog telefona mogu da budu hostovani na nekoj od blejd jedinica.

Nešto drugačiju uslugu nudi kompanija po imenu Kidaro, koja je svoju virtuelizacionu tehnologiju kompletno inkorporisala u softver, ali i na maleni USB stick, razvijen pod imenom KidaroToGo. Ovaj uređaj, prikačen na bilo koju radnu stanicu, korisniku odmah pruža udobnost na koju je navikao na svom računaru, pružajući mu odmah mobilnost podataka, transparentnost i okrenutost proizvoda ka korisniku, centralno vođen ali prilagođen radni prostor u sistemu korporacije. Pored toga, treba dodati da je Microsoft otkupio firmu Kidaro.

Još jedan od načina virtuelizacije desktopa je takozvani desktop streaming. Princip je relativno prost. Prvo se napravi image operativnog sistema, a zatim i odgovarajuća kopija svake od aplikacija koje se standardno koriste na računaru i kombinuju po potrebi. Na ovaj način, više nije potrebno imati posebni image za svaku od kombinacija aplikacija na OS-u. Korišćenjem tankih klijenata-portova, moguće je preko mreže preneti i u njihov lokalni bafer (hard disk, fleš memorija, SSD) upisati sve potrebne podatke, od image kopije kombinacije aplikacija do posebnih dodatnih programa koje konkretni korisnik upotrebljava.

U ovakvim procesima najvažniji su resursi mreže, zbog čega je zahtev brza konekcija. Kako se žični i bežični transfer korišćenjem Ethernet, WiFi, Bluetooth ili USB standarda sve više ubrzava, tako se i potrebno vreme od uključenja uređaja do punog komfora koji pruža desktop računar smanjuje na gotovo neprimetnu razliku. Najveća svetska softverska kompanija je ovde našla svoju ulogu i preko svog SoftGrid sistema mnoge opskrbljuje desktop streaming modelom virtuelizacije. Microsoft je tako pokušao i da podigne rejting Viste ponudivši napredne mogućnosti virtuelizacije u svom softveru, želeći tako da na posredan način podigne rejting OS-a, koji se u tom momentu nije dovoljno visoko kotirao.


Razlozi za virtuelizaciju

U slučaju pregrupisanja servera, više manjih fizičkih servera menja se jednim većim fizičkim serverom u cilju boljeg iskorišćenja hardverskih resursa poput procesora.
Iako je hardver pregrupisan, operativni sistemi nisu. Umesto toga, svi operativni sistem koji pokreću fizičke servere konvertuju se u pojedinačne operativne sisteme koji pokreću virtuelne mašine. Veliki server može da ugosti mnogo takvih gostujućih virtuelnih mašina. Ovo je poznato kao P2V (Physical-to-Virtual) transformacija.

Za razliku od fizičkih mašina, virtuelne mašine je znatno lakše kontrolisati spolja, takođe, i konfigurisanje je znatno fleksibilnije. Ovo je veoma korisno kod razvoja kernela.
Nova virtuelna mašina se može pribaviti po potrebi, bez dodatne kupovine hardvera. Takođe, virtuelna mašina se lako može premestiti sa jedne fizičke mašine na drugu. Na primer, prodavac može da kopira virtuelnu mašinu na računar potencijalnog kupca, bez transporta fizičke mašine. Takođe, greška unutar virtuelne mašine ne može da ošteti matični operativni sistem, tako da nema rizika od rušenja sistema potencijalnog kupca.

Upravo, zbog lakog premeštanja, virtuelne mašine su idealne za scenarije oporavka kvarova (disaster recovery scenario).

Postoji nekoliko pristupa platformskoj virtuelizaciji :
• Puna virtuelizacija (full virtualization)
• Hardverski podržana virtuelizacija (hardware-assisted virtualization)
• Parcijalna (delimična) virtuelizacija (partial virtualization)
• Paravirtuelizacija (paravirtualization)
• Virtuelizacija na nivou operativnog sistema (operating system-level virtualization)
 

Puna virtuelizacija
 
Puna virtuelizacija podrazumeva simulaciju kompletnog hardvera, pa se gostujući operativni sistem (guest operating system) može instalirati i izvršavati bez ikakvih promena. Hypervisor (ili menadžer virtuelizacije) simulira kompletan hardver koji je potreban gostujućem operativnom sistemu da bi radio. Od grafičke kartice do hard diskova, USB portova i drugih periferija. Ovakvo rešenje je najelegantnije i najlakše za korišćenje, međutim, dolazi sa svojom cenom, a to je brzina. Dakle, performanse ovakve konfiguracije su sporije zbog toga što matični procesor mora da simulira i dodatan hardver.
 

Hardverski podržana virtuelizacija

U slučaju hardverski podržane virtuelizacije, hardver pruža arhitektonsku podršku, koja omogućava kreiranje VMM-a i dopušta zasebno (odvojeno) pokretanje gostujućih operativnih sistema.

Hardverski podržana virtuelizacija je vid platformske virtuelizacije, koji omogućava efikasnu punu virtuelizaciju uz pomoć hardvera, uglavnom matični procesor. Puna virtuelizacija se koristi za simulaciju kompletnog hardverskog okruženja, ili virtuelne mašine, u kojem se nemodifikovan gostujući operativni sistem (koji koristi isti set instrukcija kao i matični operativni sistem) izvršava kompletno odvojeno (zasebno).

Hardverski podržana virtuelizacija se još naziva i ubrzana virtuelizacija. Xen je naziva hardverska virtuelna mašina, dok je Virtual Iron zove nativnom virtuelizacijom.
 

Parcijalna (delimična) virtuelizacija

U ovoj vrsti virtuelizacije, virtuelna mašina simulira više instanci potpornog hardverskog okruženja, posebno adresnih prostora. Takvo okruženje podržava deljenje resursa i izolaciju procesa, ali ne dozvoljava instanciranje gostujućih operativnih sistema.
Iako, samo po sebi, ne spada u kategoriju virtuelnih mašina, istorijski gledano, ovo je bio važan pristup u time sharing sistemima.
 

Paravirtuelizacija

Za razliku od pune virtuelizacije, paravirtuelizacija podrazumeva sistem gde gostujući operativni sistem komunicira sa matičnim operativnim sistemom preko hypervisor-a (menadžer virtuelizacije) i gostujući operativni sistem podatke o hardveru dobija direktno od matičnog operativnog sistema, pa samim tim simulacija kompletnog hardvera (puna virtuelizacija) nije potrebna i performanse sistema su znatno bolje.
U slučaju paravirtuelizacije, usporenje gostujućeg sistema ne bi trebalo da bude veće od 10 % u odnosu na matični operativni sistem. Međutim, brzina dolazi po cenu toga da gostujući operativni sistem mora biti modifikovan (tako da može da komunicira sa matičnim operativnim sistemom), pa je fleksibilnost takvog rešenja mnogo manja.
 

Virtuelizacija na nivou operativnog sistema

U ovom vidu virtuelizacije, fizički server je virtuelizovan na nivou operativnog sistema, omogujući pokretanje više odvojenih i sigurnih virtuelizovanih servera na jednom fizičkom serveru. gostujući operativni sistemi dele isti okruženje operativnog sistema kao matični sistem, npr. kernel koji koristi matični operativni sistem se koristi i kod implementacije gostujućih okruženja.
Aplikacije koje su pokrenute na gostujućim okruženjima su prikazane kao samostalni (stand-alone) sistem.

Pionir ovog načina virtuelizacije je bio FreeBSD jails. Ostali primeri su: Solaris Containers, OpenVZ, Linux-VServer, AIX Workload Partitions, Parallels Virtuozzo Containers, and iCore Virtual Accounts.
Postoji više razloga zbog kojih je virtuelizacija revolucionarna. Prosečnom desktop korisniku ona donosi, pre svega, fleksibilnost u korišćenju više operativnih sistema, bez restarta ili naporne instalacije.

Mogućnost da proba i testira bilo koji operativni sistem bez straha i rizika je svakako bitna, međutim, pravi smisao virtuelizacije se ogleda tek u enterprise uslovima u, pre svega, velikim mrežnim okruženjima ISP-a (internet provajdera) i drugih firmi koje pružaju neku vrstu mrežnih IT usluga. Naime, do sada je u većini slučajeva ceo računar bio zauzet za jednog korisnika ili samo jedan servis. Virtuelizacija nam, u ovom slučaju, omogućava da na jednom fizičkom računaru omogućimo, u zavisnosti od jačine računara, nezavisan pristup i održavanje više virtuelnih računara gde bi svaki klijent imao takođe nezavisan pristup svom virtuelnom računaru.

Osim organizacionih ušteda u vremenu i održavanju jedne umesto više fizičkih računara i hardvera, takođe nisu ni zanemarljivi, već pomenuti, troškovi hlađenja i električne energije koje bismo ovakvim sistemima uštedeli.

Tako, na primer, umesto 100 pravih računara sve se može smestiti u 10-ak računara, gde bi se realno pokretalo 100 nezavisnih operativnih sistema. Dakle, primene u ISP sektoru su višestruke i donose smanjenje troškova i veću fleksibilnost, lakše održavanje.


Softver za virtuelizaciju

Danas na tržištu postoji mnogo softvera (za sve operativne sisteme) čija je namena virtuelizacija, pa je, u principu moguće napraviti bilo koju kombinaciju virtuelizacije. Linux kao matični operativni sistem, gde se u virtuelnim pokreću razne verzije Windows, DOS ili BSD operativnih sistema ili kombinacije gde se na Windowsu kao matičnom operativnom sistemu pokreću razne distribucije Linux-a, recimo, za one koji žele da se po prvi put susretnu sa Linux-om bez rizika ili komplikovanja instalacije istog na pravi hardver.

Ono što je takođe popularno je pokretanje istog operativnog sistema, kao što je pokretanje još jedne ili dve kopije Windows-a na matičnom Windows-u, što ima mnogo primena. Jedna je ta da se internet veza odvija isključivo u virtuelnoj mašini, pa stoga svi potencijalni virusi i špijunski softver ostaje na virtuelnoj mašini, dok je matična mašina zaštićena od istih. Čak i u slučaju da se virtuelna mašina potpuno zarazi, matični hard disk je potpuno siguran od zaraze, jer je kompletan hard disk virtuelne mašine najčešće sam jedan fajl na matičnom hard disku i dovoljno je obrisati taj fajl ili kopirati novu kopiju sveže instaliranog operativnog sistema i nastaviti sa radom.

Najpoznatiji programi za virtuelizaciju su: VMware, Xen, VirtualBox, Virtual PC, Hyper-V, Parallels... Moja iskustva su vezana za VirtualBox, VMware Workstation 6.5, VMware Workstation 7, Hyper-V, Citrix Xen i VMware ESXi.

Preuzeto sa sajta: