Un fenomeno che da un certo tempo ha preso piede e che sta assumendo sempre più importanza nel campo dell’IT è la virtualizzazione: in ambito enterprise e professionale in genere, è oramai una realtà di fatto, grazie soprattutto agli innumerevoli vantaggi che comporta. 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”. Essa crea un’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.
Per virtualizzazione si intende l'astrazione completa di una risorsa normalmente fornita fisicamente (un computer, un server) su di una virtuale adatta allo scopo. Ad esempio su una singola risorsa hardware la virtualizzazione permette l'esecuzione contemporanea di più sistemi operativi, completamente slegati tra loro.
Che significa avere più sistemi operativi? Eravamo abituati ad avere un solo sistema operativo sul computer, perché per mettere 2 sistemi per esempio piattaforma Windows e Linux si doveva partizionare il disco rigido (cioè creare una divisione hardware tra i due sistemi che per antonomasia sono molto diversi).
Attualmente questo problema è risolto. Nel Febbraio 1999, una società “VMware” introdusse il primo prodotto di virtualizzazione "VMware Virtual Platform", basato su ricerche dei propri fondatori all'Università di Stanford.. Kevin Lawton lanciò il progetto Plex86 (denominato originariamente "freemware") per la creazione di un "software libero" di virtualizzazione con il solo supporto a Linux come sistema operativo "ospite", ma prima di questo Lawton pubblicò l'articolo Running multiple operating systems concurrently on an IA32 PC using virtualization techniques, il quale fornisce un'analisi sugli aspetti dell'architettura informatica da virtualizzare.
Anche Microsoft offre dei software di virtualizzazione, Microsoft Virtual PC e Microsoft Virtual Server, basati sulla tecnologia acquisita da Connectix. Recenti ricerche hanno cercato di migliorare le performance alla virtualizzazione attraverso l'utilizzo di un'interfaccia software per le macchine virtuali, che emula l'hardware. I sistemi operativi sono eseguiti su questa interfaccia, la quale non implementa i set di istruzioni difficili da virtualizzare. Questa tecnica è chiamata “paravirtualizzazione”.
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 su un PC completamente diverso, e da quello ripartire senza neppure accorgersi che il sistema operativo è cambiato.
Dove lo possiamo utilizzare
1. In ambito personale.
2. Negli ambienti di test, sviluppo e didattici.
3. Nelle perizie forensi
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. 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 spariranno 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.
Anche per l’utilizzo di reti di computer per test oppure per scopi didattici si
ottengono 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 (è sufficiente 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).
Nelle Perizie Forensi si predispone di un pacchetto di tutte le versioni di
windows dal primo sistema 3.1 all’ultimo Vista. Con la macchina virtuale posso
ristabilire l’ambiente di lavoro per esempio di “Windos 98”senza dover
ricorrere ad un’installazione spesso difficile per il reperimento del software.
Quali sono i vantaggi?
Il vantaggio principale della virtualizzazione, è il liberarsi completamente
dall'hardware da parte delle risorse normalmente utilizzate. Le macchine
virtuali saranno simulate con hardware standard, ciò significa che saranno
totalmente estranee al reale hardware su cui gira il sistema di
virtualizzazione. Generalmente la migrazione di un vecchio server richiede
intere giornate di lavoro per il salvataggio di dati e configurazioni, e per
ripristino della normale attività aziendale, con gli strumenti messi a disposizione
dalla virtualizzazione sarebbero bastate poche ore per migrare completamente la
risorsa, ed in alcun casi anche in maniera del tutto trasparente.
Un altro vantaggio strategico fornito dalla virtualizzazione delle risorse è quello di snellire drasticamente le procedure di backup e disaster recovery; avendo copia giornaliera delle immagini virtualizzate delle risorse, sarà possibile un ripristino rapidissimo in caso di malfunzionamenti dovuti ai più disparati motivi.
Esistono diversi prodotti e versioni per la realizzazione di un'infrastruttura di virtualizzazione. I principali concorrenti sono attualmente:
Ultima frontiera per la virtualizzazione è on line EasyVMX. Questo servizio è stato definito come “il miglior servizio di creazione di macchine virtuali online” da Virtualization.info, ha già creato oltre 190.000 macchine virtuali per i suoi visitatori e ci permette di creare una macchina virtuale seguendo 3 strade:
Riporto di seguito qualche sito per quei lettori che vogliono approfondire
l’argomento:
Alessandro Sigismondi