La virtualizzazione consente di creare sul proprio computer una o più macchine virtuali, in cui è solitamente possibile installare, modificare, cancellare un sistema operativo differente o indipendente.

Uno dei vantaggi della virtualizzazione è quello di isolare ciò che è all’interno di una macchina virtuale, consentendo così di ricreare l’ambiente necessario ai programmi in esecuzione nella stessa, senza modificare il sistema esterno.

Avendo la possibilità di creare più macchine virtuali, diventa così possibile ricreare sulla stessa macchina fisica ambienti “incompatibili”. Grazie all’isolamento, questi ultimi funzioneranno senza disturbarsi.

La possibilità di far girare sistemi diversi sullo stesso hardware consente un maggiore utilizzo dei sistemi fisici, e quindi una riduzione dei costi, e una maggiore densità all’interno dei data-center.

Per gli sviluppatori, la virtualizzazione è utile per creare ambienti di sviluppo e di test, simili agli ambienti di produzione; questi ambienti possono essere modificati a seconda delle esigenze, e possono poi venire rimossi con semplicità quando non sono più necessari.

Sistemi di virtualizzazione

Nel caso di virtualizzazione in un data-center, solitamente sui server viene installato solamente uno strato software minimo, chiamato hypervisor, che contiene solo i driver necessari per far funzionare l’hardware e le funzioni necessarie alla gestione delle macchine virtuali.

Invece per i computer personali (desktop o portatili) solitamente si preferisce affiancare al sistema operativo esistente un programma di virtualizzazione, che, tramite dei driver appositi, consente all’utente di configurare, lanciare e fermare le macchine virtuali. Queste ultime girano come i programmi gestiti dal sistema operativo, senza interferire con il sistema esistente.

I sistemi di virtualizzazione più diffusi sono:

  • Xen
  • KVM/QEmu
  • VMware (vari prodotti: Workstation, Player, ESXi & vSphere, etc)
  • Microsoft Hyper-V
  • VirtualBox

In laboratorio abbiamo a disposizione VirtualBox.