Hypervisor, cosa sono e come funzionano

Gli hypervisor spesso vengono trascurati a favore del concetto più evidente di virtualizzazione. Ma non è possibile arrivare ad apprezzare il valore della virtualizzazione se non si capisce cosa fa un hypervisor all’interno di un sistema informatico.

Anche se i vantaggi della virtualizzazione e del cloud possono ora sembrare come una cosa scontata all’interno dell’infrastruttura It, non è sempre stato così, ed è proprio la tecnologia hypervisor ad avercontribuito a guidare l’innovazione nel mondo del cloud.

Definizione di hypervisor

Un hypervisor è un processo che separa il sistema operativo e le applicazioni di un computer dall’hardware fisico sottostante. Di solito viene fatto a livello  software, anche se un hypervisor embedded può essere creato per dispositivi mobili. L’hypervisor guida il concetto di virtualizzazione, consentendo alla macchina host fisica di utilizzare più macchine virtuali come ospiti per ottimizzare l’uso efficace delle risorse di calcolo come memoria, larghezza di banda di rete e cicli di Cpu.

Il mainframe Ibm z13

Un po’ di storia

Alla fine degli anni 60 e durante gli anni 70, la maggior parte del lavoro di virtualizzazione e degli hypervisor è stato visto sui computer mainframe sviluppati da Ibm, per l’uso nella costruzione di sistemi di time-sharing, testare nuove idee di sistema operativo o anche esplorare nuovi concetti hardware. L’aspetto della virtualizzazione ha permesso ai programmatori di implementare e fare debug senza compromettere la stabilità del sistema di produzione principale e senza dover implementare ulteriori costosi sistemi di sviluppo.

Passando alla metà degli anni 2000, gli hypervisor sono stati al centro dell’attenzione quando Unix, Linux e altri sistemi operativi simili a Unix hanno iniziato a utilizzare le tecnologie di virtualizzazione. Le ragioni per la crescita degli hypervisor e della virtualizzazione includevano migliori capacità hardware, che ora permetterebbero a una singola macchina di fare un lavoro più simultaneo; sforzi di controllo dei costi che hanno portato al consolidamento dei server; maggiore sicurezza e affidabilità grazie ai miglioramenti dell’architettura dell’hypervisor; e la possibilità di eseguire applicazioni dipendenti dal sistema operativo su diversi ambienti hardware o sistemi operativi. Inoltre, nel 2005, i fornitori di Cpu hanno iniziato ad aggiungere la virtualizzazione hardware ai loro prodotti basati su x86, estendendo la disponibilità (e i vantaggi) della virtualizzazione al pubblico basato su pc e server.

Benefici evidenti

Anche se le macchine virtuali possono funzionare sullo stesso hardware fisico, sono comunque logicamente separate l’una dall’altra. Ciò significa che se una macchina virtuale subisce un errore, un arresto anomalo o un attacco di malware, non si estende alle altre macchine virtuali presenti sulla stessa macchina, o anche ad altre macchine. Le macchine virtuali sono anche molto mobili – perché sono indipendenti dall’hardware sottostante, possono essere spostate o migrate tra server virtualizzati locali o remoti molto più facilmente rispetto alle applicazioni tradizionali legate all’ hardware fisico.

Due tipi

Quelli di tipo uno, a volte chiamati hypervisor “nativi” o “bare metal”, vengono eseguiti direttamente sull’hardware dell’host per controllare l’hardware e gestire le macchine virtuali guest. Includono Xen, Oracle VM Server per SPARC, Oracle VM Server per x86, Microsoft Hyper-V e VMware ESX/ESXi.

Quelli di tipo due, a volte chiamati “hosted”, funzionano su un sistema operativo convenzionale, proprio come le altre applicazioni del sistema. In questo caso, un sistema operativo guest viene eseguito come processo sull’host, mentre gli hypervisor separano il sistema operativo guest dal sistema operativo host. Esempi di tipo 2 includono VMware Workstation, VMware Player, VirtualBox e Parallels Desktop per Mac. Nell’ambito dello spazio del data center aziendale, il consolidamento si è tradotto in tre importanti fornitori: VMware, Microsoft e Citrix Systems.

Il rapporto con i container

Negli ultimi anni, la tecnologia dei container è cresciuta in popolarità come possibile sostituto degli hypervisor, in quanto possono inserire più applicazioni in un singolo server fisico rispetto a quelle di una macchina virtuale. Le macchine virtuali occupano molte risorse di sistema. Ogni macchina virtuale non esegue solo una copia completa di un sistema operativo, ma anche una copia virtuale di tutto l’hardware necessario al sistema operativo. Questo aggiunge rapidamente un sacco di cicli Ram e Cpu. Al contrario, tutto ciò che un container richiede è sufficiente per un sistema operativo, supportando programmi e librerie e risorse di sistema per eseguire un programma specifico.

Le preoccupazioni di sicurezza e gli usi pratici delle macchine virtuali, tuttavia, significano che i container non sostituiranno necessariamente gli hypervisor/Vm, ma piuttosto le aziende utilizzeranno una combinazione di entrambi. Per quanto riguarda il problema della sicurezza, alcuni ritengono che i container siano meno sicuri, per avere un solo sistema operativo condiviso dalle applicazioni, mentre le Vm isolano non solo l’applicazione, ma anche il sistema operativo. Se un’applicazione viene compromessa, potrebbe attaccare il singolo sistema operativo in un contenitore, influenzando altre applicazioni. Se un’applicazione in una Vm viene compromessa, solo un sistema operativo su quel server ne risentirebbe, non altre applicazioni o sistemi operativi sulla Vm.

La sicurezza

Mentre gli hypervisor possono essere considerati più sicuri dei container, ciò non significa che non ci siano problemi di sicurezza associati agli hypervisor. Ad esempio, in teoria gli hacker possono creare malware e rootkit che si installano come hypervisor sotto il sistema operativo. Conosciuto come iperjacking, questo processo può essere più difficile da rilevare, in quanto il malware potrebbe intercettare le operazioni del sistema operativo (ad esempio, l’ inserimento di una password) senza che il software anti-malware lo rilevi necessariamente, perché il malware viene eseguito al di sotto del sistema operativo. Si continua a discutere se sia possibile rilevare la presenza di un rootkit basato su hypervisor. Alcuni hanno implementato il concetto – il malware SubVirt e Blue Pill – mentre altri hanno dimostrato un hypervisor-layer anti-rootkit chiamato Hooksafe, che fornisce una protezione generica contro i rootkit in modalità kernel.

Espansione

Il concetto non è stato solo limitato al funzionamento del server. Gli hypervisor di memorizzazione, ad esempio, adottano lo stesso concetto e lo applicano alla memorizzazione dei dati. Un hypervisor di storage può essere eseguito su hardware fisico, come Virtual machibe, all’interno di un sistema operativo hypervisor o di una rete di storage più grande. Un hypervisor di storage può essere eseguito su hardware specifico o essere indipendente dall’hardware. Oltre allo storage, ono fondamentali per altre attività di virtualizzazione, tra cui la virtualizzazione desktop, la virtualizzazione del sistema operativo e la virtualizzazione delle applicazioni.

Che cos’ è un hypervisor embedded

Gli hypervisor integrati supportano i requisiti dei sistemi embedded. Sono diversi da quelli che si rivolgono alle applicazioni server e desktop. L’hypervisor embedded è stato progettato fin dall’inizio nel dispositivo, invece di essere caricato successivamente. Mentre gli ambienti desktop e enterprise utilizzano hypervisor per consolidare l’hardware e isolare gli ambienti di elaborazione gli uni dagli altri, in un sistema embedded, i vari componenti di solito funzionano collettivamente per fornire funzionalità del dispositivo. La virtualizzazione mobile si sovrappone alla virtualizzazione del sistema embedded e condivide alcuni casi di utilizzo.

LASCIA UN COMMENTO

Please enter your comment!
Please enter your name here