PC Press
O nama
O nama
Pretplata
O nama
Postanite saradnik PC-ja
Kontakt sa redakcijom
PC Press
Novi broj
Novi broj   
Pretrazivanje
Arhiva
Arhiva   
PC Online
PC Plus   
Specijalna izdanja
Softver Softver
PC #112 : Jun 2005 Knjiga 50 godina racunarstva u Srbiji

 Naslovna  Sadržaj 
Dražen Dotlić  

VMWare - čista petica

Posle četiri meseca beta testiranja, do nas je stigla verzija 5 jedne od najboljih aplikacija za virtuelizaciju računara - VMWare. Bacimo pogled na pregršt zanimljivih noviteta.

(kliknite za veću sliku)

Kada je Microsoft kupio Connectix, a samim tim i njegov Virtual PC, izgledalo je da će, kao i na mnogim drugim poljima, bitka za dominaciju na tržištu aplikacija za virtuelizaciju ubrzo biti završena; naravno, u korist Microsoft‑a, što je već tradicija. Jedina dominantna karakteristika VMWare‑a je do sada bila brzina koje nikad nije dosta, dok je širinom mogućnosti dominirao Virtual PC. Sada verzija 5 VMWare‑a bez problema parira tekućoj verziji Virtual PC-ja (5.3), čak je na mnogim poljima i nadmašuje. Na sledeću verziju Virtual PC‑ja i odgovor Microsoft‑a čekaćemo po svemu sudeći barem do polovine naredne godine, a do tada VMWare ostaje nekrunisani kralj na ovom polju. Pošto smo o VMWare‑u pisali u prethodnim brojevima, ovoga puta ćemo se fokusirati na njegove nove mogućnosti.

Snapshot manija

VMWare je oduvek podržavao mogućnost snimanja trenutnog stanja virtuelne mašine (VM) pod imenom snapshot, čime se dobijao logički skup trenutnog stanja (memorije, diska, stanje virtuelnih uređaja i slično). Sve promene načinjene posle snimanja snapshot‑a mogu se poništiti jednim potezom, vraćanjem na snimljeno stanje. Ova mogućnost je zgodna za slučajeve kada u virtuelnoj mašini imate neko stabilno stanje u kojem želite da eksperimentišete, ali i na koje se želite vratiti. Nova verzija ovu mogućnost podiže na mnogo viši nivo – sada je moguće praviti više snapshot‑ova, linearno ili čak hijerarhijski.

(kliknite za veću sliku)

Linearni snapshot‑ovi se lako prave – ručno ili automatski pravite snapshot‑ove jedan za drugim, uvek od tekućeg (poslednjeg, označenog sa You Are Here) stanja. Ovakva vrsta snapshot‑ova je zgodna za računarske učionice, gde je za izvođenje vežbi potrebna komplikovana priprema. Za svako poglavlje nekog kursa možete odvojiti po jedan snapshot, čime štedite ne samo svoje vreme već i vreme polaznika, i omogućavate svakom polazniku da ima „čisto“ stanje, koje ne zavisi od onoga što su radili prethodni korisnici istog PC‑ja.

Hijerarhijski snapshot‑ovi dobijaju se automatski tako što napravite snimak nekog stanja koje je više od jednog nivoa unazad. Ovakva vrsta snapshot‑a zgodna je za testiranje podvarijacija u instaliranom softveru u VM; npr. odvojite granu za IE 6 i Mozilla Firefox. VMWare omogućava više scenarija korišćenja snapshot‑a. Možete podesiti da sa pri svakom gašenju VM stanje vraća na neki od snapshot‑a ili da se na svako gašenje pravi novi snimak. Obratite pažnju na to da je pravljenje snapshot‑a gotovo trenutna operacija pa je ne treba raditi dok je računar „usred“ nekog posla (recimo, velikog download‑a) jer se neka stanja (mrežna veza, recimo) ne mogu u potpunosti restaurirati. Intenzivno korišćenje snapshot‑ova usporava rad, pa ako vam ova mogućnost nije potrebna, možete ih isključiti.

Bezbedno kloniranje

(kliknite za veću sliku)

Sledeći korak je klon, potpuna kopija VM sa kojom možete da radite sve što i sa originalom. Klon je nezavisan od originala – sve promene načinjene na njemu ne menjaju original ni na koji način. Klon može da se pokrene u isto vreme kada i original pa je stoga MAC adresa mrežne karte u klonu različita od originala. Ovo može da predstavlja problem kod operativnih sistema koji će snimiti MAC adresu mrežne karte između dve login sesije i posle insistirati na njoj (Red Hat Fedora Core 4 je jedan od takvih). Lek je jednostavan – nakon kloniranja uklonite i dodajte mrežnu kartu i sve će biti u redu.

Čemu služi kloniranje? Za početak, ako vam treba nekoliko kopija identične VM moraćete posebno da ih instalirate što troši ne samo vaše vreme nego i prostor na disku. Primene su razne – programeri mogu da koriste više kopija za nezavisno testiranje na identičnoj baznoj VM, u računarskoj učionici svaki polaznik može da dobije svoju VM sa identičnim osnovnim postavkama sa kojima može da eksperimentiše na duže staze.

(kliknite za veću sliku)

Postoje dve vrste klonova – vezani i potpuni. Potpuni klon je nezavisna kopija originala i obezbeđuje maksimalne performanse, ali troši resurse jer se sve kopira uključujući i sadržaj (virtuelnog) hard diska. Vezani klon deli virtuelni hard disk sa originalom, tačnije sa snapshot‑om originala u trenutku kloniranja. Nakon toga, sve promene na originalu i klonu su nezavisne. Vezani klon se pravi veoma brzo i zahteva vrlo malo resursa, ali je sporiji jer mu je za normalan rad potreban pristup (virtuelnom) hard disku originala.

Klonovi se prave uz pomoć prostog čarobnjaka. Važno je napomenuti da proces zahteva da VM bude ugašen (a ne suspendovan) i da postoji snapshot originala. U slučaju vezanog klona važno je da se i VM original i snapshot od koga je načinjen klon slučajno ne obrišu, jer je posle nestanka originala klon neupotrebljiv. Da bi ovaj proces učinili što bezbednijim, autori VMWare‑a su dodali prekidač za VM koji onemogućava slučajno brisanje sve dok ga ne isključite.

Proces može da se nastavi dalje – možete napraviti vezani klon vezanog klona, potpuni klon vezanog klona ili bilo koju drugu kombinaciju. Obratite pažnju na to da je svaki vezani klon sporiji od originala, pa ako uvežete nekoliko vezanih klonova doći će do ozbiljnog usporenja. Kod potpunog klona usporenja nema, ali zato trošite više resursa. Podrazumeva se da na klonovima možete praviti snapshot‑ove, što broj kombinacija i primena podiže na neverovatan nivo.

Timovi

(kliknite za veću sliku)

Pomalo nesrećno ime „timovi“ zapravo je zgodan način da grupišete veći broj virtuelnih mašina u logičku grupu. Ovu mogućnost su autori verovatno mogli da ugrade i ranije, ali je sa kloniranjem omogućeno mnogo lakše pravljenje većeg broja VM. Tim se sastoji od već postojećih virtuelnih mašina i dodaje mogućnost njihovog postavljanja u posebne LAN segmente (nezavisne od mreže mašine domaćina). Takođe je omogućeno kontrolisano uključenje i gašenje VM unutar tima u određenom redosledu – možete podesiti kašnjenje između pokretanja/gašenja svake VM ponaosob tako da se mašina‑domaćin ne zaguši istovremenim pokretanjem/gašenjem većeg broja VM.

Primene timova su višestruke. Moderna softverska rešenja podrazumevaju tzv. multi‑tier arhitekturu – na jednom računaru je baza podataka, na drugoj poslovna logika (izložena recimo kao Web servis), a na ostalima je klijentska aplikacija. Slično se može uraditi i za klasičan klijent/server scenario kao i za automatsko stress testiranje sa više klijentskih mašina. U nekim slučajevima zgodno je testiranje ponašanja VM u uslovima promenljivog mrežnog protoka.

Pravljenje tima je trivijalno – samo izaberete VM učesnike i opciono dodatne mrežne segmente. U svakom trenutku možete VM dodati ili izbaciti iz tima. Obratite pažnju na to da VM jednom dodat u tim više ne postoji nezavisno i može se koristiti samo u okviru tima; naravno, pre toga možete napraviti klona (ili više njih). Napominjemo da ako napravite klon VM koji je već u timu, klon ne postaje automatski član tima (ali ga možete dodati). Brisanje tima je prosto i u opštem slučaju ne podrazumeva brisanje VM učesnika, mada je i to omogućeno. Snapshot‑ovi su i dalje mogući ali samo individualno na VM članove tima, ne i na ceo tim.

Kada pokrenete tim, pored uobičajenog prikaza pojaviće se i panel sa prikazom trenutnog stanja ekrana svih VM članica (ovaj se prikaz ažurira u realnom vremenu). Prelazak na bilo koju VM je trenutan, klikom na njenu sličicu. I dalje možete preći u full screen mod, kada ćete videti samo aktivnu VM, kao da je ona jedina. Podrazumeva se da je pokretanje tima najstresnija operacija za mašinu‑domaćina jer se ukupni resursi sada dele na n+1 mašina. Zato opremite svoj računar brzim procesorom i velikom memorijom, pogotovo ako ćete intenzivno koristiti timove sa više od 3 ili 4 virtuelne mašine. Iako je VMWare u ovoj verziji optimizovao upotrebu RAM‑a, memorije nikad nema previše, a ona značajno utiče na ukupne performanse.

Korisnička unapređenja

(kliknite za veću sliku)

Dodavanjem mogućnosti kao što su kloniranje i timovi VMWare je otvorio apetit za korišćenjem većeg broja VM odjednom, pa je logično da je ozbiljan trud uložen u optimizaciju potrošnje memorije na mašini domaćinu. Ovo je najočiglednije kada izvršavate više klonova odjednom, jer bi oni trebalo da imaju ponajviše toga zajedničkog. Detalji nisu poznati, ali izgleda da VMWare više ne alocira odmah onoliko memorije koliko je konfigurisano u VM, već po potrebi. Što god tehnologija bila, rezultati su dobri – stanje koje vidite na slici je zabeleženo nakon pokretanja tima u kome su dve Windows XP VM svaka sa po 512 megabajta (mašina‑domaćin ima 1 gigabajt). Subjektivni utisak je da je računar u datom trenutku vidno sporiji, ali i dalje sasvim upotrebljiv.

Mrežne performanse su poboljšane uvođenjem novog mrežnog drajvera koji je usput omogućio i fina podešavanja protoka, potrebna za rad sa timovima. Najvidljivije poboljšanje vidi se kod suspend/resume operacija i pravljenja snapshot‑ova. Deo tog utiska je rezultat svojevrsne varke – korisnik ne mora da čeka da se operacija završi i za njega je ona trenutna, ali VMWare i dalje radi u pozadini. Ovo možete videti tako što ćete suspendovati VM a odmah potom probati da ugasite VMWare, u kom slučaju ćete dobiti upozorenje da je suspend još uvek aktivan.

Nova verzija donosi i spisak novih podržanih operativnih sistema, kako na virtuelnim mašinama tako i na računaru‑domaćinu. Najdalje je otišla lista distribucija Linux‑a koji se znatno češće menjaju od Windows‑a. VMWare u potpunosti podržava x64 arhitekturu, u AMD i Intel varijanti. Eksperimentalno je podržan i Windows XP 64-bit kao domaćin, te nekoliko 64‑bitnih Linux distribucija (Red Hat Enterprise Linux 3.0, SUSE Enterprise Server 7, 8, 9...) Na Linux‑u VMWare sada koristi GTK2 kao bazu za korisnički interfejs, što omogućava bolji i „prirodniji“ izgled i veću upotrebljivost.

Eksperimentalne mogućnosti

Osvrnimo se i na nekoliko novina koje su za sada u eksperimentalnoj fazi. Sleep mod je podržan kod onih operativnih sistema koji to umeju da iskoriste i trenutno se svodi na VMWare suspend, ali ručno možete uključiti „pravi“ sleep koji se ponaša kao i kod „normalnog“ računara – mašina nije do kraja ugašena i mnogo brže se „budi“ iz sleep stanja.

3D podrška postaje veoma bitna sa dolaskom modernih operativnih sistema koji se naslanjaju na hardversku 3D podršku za osnovni korisnički interfejs – najbolji primer je Longhorn. Trenutno je podržan ograničen Direct3D 8 skup mogućnosti. Neke od mogućnosti koje nisu uključene su pixel i vertex shader‑i, kao i bump‑mapping, što znači da performanse modernih igara neće biti zadovoljavajuće. Druge 3D primene rade, pogotovo imajući u vidu da Direct3D ima softverski renderer koji „uskače“ kad god hardver ne može da implementira neku funkciju.

Ostale novine

Pritisak od strane Microsoft‑a ne može se ignorisati, pa VMWare u ovoj verziji nudi uvoz virtualnih mašina napravljenih Virtual PC‑jem kao i Virtual Server‑om. Proces je jednostavan i dozvoljava pravljenje potpune (što se preporučuje) i vezane kopije. Vezana kopija ne funkcioniše analogno vezanom klonu – ako ikada ponovo upotrebite originalnu VM unutar Virtual PC‑ja, vezana kopija neće moći da funkcioniše. Ova mogućnost je zgodna samo ako želite nešto kratkotrajno da isprobate, a prostora na disku nema dovoljno.

Nova je i podrška za komandnu liniju – dodata je posebna konzolna aplikacija vmrun koja podržava komande kao što su start, stop i suspend. Ako imate komplikovane scenarije pokretanja i gašenja većeg broja VM i timova, vmrun pozive možete nanizati u batch fajl i pustiti računar da obavi dosadni deo posla.

VM se često koriste za testiranje i eksperimentisanje. Tokom datog procesa dešavaju se razne stvari, pojavljuju neočekivani problemi ili pojave do kojih se ponekad dolazi relativno komplikovanim skupom koraka. Da biste nekom drugom pokazali šta se desilo najlakše je poslati sliku ekrana – jedna slika vredi više od hiljadu reči. Naravno, slike ekrana možete praviti i bez pomoći VMWare‑a – ako pritisnete Alt+PrintScreen dok je VMWare aplikacija aktivna dobićete njenu sliku na clipboard‑u. Ta će slika međutim da uključuje i VMWare korisnički interfejs a ne samo ekran VM dok vi obično želite samo sliku VM ekrana. Mada je i to lako izvesti unutar VM pritiskom na PrintScreen, ostaje vam problem da sliku ekrana izvezete iz VM u mašinu domaćina. VMWare za ovaj scenario nudi mogućnost uzimanja slike ekrana VM direktno iz VMWare‑a. Još bolje, u slučaju da se do datog stanja dolazi dužim nizom komplikovanih operacija, sada možete pustiti VMWare da „snima film“ tokom operacije. Postoje tri nivoa kvaliteta koji podrazumevaju uobičajeni odnos – što je prikaz kvalitetniji, to je fajl duži. Na kraju ćete kao rezultat dobiti AVI fajl koji možete da gledate na bilo kojem računaru koji ima instaliran VMWare codec ‑ program kojim film gledate nije bitan (Windows Media Player radi bez problema). Ako ste navikli na specijalizovane aplikacije za ovu namenu kao što je Camtasia Studio (po mnogima lider na ovom polju), nećete preterano biti zadovoljni rezultatom VMWare‑a – za film od oko 30 sekundi na maksimalnom kvalitetu potrebno je 18 MB, a kvalitet je očigledno lošiji od originala, mada i dalje upotrebljiv. Za isti scenario Camtasia bi proizvela bitno manji fajl čiji je kvalitet jednak originalu, ali Camtasia košta više nego VMWare, pa je ova mogućnost više nego dobrodošla za prostije primene.

Izdavanjem verzije 5 VMWare se predstavio kao veoma lepo zaokružen proizvod. Nove mogućnosti čine ga moćnom platformom ali to ima i svoju cenu – upgrade sa prethodne verzije čini čak 50% cene celog paketa (osim ako ste prethodnu verziju kupili posle decembra 2004. – u tom slučaju je upgrade besplatan). Po skromnom mišljenju autora ovog teksta, nove mogućnosti zavređuju ovoliko ulaganje.