Utilizare masini virtuale – VmWare, VirtualBox

Adi
Utilizare masini virtuale - VmWare, VirtualBox

Ce sunt masinile virtuale ?

Masinile virtuale (am folosit Vmware si putin Virtualbox) fac posibila rularea unui alt sistem de operare intr-o “fereastra” a sistemului de operare principal, fara a repartitiona hard-disk-ul. De exemplu pot rula un Windows Xp intr-o fereastra a Windows 7. Sau se poate rula Linux intr-o fereastra a Windows, si invers. Este ca si cum ai avea un alt calculator (virtual) pe care il poti porni/opri ca pe un program obisnuit. Am spus “intr-o fereastra” ca principiu, masina virtuala poate fi extinsa pe tot ecranul.

Cum functioneaza ?
Supportul pentru masini virtuale se instaleaza ca un program obisnuit (exemplu : Vmware, Virtualbox, etc). Dupa instalare, cateva configurari stabilesc cat din sistemul real poate imprumuta masina virtuala (memorie, disk). Masina virtuala are un bios virtual, unde poti alege de unde sa booteze, etc. Arata ca un calculator real care porneste.

Dupa pornirea masinii virtuale se poate boota de pe CD/DVD si instala sistemul de operare dorit. Pot exista mai multe masini virtuale create si chiar ruland in acelasi timp. Masinile virtuale se pot apoi sterge de pe hard-disk ca un director obisnuit cu fisiere.

Masinile virtuale functioneaza ceva mai incet dacat un sistem de operare instalat direct pe hard-disk – diferenta este mai mica la procesoare mai noi care suporta hardware virtualizare. Totusi nu se simte o diferenta notabila la utilizari obisnuite (Internet, Office, Muzica). In functie de cat de bine se intelegea virtualizarea cu placa video am reusit sa vad si filme si sa joc un joc mai vechi (Warcraft III).

La ce folosesc masinile virtuale ?

Utilizare sisteme de operare diferite fara a reinstala calculatorul

  • Odata instalat un sistem de operare (Windows, Linux), care are driverele necesare, se poate instala un program de virtualizare (Vmware, Virtualbox), se pot defini in el una sau mai multe masini virtuale iar in fiecare masina virtuala se poate instala cate un sistem de operare. Masinile virtuale vor avea discuri virtuale, care vor fi stocate ca fisiere pe disk-ul sistemului de operare principal, numit host (gazda). Sistemul de operare instalat in masina virtuala va avea impresia ca are la dispozitie un hard-disk real.
  • Masinile virtuale consuma ceva spatiu pe disk, dar consuma memorie si procesor doar daca sunt pornite. Masinile virtuale “tin minte” modificarile intre doua porniri, este ca si cum ai reporni un calculator real. Cand nu mai este necesara masina virtuala, spatiul pe disk se poate elibera usor stergand fisierele in care masina virtuala isi tine discurile virtuale.

Rulare simulatana a doua sisteme de operare

  • Sa spunem ca rulez Win7, dar am un mic program care ruleaza doar in WinXP (exista cazuri?). Pot porni un sistem WinXP in masina virtuala.
  • Sa spunem ca vreau sa invat putin Linux, dar in acelasi timp vreau sa am deschise programele obisnuite din Windows. Pot instala Linux intr-o masina virtuala care ruleaza sub sistemul Windows.
  • Pot dori sa testez un nou sistem de operare nou aparut, fara a bloca accesul la sistemul de operare instalat
  • O firma poate cumpara un calculator ceva mai puternic pe care sa existe multe masini virtuale, pe care angajatii sa faca teste in acelasi timp (conectandu-se prin retea).
  • Mi s-a intamplat sa folosesc o conexiune VPN catre birou care taia accesul la Internet. Pentru a folosi si Internet-ul local am facut conexiunea VPN din interiorul unei masini virtuale WinXP care rula peste sistemul de operare …WinXP.

Backup foarte usor

  • Datorita faptului ca masinile virtuale sunt stocate in fisiere, backup-ul se face pur si simplu copiind directorul masinii virtuale in alta parte. Copiere se face cu masina virtuala oprita.
  • Majoritatea masinilor virtuale suporta “snapshot-uri”, in care se stocheaza starea instantanee a masinii virtuale care ruleaza. Peste un timp, daca se doreste asta, masina virtuala se poate intoarce la acea stare. Acest sistem consuma mai putin spatiu decat copierea intregii masini virtuale (se memoreaza doar diferentele).
  • In cazul in care calculatorul s-a defectat sau a fost cumparat unul mai puternic, un back-up al masinii virtuale se poate utiliza pe alt calculator. Cel putin la Vmware nu vor exista probleme cu driverele diferite asa cum se intampla daca incerci sa muti un hard-disk cu Windows de pe un calculator pe altul.
  • Masina virtuala se poate opri cu programele deschise, iar la re-pornire va porni exact din starea in care a fost oprita (cu toate programele deschise).
  • O firma poate crea o masina virtuala cu tot ce este necesar unui angajat (programe specifice, conexiuni VPN multiple) si sa o distribuie tuturor celor care au nevoie. Oricine are o problema … re-copiaza masina virtuala.

Se poate muta de pe un calculator pe altul

  • Pot de exemplu sa am acelasi sistem de operare si acasa si la serviciu. Pot instala acel sistem de operare pe un stick USB sau pe un hard-disk USB. Singura cerinta este sa existe in ambele parti instalat acelasi program de virtualizare. Atentie, masinile virtuale pe USB functioneaza destul de incet, se recomanda copierea pe hard-disk-ul local.
  • Am avut surpriza sa iau o masina virtuala de pe Windows/AMD64 si sa o mut pe Linux/Intel32 si a reusit sa continue rularea exact unde o oprisem. Probabil nu functioneaza in toate cazurile, dar o masina virtuala oprita se poate intotdeauna repornit fara probleme pe alt hardware si sistem de operare.

Testarea unor programe cu risc de a fi virusate

  • Masinile virtuale au avantajul ca ceea ce ruleaza in interior nu poate afecta sistemul gazda, in afara de dimensiunea fisierului. Un program virusat care este rulat in masina virtuala nu poate virusa sistemul gazda. Daca apar suspiciuni ca s-a instalat un virus, masina virtuala se poate intoarce la o stare salvata anterior.
  • Eu am avut surprize cu niste drivere VPN Cisco care odata instalate faceau imposibila rularea VPN Juniper. Nu am reusit in nici un fel sa fac dezinstalarea completa a driverelor, si oricum cele doua erau incompatibile. Am reusit insa sa instalez cele doua sisteme VPN separat, fiecare intr-o masina virtuala Vmware.

Distribuirea de aplicatii DEMO

  • Pe Internet se pot gasi diferite masini virtuale instalate cu diverse sisteme de operare si programe. Dureaza destul de mult un astfel de download, dar poate fi o metoda buna de a testa un anume sistem de operare.

Windows portabil

  • Se stie ca Windows (cel putin XP) nu mai porneste daca se muta hard-disk-ul in alt calculator. Am vrut sa imi fac un XP “la purtator”, care sa nu depinda nici macar de existenta unui sistem de operare pe calculatorul gazda. Pe un hard-disk USB am instalat un Linux (Ubuntu) care booteaza cam pe orice hardware. In Linux am instalat Vmware-Player care porneste o masina virtuala WinXP stocata pe acelasi hard-disk. Performanta este destul de mica (din cauza USB), dar se poate lucra la nevoie. Am reusit acelasi lucru chiar si pe un mic stick USB, dar aici performanta a fost dezastruasa, chiar pe un stick rapid.

Cateva informatii care merita stiute

  • Vmware ofera niste drivere care se instaleaza in sistemul de operare virtual (vmware-tools). Aceste drivere ii permit sa foloseasca facilitati mai avansate din sistemul gazda, sporind viteza si permitand operatii precum “copy&paste” intre masina virtuala si masina gazda
  • Reteaua poate fi configurata in mod “NAT”sau “Bridge”. NAT este setarea recomandata, in care sistemul virtual va primi prin DHCP un IP de la masina virtuala, iar acest IP va fi scos in Internet printr-un router virtual. In sistemul “Bridge” este ca si cum masina virtuala ar fi in acelasi switch cu masina fizica, trebuie sa ii dai IP din aceeasi clasa de IP-uri.
  • Masina virtuala nu aloca decat spatiul pe disk folosit. Se poate astfel instala un sistem virtual cu disk de 200GB care sa consume in mod real doar 2GB dintr-un disk real de 10GB. Bineinteles, daca sistemul din masina virtuala va folosi spatiul respectiv, fisierul “disk virtual” va creste pana la limita spatiului disponibil apoi va genera o eroare.
  • Masina virtuala blockeaza memoria configurata pe parcursul rularii ei. Sistemul de operare gazda trebuie sa dispuna practic de dublul memoriei de care ar avea nevoie in mod obisnuit. Se pot incerca diverse variante, de exemplu XP virtual merge ok si cu 512MB, dar cel mai bine cu 1GB (peste necesarul sistemului gazda). Doua masini virtuale rulate simultan blockeaza suma memoriei alocate lor.
  • In loc de CDROM real, unitatea virtuala de disk de poate lega direct la o imagine ISO de CD. Instalarea functioneaza chiar mai repede decat dupa CD fizic.
  • Vmware-player este gratuit, si poate rula masini virtuale create de “vmware-server”. Masinile virtuale se pot modifica usor (exemplu dimensiune RAM) editand ca fisier text fisierul *.vmx.
  • Virtualbox este gratuit pentru uz personal si evaluare.
  • Vmware ascunde destul de mult detaliile hardware ale masinii gazda, Virtualbox le ascunde mai putin. Ar trebui ca performanta sa fie un pic mai mare pe Virtualbox, dar se pierde din portabilitate.
  • Se poate seta un director din sistemul gazda sa fie vazut in masina virtuala – director “share”. Daca nu, se poate lucra cu directoare share-uite pe retea.
  • In functie de setare, masina virtuala vede sistemul gazda din ip-ul din aceeasi clasa (il gasiti la default gateway)

Cateva informatii mai tehnice

  • Programele rulate in masina virtuala nu sunt interpretate “instructiune cu instructiune”. Instructiunile ruleaza nativ pe procesor, doar apelurile care merg spre sistemul fizic sunt inlocuite cu apeluri gestionate de masina virtuala. Astfel programele care nu lucreaza mult cu sistemele periferice (disk, video, audio, retea) pot rula aproape la aceeasi viteza ca un sistem instalat nativ.
  • Masinile virtuale pot boota si alte partitii fizice ale disk-ului real, dar este destul de periculos. Am facut “suspend” la o masina virtuala Linux, apoi am uitat si am bootat sistemul real. Bineinteles ca disk-ul era total inconsistent (multe modificari erau in memoria … virtuala). A stat foarte mult sa repare disk-ul si a pierdut ceva fisiere.
  • Vmware si Virtualbox nu booteaza din pacate nativ de pe USB, nu exista optiune in BIOS. Ambele citesc insa informatiile de pe stick-uri USB conectate la VM. Se poate face un mic truc isa. Il gasiti aici pentru Virtualbox/Linux (merge similar si pe Windows), dar atentie mare sa nu instalati din greseala pe discul real. Pe Vmware se poate face “Add hard disk”, se alege “Use a physical disk” si se alege “Full disk” si numarul discului (de obicei USB este ultimul). Inca o data MARE ATENTIE, daca selectati disk-ul gresit puteti distruge datele de pe hard-disk-ul cu Windows. Chiar si asa, bootarea de pe USB nu functioneaza in toate conditiile, dar nu stiu inca ce face unele secvente de boot USB sa booteze pe o masina reala dar sa nu functioneze pe masina virtuala.
  • Am avut o problema cu adaptorul de retea vmware, se restarta la interval de 20 minute si pica VPN-ul. Solutia a fost sa cresc timpul de “lease” DHCP din setarile vmware.
  • Am descoperit ca pe noul meu laptop Asus cu Intel i5, Win7 crapa cu ecran albastru la trafic mare (peste 20Mbps), iar dezinstaland VirtualBox s-a rezolvat. Vmware merge fara probleme.

[de Mihvoi – preluare mihvoi.blogspot.com]


Tag-uri: , ,

12 comentarii la articolul “Utilizare masini virtuale – VmWare, VirtualBox”


  1. Paul21 scrie:

    dom’ne, mi-a placut.
    Este la obiect si cu exemplificarile facute a reusit sa ma puna in tema cu problemele de amanunt, cum ar fi cea cu virusii. E fain daca nu ataca sistemul gazda. Multumesc.


  2. cris_preot scrie:

    Cum pot să fac va virtualbox să-mi recunoască usb-urile mașinii gazdă. Am instalat și guest adition dar tot nu funcționează

  3. @Paul21: Thanks!

    @cris_preot: S-ar putea sa folosesti versiunea Open Source de VirtualBox care nu are suport USB. Versiunea closed-source are (trebuie sa instalezi binarele de pe site).

    http://www.virtualbox.org/wiki/Editions


  4. costy scrie:

    sal am instalat xp profesional in virtualbox si asi vrea sa stiu cum pot sa folosesc cd/dvd-ul de la laptop si in masina virtuala ptr ca nu reusesc

  5. @costy: cel putin in versiunea pe care o am (3.2.8 desi a aparut 4.x) adaugarea unitatii sistemului host (laptopul) se face asa: din setarile masinii virtuale, sectiunea Storage, exista acolo IDE Controller in care eu nu am adaugat nici un drive (scrie Empty). Apesi pe Empty si din dreapta selectezi unul din sloturi gen ide primary master sau secondary master etc, si la CD/DVD device selectezi Host Drive X: unde X: e unitatea cdrom a laptopului. Daca ai probleme poti incerca si checkboxul “Passthrough”.


  6. Nicut scrie:

    Folosesc de ceva ani vmware pentru rularea os diferite. Dar am o intrebare: exista ceva de genul acesta insa sa fie portabil, in sensul ca sa poata rula pe un calculator fara drept de administrator? Multumesc!

  7. @Nicut: e destul de greu in general pentru ca mai toate softurile au nevoie de admin rights pentru tot felul de low-level drivers. Clar este cazul cu vmware… Singura varianta de care stiu este QEMU (are si versiune de windows, dar vezi ca undeva la ultimele versiuni driverul USB era infectat sau ceva de genul asta :). Nu stiu care e site-ul oficial ca am gasit pe mai multe binare de qemu compilate pt Windows, dar poti cauta “qemu windows” pe google si hotarasti tu pe care sa-l folosesti. Nu e asa “full-featured” ca programele comerciale dar e free si pentru multe lucruri functioneaza acceptabil dupa ce te prinzi cum sa-l folosesti :)

  8. Am win xp pe 32 bit.
    Cum se poate instala win 2000 pe o masina virtuala ?

  9. @dba: Poti urma tutorialul acesta, doar ca bootezi un CD de win2000 in loc de CD de linux. Apoi instalezi win2000 ca pe orice PC non-virtual – http://www.techtorials.ro/2009/03/22/virtualbox-instalarea-unei-masini-virtuale/

  10. Imi poate spune cineva cam ce cpu mi-ar putea suporta 35 de masini virtuale ca nu am gasit nicaieri un exemplu :( . Va multumesc

  11. Din pacate raspunsul variaza extrem de mult in functie de o gramada de factori (gen cat RAM este nevoie pentru fiecare, capabilitati/generatie procesor, numar de core-uri fizice, ce face efectiv fiecare server). Nu cred ca exista nici un astfel de calcul. Cautand putin pe net vad diversi ruland chiar si 6-10 guest VMs per physical core (ceea ce poate ajunge la ce vrei tu pe un quad core de ultima generatie) dar nu am posibilitatea sa testez acest setup. Oricum vei avea nevoie de un server extrem de puternic pentru a rula 35 VMs, asta daca nu sunt ele in sine extrem de simple (nu proceseaza date decat foarte rar sau in general consuma foarte putin CPU). Mai mult, e foarte posibil sa lovesti alte limite inainte sa ajungi la limita de VMs .. uite un document de la care poti pleca pentru a iti face o idee despre cate limite exista si cati factori trebuie luati in calcul:

    http://www.vmware.com/pdf/vi3_35/esx_3/r35u2/vi3_35_25_u2_config_max.pdf

    Cautand pe site-ul VMware s-ar putea sa gasesti si alte limite in functie de produsul folosit. Posibil sa-ti fie util si acest post referitor la limitele VirtualBox:

    https://forums.virtualbox.org/viewtopic.php?f=24&t=41211

  12. As dori sa creez pe un PC, 6 masini virtuale.
    5 din aceste masini se conecteaza prin VPN-uri diferite.
    1 din aceste masini ruleaza doar Mozilla Firefox.
    Fiecare in parte printr-un program/explorer primeste date in timp real.

    - Ce configuratie trebuie sa aiba calculatorul?
    *Intel Core i7-3770 CPU @ 3.40 Ghz. 3.40 Ghz
    *16Gb RAM
    *1Tb HDD
    “Aceasta configuratie este ok?”

    - Cum este posibil sa vizualizez cele 6 masini virtuale in acelasi timp pe monitoare diferite?

    - Exista riscul de conflict VPN ? Daca da, ce pot face in acest caz ?

Lasa un comentariu: