Home

"I'm brave but I'm chicken shit"

La virtualizzazione

Virtualizzazione

Con il passare del tempo la potenza dei computer e la loro capacità è aumentata in modo esponenziale, spesso in modo eccessivo rispetto ai compiti richiesti.
Grazie a questo, negli ultimi anni si stanno diffondendo alcuni programmi detti di “Virtualizzazione”. La virtualizzazione in informatica è un termine generico riferito all’astrazione di una risorsa. Il concetto che sottende a tutte le tecniche di virtualizzazione è l’isolamento dello strato “fisico” attraverso una sorta di incapsulamento. La virtualizzazione crea una interfaccia esterna che nasconde tutta la parte sottostante e permette l’accesso concorrente alle stesse risorse da parte di più istanze che funzionano in contemporanea. (Tradotto da Wikipedia ed integrato da me.)
In questo post si farà riferimento a tre tipi di virtualizzazione: nativa, full e paravirtualizzazione. Un approfondimento sui termini e parecchi link si trovano in questa voce di Wikipedia.

Al momento della creazione di una macchina virtuale, ho a disposizione una scelta di opzioni hardware che consentono di creare un ambiente indipendente, noto, e sempre uguale. I controller del disco, la VGA, la scheda di rete, tutto l’hardware virtuale è identico a prescindere dalla macchina fisica su cui è installato il programma di virtualizzazione; persino il BIOS è sempre lo stesso.
In pratica, a parità di piattaforma software, un’immagine può essere spostata copiando semplicemente i file che la costituiscono (sono pochissimi) su un PC completamente diverso, e da quello ripartire senza neppure accorgersi che il “ferro” è cambiato.

Esistono tre aree principali in cui si utilizza la virtualizzazione:

  1. L’ambito personale.
  2. Gli ambienti di test, sviluppo e didattici.
  3. La server consolidation.

Le prime due sono generalmente terreno di virtualizzazione nativa e full, mentre l’ultima è principalmente campo della paravirtualizzazione.

In ambito personale la virtualizzazione si usa per creare un ambiente dove far girare un’altra copia del sistema operativo, che può essere lo stesso della macchina ospite o meno, destinato all’esplorazione di caratteristiche che non vogliamo o non possiamo avere direttamente sulla macchina fisica. Un’immagine virtuale può essere utilizzate da un utente Windows per familiarizzare con Linux, ad esempio. Oppure se da quest’ultimo si vuole provare una diversa distribuzione, o ancora se si ha la necessità di usare un prodotto che è disponibile solo per un sistema operativo diverso dal proprio. Anche l’utente Mac ne può trarre giovamento: ho utilizzato una macchina virtuale XP in rete con l’iBook fisico sulla quale girava, per una demo al BarCamp di Torino.
Per l’utenza di questo tipo, segnalo VMWare Player, che può far “girare” macchine virtuali già pronte. Inoltre, VMWare rende disponibili per il download molte immagini per gli scopi più diversi, dette “Appliances“, quasi tutte basate su sistemi operativi open source, e molte gratuite. Per iniziare consiglio Browser Appliance, che offre un ambiente virtuale orientato alla navigazione sicura. Il grosso vantaggio è che al termine della sessione si può decidere di non scrivere su disco le modifiche, mantenendo l’immagine sempre uguale a se stessa. In questo modo non ci deve preoccupare di eventuali software “maligni” che potrebbero contagiarci. Semplicemente, alla chiusura della macchina virtuale moriranno con essa.

Per gli ambienti di test, sviluppo e didattici i benefici sono sempre gli stessi, ma l’utilizzo avviene in ambito professionale, spesso in fase di sviluppo e creazione di applicazioni. La virtualizzazione consente di avere molte macchine identiche ma separate, tutte disponibili, magari con versioni diverse dell’applicativo in fase di sviluppo. La possibilità di gestire il “commit” delle modifiche è un plus: nel caso le operazioni appena compiute si rivelino fallimentari, il rollback si ottiene semplicemente non permettendo al programma di virtualizzazione di aggiornare l’immagine della macchina, la quale si ripresenterà intatta all’avvio successivo.
Anche chi utilizza reti di computer per test oppure per scopi didattici ottiene grandi benefici dall’utilizzo di queste tecniche. Ad esempio gli istruttori dei corsi e dei workshop di Microsoft utilizzano un singolo PC portatile sul quale funziona un’intero dominio completamente virtuale, con uno o più domain controller e client che “girano” contemporaneamente. Tutto questo ha indubbi vantaggi sia dal punto di vista logistico (è sufficente un notebook per simulare una intera rete locale!), che operativo: al termine delle sessioni, l’istruttore non aggiorna le immagini su disco e tutti i client e server sono pronti come nuovi per la giornata successiva (nessuna necessità di ripetere le installazioni).

Ci sono diversi prodotti destinati all’uso personale o professionale; una breve lista non esaustiva comprende:

Nel campo della server consolidation ottenuta tramite paravirtualizzazione, i prodotti di elezione sono VMWare ESX Server e Xen. Per non dilungarmi troppo, questo tema verrà trattato in un altro post.


Pubblicato

in

da

Tag:

Commenti

26 risposte a “La virtualizzazione”

  1. Avatar Francesco

    Credo che ormai la virtualizzazione dei sistemi possa portare solo benefici. Uso VMWare server 1.0 da quando è uscito e nella mia azienda ci sono già 4-5 macchine virtuali produttive con utilizzi specifici. Segnalo, per chi è amante della portabilità, http://www.moka5.com/, permette di creare una macchina virtuale su un disco USB, in modo da portare con se il proprio PC e accenderlo ovunque.

  2. Avatar Mirko

    all’istiuto di fisica di padova abbiamo montato diversi cluster WMWare, i tempi di pubblicazione sono stati letteralmente abbattuti.

    Confermo la potenza della virtualizzazione.

  3. Avatar Luigi Molinaro

    Mi dite un buon prodotto OPenSource che giri su Gnu/linux system ?

  4. Avatar Luca Mondini

    Ciao Andrea,

    io, utente Gentoo Linux, uso VirtualBox (http://www.virtualbox.org) per gestire una macchina virtuale Xp per un paio di applicazioni Windows only, e un’altra per testare Ubuntu.
    VirtualBox ha diverse funzioni interessanti e il suo sviluppo è molto attivo. Se non lo conosci, provalo!

    Luca

  5. Avatar Mirko

    WMware, xen, oppure se hai esperienza su nix c’è una patch del kernel che ti permette di eseguirlo come file binario virtualizzando la tua stessa macchina: il nome è UML da non confondere con il linguaggio.

  6. Avatar Marco Fabbri

    Un sito interessante per l’esplorazione in ambito personale di sistemi operativi (open source) è http://www.oszoo.org dove analogamente all’Appliance Market di VMware sono disponibili svariate immagini virtuali (per Qemu). Alcune immagini possono essere “provate” via applet Java all’interno del proprio Browser http://connessi.webminds.cs.unibo.it:8880/ .

    Per Mac OS X è disponibile una versione più appealing di Qemu, si chiama Q (pronunciato kju) http://www.kju-app.org/kju/ .

    Un appunto: Virtual PC for Mac non supporta Mac Intel (“Note: Virtual PC does not run on Intel-based Macs.”).

  7. Avatar Alan
    Alan

    Nell’ambito della server consolidation, secondo me, non è da dimenticare Microsoft Virtual Server 2005 R2. E’ un prodotto per piattaforme x32 e x64 in ambito Windows Server con cui io mi trovo piuttosto bene.

  8. Avatar maga

    per Mac Intel c’è anche una versione beta di VMware che si chiama Fusion

  9. Avatar thisend

    ottimo post, ho accresciuto la mia conoscenza della materia..

  10. Avatar Barbara

    Un gran bel post Andrea, io sto usando da un pò WMWare Player per provare le varie distibuzioni Linux sul mio PC , nell’ultimo numero di PC Professionale ho visto che allegavano WMWare con preinstallato Ubuntu da provare una grande chance rispetto a qualche anno fa in cui toccava installare tutto magari in una partizione diversa etc

  11. Avatar rxsx
    rxsx

    Io preferisco VMware Workstation, costerà ma ne vale la pena. E’ ottimo per fare prove di software e sistemi.

  12. Avatar abel

    interessante post…ammetto che non sapevo assolutamente nulla di ciò…ora provo a utilizzarne uno…

  13. Avatar Kalman

    L’unico problema è che in azienda adesso si ripropone l’annoso problema del censimento delle macchine e del controllo del software installato.

  14. Avatar Federico

    Buon prodotto open source in ambiente linux (linux per linux):
    http://www.openvz.org/

    VMware bello ma ‘pesantuccio’. Preferibili le virtualizzazioni a livello di OS (senza quindi duplicazioni di OS).

    La virtualizzazione è bella solo che se ti fregano un PC virtualizzato…non si perde un sistema ma ‘enne’ sistemi (parlo per esperienza diretta) 😉

  15. Avatar Ulisse31

    Ma l’impatto sulle prestazione come si quantifica? Nel senso: rispetto ad un S.O. installato nativamente ci sarà per forza un rallentamente generale. Di quanto?
    Ad esempio: in ambito casalingo o SOHO, quand’è che merita parlare di virtualizzazione invece che di -mettiamo- pluripartizionamento (quando proprio non (HD volante”)+ lilo?

  16. Avatar Andrea

    Ulisse, è evidente che qualcosa si paga, ma basta avere un PC abbastanza potente per ovviare. La soluzione che proponi tu non è paragonabile: la virtualizzazione ti permette di avere più macchine accese e funzionanti contemporaneamente, e di passare da una all’altra con un clic.
    Nel post parlo di uso personale o di test, le prestazioni non sono l’obiettivo in questo caso.

  17. Avatar Senza Identità

    dalla lista manca Virtuozzo che è di gran lunga l’ambiente di virtualizzazione piu’ usato dagli hosting service provider.

  18. Avatar maxiwan
    maxiwan

    Suggerisco di dare un’occhiata anche all’ottimo VirtualBox della Innotek. Provare per credere… 😉

  19. Avatar maxiwan
    maxiwan

    …chiedo scusa, Luca Mondini l’aveva già segnalato… comunque confermo la particolare “prestanza” di questa interessante applicazione opensource.

  20. Avatar ubik
    ubik

    Sebbene VMware sia di gran lunga il prodotto più diffuso,e che manterrà la propria posizione dominante ancora per diverso tempo, in questo momento la lotta nell’aera degli “hypervisor” (p.e. VMware ESX Server, Xen) si sta facendo molto dura.
    Un altro prodotto molto interessante è Virtual Iron.
    Saluti

  21. Avatar Luca
    Luca

    Quindi, se ho capito bene, più server virtuali possono girare sullo stesso server reale, ed essere “usati” in maniera trasparente da utenti reali come se fossero dei server distinti. Ovviamenete la banda della o delle schede di rete andrà condivisa tra tutti i server concorrenti.
    Un’ordine di grandezza dei costi di un server VMWare ESX?

  22. Immagini VMware delle maggiori distribuzioni Linux pronte per il download…

    Qualcuno ha pensato di mettere a disposizione delle immagini VMware, con numerose installazioni di distribuzioni Linux pronte per il download.
    Con il termine immagine VMware si fa riferimento al set di files che permettono il corretto funzio…

  23. Avatar Nico73
    Nico73

    Si puo’ usare vmwave per navigare in internet in modo pi’ sicuro , avendo sulla macchina ospitante comunque un antivirus e sul guest niente? Non vi sembra l’uovo di colombo? …

  24. Avatar Nico73
    Nico73

    Si puo’ essere sicuri che eventuali codici maligni durante la navigazione non possano infettare la macchina principale?E poi comunque se scarico della roba infetta questa rimane nel mio HD !?

  25. […] senti parlare a piu’ riprese di blog. Quando dal marketing esibiscono trionfanti la stampa di un post di Andrea Beggi (perche’ vogliamo capire che cosa sia la virtualizzazione e questi blog sono […]

  26. […] Un’introduzione alla virtualizzazione a cura di Andrea Beggi […]