La virtualizzazione, soprattutto in questi ultimi anni, è stata una tecnica fondamentale per la nascita dei servizi di cloud computing. La creazione di ambienti virtualizzati, o macchine virtuali ha permesso di erogare servizi offerti on demand da un fornitore ad un cliente finale attraverso la rete Internet, a partire da un insieme di risorse preesistenti, configurabili e disponibili in remoto sotto forma di architettura distribuita.
La virtualizzazione è un concetto applicabile a diversi ambiti tecnologici. Le cosiddette macchine virtuali sono il risultato della virtualizzazione dell’hardware che permette di fornire componenti hardware attraverso software indipendentemente dalla loro base fisica, ovvero un computer virtuale che si comporta come un computer vero e proprio.
Se invece dei componenti hardware vengono virtualizzati dei software, si parla di virtualizzazione dei software. Esempi di virtualizzazione software possono essere:
- Virtualizzazione delle applicazioni
- Virtualizzazione del desktop
- Virtualizzazione del sistema operativo
A volte per necessità professionali ci troviamo a dover testare un sistema operativo diverso da quello installato sul nostro computer, in quel caso la virtualizzazione di un sistema operativo risolve il problema di dover partizionare l’hard disk e installarci il secondo sistema.
Software per macchine virtuali
I software di virtualizzazione consentono di creare delle macchine virtuali (Virtual Machine) con ambienti virtualizzati, che si comportano come sistemi separati, completi di dispositivi hardware virtuali. La macchina virtuale viene eseguita come processo in una finestra sul sistema operativo corrente. È possibile avviare un disco di installazione del sistema operativo (o CD live) all’interno della macchina virtuale e il sistema operativo verrà “indotto” a pensare che sia in esecuzione su un computer reale. Si installerà e funzionerà esattamente come su una macchina reale, fisica. Ogni volta che si desidera utilizzare il sistema operativo, è possibile aprire il programma della macchina virtuale e utilizzarlo in una finestra sul desktop corrente.
In una Virtual Machine il sistema operativo effettivamente in esecuzione sul computer è chiamato host e tutti i sistemi operativi virtualizzati in esecuzione sono chiamati guest.
Il sistema operativo guest è memorizzato su un disco rigido virtuale, archiviato sul disco rigido reale. Naturalmente la virtualizzazione aggiunge un certo sovraccarico, quindi non aspettarti che siano veloci come se avessi installato il sistema operativo su hardware reale. I giochi esigenti o altre app che richiedono una notevole potenza grafica e CPU non funzionano molto bene, quindi le macchine virtuali non sono il modo ideale per giocare.
Il limite al numero di Virtual Machine che puoi avere è limitato dalla quantità di spazio sul disco rigido.
Puoi anche eseguire più macchine virtuali contemporaneamente, ma ti ritroverai in qualche modo limitato dalle risorse del tuo sistema. Ogni VM “consuma” un po’di CPU, RAM e altre risorse.
Perché creare una macchina virtuale
Come abbiamo visto le macchine virtuali consentono di testare o comunque utilizzare un altro sistema operativo senza doverlo installare sul tuo hardware fisico. Ad esempio, sono un ottimo sistema per prendere confidenza con Linux, o per provare una nuova distribuzione Linux. Quando hai finito di provare puoi semplicemente eliminare la Virtual Machine.
Le macchine virtuali forniscono anche la possibilità di eseguire un software di un altro sistema operativo. Ad esempio, come utente Linux o Mac, è possibile installare Windows in una macchina virtuale per eseguire app di Windows alle quali altrimenti non si potrebbe avere accesso. Se desideri eseguire una versione successiva di Windows, come Windows 10, ma hai app precedenti che funzionano solo su XP, puoi installare Windows XP in una macchina virtuale.
Un altro vantaggio offerto dalle VM è che sono “sandbox” dal resto del sistema. Il software all’interno di una Virtual Machine non può uscire da quell’ambiente per eventualmente danneggiare il resto del sistema. Ciò rende le Macchine Virtuali un luogo sicuro in cui testare app o siti Web di cui non ti fidi o vedere cosa fanno.
Il sandboxing consente inoltre di eseguire sistemi operativi non sicuri in modo sicuro. Se hai ancora bisogno di Windows XP per app meno recenti, puoi eseguirlo in una VM in cui è limitato almeno il danno derivante dall’esecuzione di un vecchio sistema operativo non supportato.
Migliori programmi per virtualizzare sistemi operativi
Esistono diversi programmi per creare macchine virtuali, vediamo quelli più popolari:
- VirtualBox è molto popolare perché è open source e completamente gratuito, funziona molto bene, in particolare su Windows e Linux, è un buon punto di partenza per provare una macchina virtuale.
- VMware Player ha una propria linea di programmi per macchine virtuali. È possibile utilizzare VMware Player su Windows o Linux come una macchina virtuale di base gratuita. Le funzionalità più avanzate, molte delle quali sono disponibili gratuitamente in VirtualBox, richiedono l’aggiornamento al programma VMware Workstation a pagamento.
- VMware Fusion: per utilizzare un prodotto VMware gli utenti Mac devono acquistare VMware Fusion, poiché il VMware Player gratuito non è disponibile su un Mac.
- Parallels Desktop: sviluppato esclusivamente per gli utenti Mac per eseguire windows.
Ovviamente ci sono molti altri software per Virtual Machine. Linux include KVM, una soluzione di virtualizzazione integrata. Le versioni Professional ed Enterprise di Windows 8 e 10, ma non Windows 7, includono Microsoft Hyper-V, un’altra soluzione di virtual machine integrata. Queste soluzioni possono funzionare bene, ma non hanno interfacce molto intuitive.
Come installare una macchina virtuale con VirtualBox
Dopo aver deciso quale software di virtualizzazione utilizzare è sufficiente installarlo. La fase successiva riguarda la configurazione che in realtà è abbastanza semplice.
Vediamo come installare VirtualBox, ma considera che la maggior parte dei software di virtualizzazione, tra cui Vmware, gestiscono allo stesso modo la creazione di una Virtual Machine.
Una volta installato apri VirtualBox e fai clic sul pulsante per creare una nuova macchina virtuale.
Sarai guidato attraverso il processo da una procedura guidata che ti chiederà prima quale sistema operativo vuoi installare al suo interno. Se si digita il nome del sistema operativo nella casella “Nome”, il software selezionerà molto probabilmente il tipo e la versione per il sistema operativo. In caso contrario selezionalo dal menu a discesa. Al termine, fai clic su “Avanti”. Procediamo con l’installazione di Ubuntu su Windows.
In base al sistema operativo che prevedi di installare, la procedura guidata preselezionerà alcune impostazioni predefinite per te, ma puoi modificarle sulle schermate che seguono. Ti verrà chiesto quanta memoria assegnare alla Virtual Machine. Se vuoi qualcosa di diverso da quello predefinito, aumenta o diminuisci la memoria da assegnare. Altrimenti, fai clic su “Avanti”. E non preoccuparti, potrai modificare questo valore in seguito, se necessario.
La procedura guidata di Virtualbox creerà anche il file del disco rigido virtuale che verrà utilizzato dalla Macchina Virtuale. A meno che tu non abbia già un file del disco rigido virtuale che desideri utilizzare, seleziona l’opzione per crearne uno nuovo.
Ti verrà anche chiesto se creare un disco di dimensioni fisse o allocate dinamicamente. Con un disco allocato dinamicamente, imposterai una dimensione massima del disco, ma il file crescerà solo a quella dimensione secondo necessità. Con un disco di dimensioni fisse occuperà sempre tale dimensione ma offre prestazioni migliori, rendendo la tua Virtual Machine un po’ più reattiva. Inoltre, saprai quanto spazio su disco hai utilizzato e non ti sorprenderai quando i tuoi file Virtual Machine iniziano a crescere.
Dopo aver fatto clic su “Crea”, viene creato il disco rigido virtuale.
Successivamente, verrai reindirizzato nella finestra principale di Virtualbox, dove dovrebbe apparire la tua nuova Virtual Machine avviabile tramite premendo “Avvia”.