VirtualBox - virtuelizacija za svakoga

Virtuelizacija je pojam koji je u računarskom svetu poslednjih godina drastično dobio na značaju i naročito postao rasprostranjen na Internetu, iako većina korisnika toga uopšte nije ni svesna. Popularni „cloud computing“ suštinski predstavlja opšti naziv za skup tehnologija koje se oslanjaju upravo na virtuelizaciju, bilo da se radi i mrežnim resursima, skladištenom prostoru ili kompletnim hardverskim platformama. Virtueliz

Ivan Todorović Virtuelizacija je pojam koji je u računarskom svetu poslednjih godina drastično dobio na značaju i naročito postao rasprostranjen na Internetu, iako većina korisnika toga uopšte nije ni svesna. Popularni „cloud computing“ suštinski predstavlja opšti naziv za skup tehnologija koje se oslanjaju upravo na virtuelizaciju, bilo da se radi i mrežnim resursima, skladištenom prostoru ili kompletnim hardverskim platformama.

Virtuelizacija u ovakvom okruženju i te kako ima smisla, jer u najvećem broju slučajeva korisniku apsolutno nije potrebno da zna detalje o infrastrukturi i tehnologiji koje mu obavljaju neku uslugu. Ako kao primer uzmemo neki od popularnih programa za onlajn bekap podataka, videćemo da korisnik tu dobija samo svoj nalog sa lozinkom, i da podatke čuva i vraća putem svega nekoliko komandi. Njemu nije poznato ni na kom serveru (odnosno farmi servera) se čuvaju njegovi podaci, niti da li su oni na jednom mestu ili su raštrkani na nekoliko geografskih lokacija. On to ni ne treba da zna, već je samo bitno da podaci budu sačuvani i dopremljeni na ispravan način. Drugi primer mogu biti sve popularniji web operativni sistemi, naročito atraktivni korisnicima ultraprenosnih računara sa širokopojasnom vezom ka Internetu. Korisnik nema predstavu o kakvoj se hardversko-softverskoj konfiguraciji radi na udaljenim serverima, ali svejedno ima utisak vrlo blizak onome kao da se operativni sistem pokreće na njegovom računaru.  

Hardverska virtuelizacija S obzirom da je virtuelizacija prilično širok pojam, koncentrisaćemo se na temu ovog teksta. Radi se o punoj hardverskoj virtuelizaciji, odnosno istovremenom pokretanju više operativnih sistema iste arhitekture na jednom fizičkom računaru. Sa finansijskog stanovišta, ovako nešto je više nego opravdano u serverskim vodama. Primera radi, ako pokrećemo četiri operativna sistema na četiri računara, nijedan od tih računara gotovo nikad neće imati stoprocentnu iskorišćenost resursa. Nasuprot tome, jedan snažniji računar na kome se pokreće više „gostujućih“ operativnih sistema sigurno će imati veću iskorišćenost procesorskog vremena nego u prethodnom slučaju, uz uštedu na razlici u hardveru, napajanju, hlađenju i potrošnji struje.  Suština je da se operativni sistemi u ovakvom scenariju pokreću u „virtuelnim mašinama“, odnosno izolovanim okruženjima u kojima „misle“ da rade potpuno samostalno, kao da su na sopstvenom fizičkom računaru. Ovakve virtuelne mašine se na istom računaru mogu povezati u virtuelne mreže, što otvara prostor za još jednu popularnu primenu. Bez virtuelizacije, testiranje rada nekog softvera u lokalnoj mreži iziskivalo bi fizičko povezivanje odvojenih računara, što košta vremena i novca. Umesto toga, na istom računaru moguće je pokretati nekoliko virtuelnih mašina koje su međusobno umrežene, što pored obaranja troškova drastično olakšava i testiranje softvera u mrežnom okruženju. Osim ovakve profesionalne primene, „virtuelno umrežavanje“ može biti interesantno i studentima računarskih nauka, za potrebe simuliranja lokalne mreže sa izlazom na Internet iz predmeta u vezi sa računarskim mrežama.  

Najvažnije je istaći da puna hardverska virtuelizacija o kojoj ovde govorimo ni slučajno nije isto što i hardverska emulacija, jer emulacija podrazumeva prevođenje mašinskih instrukcija jednog procesora na instrukcije drugog. Primer emulacije je popularni DOSBox, koji zaista emulira 32-bitni x86 procesor i tako može da se izvršava i na računarima koji nemaju x86-kompatibilni CPU u sebi. Posledica ovog prevođenja instrukcija „u letu“ su ogromni brzinski penali, pa je za performanse procesora Intel 486 na 100 MHz potreban i do dvadesetostruko jači pravi procesor na kome se DOSBox izvršava.  Puna hardverska virtuelizacija nema nikakve veze sa ovim pristupom, jer se „gostujući“ operativni sistem i svi programi unutar njega izvršavaju nativno na procesoru koji pokreće računar, što znači da će na x86-kompatibilnom računaru moći da se izvršavaju virtuelne mašine samo sa x86-kompatibilnim operativnim sistemima, dok će računar sa ARM platformom moći da virtuelizuje samo ARM-kompatibilna okruženja, i slično. Zbog ovoga, brzina je daleko veća nego prilikom emulacije hardvera, naročito uz ispomoć raznih tehnologija koje su proizvođači procesora implementirali i u svoje široko dostupne modele, kako je virtuelizacija sve više dobijala na popularnosti na serverskom i profesionalnom tržištu. Tako se u Intel procesorima može naći tehnologija VT-x, dok AMD ima svoj ekvivalent nazvan AMD-v.

Osim ispomoći sa procesorske strane, Intel i AMD su implementirali i tehnologije koje ubrzavaju rad virtuelnih mašina sa kontrolerima u čipsetu, i nazvali ih VT-d i AMD-Vi, respektivno. Putem njih, virtuelna mašina može direktno da pristupa periferijama na fizičkom računaru (hard diskovi i optički uređaji, mrežni i zvučni čipovi itd), što smanjuje opterećenje sistemskog procesora pri istovremenom radu više virtuelnih mašina sa intenzivnijim korišćenjem mreže i diskova, što je jako često u serverskim okruženjima. Od kakve je ovo koristi kućnom korisniku računara? Postoji nekoliko tipičnih scenarija, a makar u jednom od njih se sigurno zadesio svaki iole napredniji korisnik: Isprobavanje novog operativnog sistema – umesto rizične operacije reparticionisanja hard diska na računaru i mogućnosti gubitka podataka, korisnik može jednostavno instalirati drugi operativni sistem u virtuelnu mašinu, uz 0% rizika za oštećenje postojećih podataka. Sadržaj „hard diska“ virtuelne mašine čuva se kao običan fajl u postojećem fajl sistemu, a sama virtuelna mašina ne vidi hard disk fizičkog računara. Softver za kreiranje virtuelnih mašina najčešće omogućava da se virtuelni optički uređaj poveže sa postojećim ISO fajlom (recimo, Linux distribucija sveže preuzeta sa Interneta), tako da nije potrebno posebno pripremati instalacioni medij, već sve može funkcionisati direktno sa hard diska. Korišćenje više operativnih sistema paralelno – jedini krupni problem koji još uvek nije sasvim rešen u postojećem softveru za kreiranje virtuelnih mašina jeste korišćenje hardverske akceleracije grafičke kartice fizičkog računara u gostujućim sistemima. Ovo može predstavljati neprijatnost samo korisnicima koji insistiraju na tome da imaju 3D akceleraciju na svakom od instaliranih operativnih sistema na računaru (što se u najvećem broju slučajeva svodi na igranje video igara). Oni kojima tako nešto nije potrebno, a pored osnovnog sistema (primera radi, Windows) na kome pokreću i 3D programe paralelno žele da koriste i neki Linux ili OS X za potrebe posla, programiranja ili čistog istraživanja, instalacija ovih sistema u okviru virtuelnih mašina obaviće posao gotovo savršeno. Prednost ovog pristupa je što nije potrebno restartovati računar pri prelasku između jednog u drugi operativni sistem, već se gostujući sistemi izvršavaju u svojim „prozorima“ u pozadini, pa se korisnik sa lakoćom može prebacivati između njih. Podizanje virtuelne mreže– kao što smo pomenuli, održavanje interne mreže između virtuelnih mašina drastično je jednostavnije nego povezivanje više fizičkih računara. Na ovaj način se jednostavno može ispitivati funkcionalnost nekog softvera (primera radi, HTTP, FTP ili DNS server) ili vršiti simulacija mrežnog saobraćaja, a na svakoj virtuelnoj mašini se u okviru operativnog sistema može podići i firewall, antivirusna zaštita i sve ostalo kao na operativnom sistemu instaliranom na fizički računar.

Primer softvera koji ovo može da ispuni na PC računaru je Microsoft Virtual PC, VMware Workstation i VirtualBox. Mi ćemo se ovde baviti poslednjim. Napominjemo da je VMware Workstation komercijalnog karaktera, mada postoji i verzija VMware Player koja je besplatna, ali ima nekoliko ograničenja, dok je Virtual PC potpuno besplatan, ali je podrška za gostujuće operativne sisteme koji nisu Windows izuzetno slaba, što je i očekivano s obzirom da se radi o Microsoftovom ponudu. Valja napomenuti da je popularni „Windows XP Mode“, koji se može preuzeti kao dodatak za Windows 7 zarad nativnog pokretanja starijih programa izveden upravo preko Virtual PC-a, s tim što korisnik ne vidi ceo sistem u pozadini, već samo aktivan program (takozvani „seamless“ režim, o kome će više reči biti kasnije). Sva tri pomenuta programa odlikuje prijateljski nastrojen korisnički interfejs, a za VirtualBox smo se odlučili jer se radi o besplatnom softveru koji je po funkcionalnosti najbliži (a u pojedinim elementima i prestiže) komercijalnom VMware Workstationu. VirtualBox Instalacija ovog paketa krajnje je jednostavna. Na web stranici za preuzimanje mogu se naći verzije za razne operativne sisteme, a tu je i temeljan spisak izmena i dopuna u najnovijem izdanju. Preporučena instalaciona konfiguracija podesiće i mrežni drajver, koji će omogućiti kreiranje virtuelnih mreža i njihovo povezivanje sa fizičkim mrežama, kao i USB interfejs kojim će virtuelne mašine imati pristup uređajima povezanim na USB portove „host“ računara, kao što su Flash drajvovi.  

Pokretanjem VirtualBox-a dobija se menadžer virtuelnih mašina intuitivnog interfejsa. Dovoljno je kliknuti na dugme za novu virtuelnu mašinu, i program će nas provesti kroz kratak i lepo objašnjen wizard. Ono što je bitno je da se „hard diskovi“ virtuelnih mašina čuvaju u obliku „image“ fajlova, a svi oni se nalaze izlistani u okviru virtual media menadžera koji se dobija komandom u meniju File. Pored „slika“ hard diskova, na istom mestu će se naći i slike optičkih i flopi diskova. Tokom kreiranja virtuelne mašine, korisnik uopšte ne mora navesti postojanje hard diska u virtuelnom računaru. Ovako nešto ima smisla kada se radi o virtuelnoj mašini za isprobavanje „živih“ Linux distribucija koje se pokreću direktno sa CD-a, ili pri kreiranju mašine sa nekom od distribucija prilagođenih za poslove rutiranja i firewall-a, koje takođe rade sa CD-a a svoje podatke mogu da upisuju i na „sliku“ flopi diska.  

Korišćenje VirtualBox aplikacije

Nakon kreiranja virtuelne mašine, pre njenog pokretanja korisno je izvesti fina podešavanja klikom na odgovarajuće dugme. U novom prozoru, moguće je uključiti eksperimentalnu 3D podršku, tako da gostujuči sistem može da koristi 3D sposobnosti grafičke kartice host računara. U praksi, ovo funkcioniše samo sa OpenGL aplikacijama, i to ne uvek i na najbolji način. Novije verzije VirtualBox-a imaju mogućnost korišćenja 2D akceleracije, ali samo ako je gostujući sistem neki od novijih Windowsa.
 

Podešavanja za mrežu omogućavaju korišćenje do četiri mrežna adaptera (odnosno, mrežne kartice), uz definisanje načina na koji će oni biti povezan na mrežu. Najjednostavniji način da virtuelna mašina ima prost izlaz na Internet je biranje NAT (network address translation) rutiranja, gde će se IP adresa virtuelne mašine „spolja“ videti kao IP adresa host računara, a virtuelna mašina ponašati kao da ima direktan izlaz na Internet, pošto će VirtualBox raditi transliranje adresa interno i transparentno. Drugi interesantan režim je povezivanje u internu mrežu – dovoljno je navesti isto ime mreže u nekoliko virtuelnih mašina, i kada one budu pokrenute, ponašaće se kao da su fizički povezane na istu lokalnu mrežu. Naposletku, korisna opcija je mogućnost „vađenja kabla“ iz virtuelnog adaptera. Primera radi, hoćete da instalirate Windows tako da virtuelna mašina u startu ima mrežni adapter, ali ne želite da Windows „zove kući“ tokom instalacije – samo treba da odštiklirate opciju „cable connected“, a kada završite sa instalacijom i podešavanjem Windowsa, ponovo je štiklirate.
 

S obzirom da virtuelna mašina ne može direktno da „vidi“ sadržaj hard diska host računara, jer se pokreće u izolovanom okruženju, potrebno je da softver na neki način omogući jednostavnu razmenu i deljenje fajlova, ukoliko korisniku tako nešto zatreba. Osim „pešačkih“ varijanti, kao što je kreiranje ISO slike ili snimanje fajlova na USB flash, a potom njihovo montiranje u virtuelnu mašinu, VirtualBox omogućava i definisanje „deljenih“ foldera sa hard diska host računara, kome gostujući operativni sistemi mogu da pristupaju kao deljenom mrežnom folderu.
 

Nakon finog štelovanja, dolazimo do trenutka kada treba pokrenuti virtuelnu mašinu. Ako smo „ubacili“ ISO sliku u optički drajv i podesili prioritet butovanja, instalacija operativnog sistema će se pokrenuti kao da se radi o fizičkom računaru. Ono što se odmah uočava je da virtuelna mašina ima minijaturni „BIOS“, koji nudi samo mogućnost biranja boot uređaja pritiskom na taster F12 (primera radi, VMware Workstation nudi BIOS koji je dosta nalik BIOS-ima na pravim matičnim pločama). Nakon što instalacija krene, treba se ponašati kao što bi se ponašali da je reč o pravom računaru, a ne virtuelnoj mašini.
 

Nekoliko stvari koje treba znati su sledeće: kada korisnik klikne unutar prozora virtuelne mašine, tastaturni ulaz i kursor biće „uhvaćeni“ unutar njenog prozora, a njihovo „oslobađanje“ vrši se pritiskom na takozvani host taster koji je ispisan u donjem desnom uglu prozora, a koji je podrazumevano desni CTRL (može se redefinisati u podešavanjima VirtualBox-a). Ovaj taster u kombinaciji sa drugim tasterima omogućava operacije poput prebacivanja u režim punog ekrana (host + F), slanje signala Alt+Ctrl+Delete virtuelnoj mašini (host + Delete) i slično. Druga stvar koja se lako uočava nakon instaliranja operativnog sistema unutar virtuelne mašine su loše grafičke performanse. Baš kao što je posle instalacije sistema na fizički računar potrebno instalirati drajvere za grafičku karticu, isti slučaj važi i ovde. Drajveri se nalaze na ISO slici VBoxGuestAdditions.iso koju možete ručno montirati na virtuelni drajv, a možete izabrati i komandu Devices -> Install Guest Additions. Nakon okončane procedure i restarta virtuelne mašine, performanse grafičkog sistema biće značajno bolje, a pritom će nestati i potreba da „oslobađate“ mišji kursor iz virtuelne mašine, jer će novi drajver za virtuelnog miša omogućiti tečan prelazak kursora iz mašine u fizički sistem.
 

Interesantan režim rada gostujućeg operativnog sistema je takozvani „seamless“ mod. VirtualBox može da „sakrije“ desktop gostujućeg sistema i ostavi samo aktivne prozore, pa oni izgledaju kao da su pokrenuti direktno na host računaru (primetite kako se na slici istovremeno vide „raznorodni“ prozori sa Windowsa 7 i XP-a, koji deluju kao da rade paralelno). Upravo na ovaj način je izveden Windows XP mod koji se može instalirati na Windows 7, jer je Microsoft u svoj program Virtual PC implementirao „seamless“ režim. Programi koji se pokreću u Windows XP modu putem tog dodatka se zapravo pokreću u „skrivenoj“ virtuelnoj mašini, održavajući praktično stopostotnu kompatibilnost sa Windowsom XP (jer na njemu zapravo i rade, a ne na Windowsu 7 koji hostuje pomenutu virtuelnu mašinu).

 

Ovo bi bio „ubrzani kurs“ korišćenja virtuelnih mašina na kućnom računaru, a ako vas je tematika zaintrigirala, slede vam sati eksperimentisanja sa podešavanjem i pokretanjem virtuelnih mašina, iz kojih ćete zasigurno naučiti mnogo korisnih stvari. Primera radi, uočite šta se dešava ako virtuelnu mašinu nasilno ugasite na „krstić“ u uglu prozora umesto da izaberete regularno isključivanje iz operativnog sistema (ili komandu „ACPI shutdown“).
 

Isprobajte kako funkcioniše komanda za hvatanje „snapshotova“ virtuelne mašine, a ne propustite ni priliku da podignete nekoliko raznorodnih operativnih sistema u virtuelnoj mreži i isprobate kako se oni ponašaju u takvom okruženju.
 

#263;enost resursa. Nasuprot tome, jedan snabdquo;virtuelno umre#273;enja kabla#269;ama). Nakon /table width=

Ostani u toku

Prijavi se na newsletter listu i jednom nedeljno cemo ti poslati email sa najnovijim testovima i vestima iz sveta tehnologije.

Hvala!

Uspešno ste se prijavili na na naš newsletter! Proverite vaš email nalog kako bi potvrdili prijavu.

Možda vam se svidi