Hypervisor: l’intermediario della virtualizzazione
La virtualizzazione crea possibilità tecnologiche completamente nuove. Invece di costruire un sistema completo (compreso l’hardware e il sistema operativo basato su di esso), si crea semplicemente una sua versione virtuale, come dire l’illusione di un ambiente PC. Questa tecnologia viene utilizzata, ad esempio, nello sviluppo software per creare un ambiente di test sicuro. Perché funzioni, una macchina virtuale deve basarsi su un sistema fisico reale. Tra i due livelli è necessaria un’istanza in grado di connetterli senza essere troppo influenzata dai livelli fisici o virtuali. Pertanto, un livello astratto funge da mediatore: il cosiddetto hypervisor.
Che cos’è un hipervisor?
Quando si crea una macchina virtuale (VM), essa funziona sulla base di una macchina reale non virtuale, ad esempio, un PC. La VM dipende quindi dall’hardware fisico. Tra i due livelli c’è un livello ulteriore, responsabile della gestione: l’hypervisor. L’hypervisor è un software adibito alla gestione delle risorse necessarie. Conosciuto anche come Virtual Machine Monitor (VMM), assegna memoria, spazio su disco fisso, componenti di rete o potenza di elaborazione all’interno del sistema. In questo modo, diverse macchine virtuali possono funzionare su un unico sistema host, poiché l’hypervisor assicura che esse non interferiscano tra loro e che tutte abbiano a disposizione le capacità necessarie.
Il sistema ospitante (cioè la virtualizzazione) in linea di principio non rileva i passaggi organizzativi della VMM. L’hypervisor astrae l’hardware in modo tale che la VM si basi su un ambiente hardware stabilito. Poiché anche nelle macchine virtuali le esigenze cambiano costantemente a seconda dei programmi in esecuzione, un grande vantaggio dell’hypervisor è che può fornire le risorse in base alla richiesta. Inoltre, la macchina virtuale non ha modo di rilevare l’esistenza delle altre macchine che funzionano sullo stesso hardware fisico.
La netta separazione tra le diverse macchine virtuali non solo garantisce una buona distribuzione delle risorse, ma aumenta anche la sicurezza. L’hypervisor assicura che un sistema ospitante non possa accedere ai file dell’altro sistema ospitante. Ciò è particolarmente importante ai fini dei test, dove un programma difettoso non rischia di danneggiare anche altri ambienti di test.
Poiché l’hypervisor è solo un livello astratto e fornisce alla macchina virtuale un ambiente hardware, il sistema ospitante non è legato a un hypervisor speicifico, né a un particolare sistema host. La virtualizzazione tramite hypervisor diventa dunque molto interessante per i servizi cloud: i fornitori di server possono semplicemente spostare l’ambiente di test virtualizzato su un’altra macchina fisica senza causare problemi ai programmi in esecuzione nella VM.
Il Virtual Machine Monitor fornisce agli utenti anche opzioni di gestione, affinché si possano organizzare e configurare i singoli sistemi ospitanti. Nella maggior parte dei casi, le VM possono essere create, configurate, eseguite e persino cancellate utilizzando un’interfaccia utente grafica.
Diversi tipi di Virtual Machine Monitor
Esistono due diversi tipi di Virtual Machine Monitor, ognuno con i suoi specifici vantaggi. Il primo è quello più datato; i primi tentativi di virtualizzazione tramite questa tecnologia risalgono infatti agli anni '60.
Hypervisor di tipo 1
Il primo tipo di hypervisor è chiamato Bare Metal Hypervisor o Native Hypervisor. Questa forma di VMM è impostata direttamente sull’hardware fisico e non è collegata al sistema operativo ospitante. Pertanto, tale hypervisor deve includere anche ogni driver del dispositivo stesso. Il consumo di risorse di un hypervisor di tipo 1 è relativamente basso perché la potenza di calcolo non deve necessariamente passare attraverso il sistema operativo host. Questo tipo di hypervisor è indicato principalmente per gli utenti che vogliono utilizzarlo per creare un server per la virtualizzazione, mentre è troppo complesso per progetti più piccoli in ambito domestico.
Hypervisor di tipo 2
La seconda variante (nota anche come Hosted Hypervisor) richiede un sistema operativo esistente, che a sua volta si basa sull’hardware fisico. L’hypervisor di tipo 2 viene quindi installato come qualsiasi altro programma. La VMM gestisce poi la virtualizzazione. I driver dei dispositivi non devono essere installati nell’hypervisor, poiché il sistema operativo reale può semplicemente trasmetterli al software. Tuttavia, questo vantaggio va a discapito delle prestazioni. Una gran parte delle risorse viene già persa nel sistema operativo host. Grazie alla loro semplice installazione e configurazione, gli hypervisor di tipo 2 si adattano perfettamente per progetti di piccole dimensioni.