Jump to section

Cos'è un hypervisor?

Copia URL

Un hypervisor è un software che crea ed esegue macchine virtuali (VM). Talvolta chiamato anche virtual machine monitor (VMM), l'hypervisor isola il sistema operativo e le risorse dell'hypervisor dalle macchine virtuali, consentendo la creazione e la gestione di queste ultime.

L'hardware fisico, quando usato come hypervisor, è definito host, mentre le VM che ne utilizzano le risorse sono note come guest.

L'hypervisor tratta le risorse (tra cui CPU, memoria e storage) come un pool di risorse facilmente riallocabili tra i guest esistenti o su nuove macchine virtuali.

Per eseguire le macchine virtuali, tutti gli hypervisor necessitano di componenti a livello di sistema operativo, ovvero gestori di memoria, utilità di pianificazione dei processi, stack di input/output (I/O), driver di periferiche, gestori della sicurezza, stack di rete e molto altro ancora.

L'hypervisor fornisce a ogni macchina virtuale le risorse allocate e gestisce la pianificazione delle risorse delle VM rispetto alle risorse fisiche. L'hardware fisico si occupa dell'esecuzione e ad esempio, mentre l'hypervisor gestisce la pianificazione, la CPU esegue le istruzioni CPU in base alle richieste delle VM.

Grazie a un hypervisor, è possibile eseguire diversi sistemi operativi contemporaneamente e fare in modo che condividano le stesse risorse hardware virtualizzate. Questo è il vantaggio chiave della virtualizzazione: senza di essa, sarebbe possibile eseguire solo un sistema operativo sull'hardware. 

Dai vendor tradizionali alle soluzioni open source, la gamma di hypervisor è molto ampia. VMware è una delle soluzioni di virtualizzazione più diffuse e offre l'hypervisor ESXi e la piattaforma di virtualizzazione vSphere.

Kernel-based Virtual Machine (KVM) è la soluzione open source che fa parte del kernel Linux®. Opzioni aggiuntive includono Xen, che è open source, e Microsoft Hyper-V. 

Per la virtualizzazione sono disponibili due tipologie di hypervisor: tipo 1 e tipo 2.

Tipo 1

Un hypervisor di tipo 1, definito anche hypervisor nativo o bare metal, viene eseguito direttamente sull'hardware host per gestire i sistemi operativi guest. Sostituisce il sistema operativo host e la pianificazione delle risorse della VM avviene direttamente sull'hardware tramite l'hypervisor. 

Questo tipo di hypervisor è il più comune in un data center di livello enterprise o in altri ambienti basati su server.

KVM, Microsoft Hyper-V e VMware vSphere sono esempi di hypervisor di tipo 1. KVM è stato integrato nel kernel Linux nel 2007, quindi se utilizzi una versione recente di Linux, hai già accesso a KVM. 

Tipo 2

Un hypervisor di tipo 2 viene chiamato anche hypervisor ospitato e viene eseguito su un sistema operativo convenzionale come un software o un'applicazione.

La sua funzione consiste nell'astrarre i sistemi operativi guest dal sistema operativo host. La pianificazione delle risorse della VM avviene in base al sistema operativo host, che a sua volta viene eseguito in base all'hardware. 

Un hypervisor di tipo 2 è ideale per gli utenti singoli che desiderino eseguire più sistemi operativi su un personal computer. 

VMware Workstation e Oracle VirtualBox sono esempi di hypervisor di tipo 2. 

A livello generale i container e le VM sembrano simili. Sono entrambi pacchetti di ambienti di elaborazione che combinano vari componenti IT e li isolano dal resto del sistema. La distinzione fondamentale è da ricercare nella scalabilità e nella portabilità. 

Un container è un insieme di uno o più processi isolati dal resto del sistema. I container inoltre consentono al processo di accedere solo alle richieste di risorse che sono state specificate. Questi limiti di risorse garantiscono l'esecuzione del container su un nodo con sufficiente capacità.

Contenendo il loro sistema operativo, le VM sono in grado di eseguire contemporaneamente più funzioni a elevato utilizzo di risorse. Il numero di risorse sempre maggiore a disposizione delle VM consente loro di estrarre, suddividere, duplicare ed emulare interi server, sistemi operativi, desktop, database e reti

Un hypervisor offre inoltre il vantaggio di eseguire più sistemi operativi su VM, mentre i container possono eseguire solo un tipo di sistema operativo. Un container eseguito su un server Linux, ad esempio, sarebbe in grado di eseguire solo un sistema operativo Linux. 

Si pensa erroneamente che i container possano sostituire gli hypervisor, senza tenere in considerazione che i container e la virtualizzazione rispondono a necessità diverse.

Una VM fornisce un ambiente isolato dal resto del sistema; qualsiasi elemento eseguito all'interno di una VM non interferisce con quanto viene eseguito nell'hardware host.

Proprio per il suo isolamento, in caso una VM venisse compromessa, l'intero sistema operativo non verrebbe intaccato. 

Tuttavia, qualora lo stesso hypervisor fosse oggetto di un attacco, tutta la VM che l'hypervisor gestisce potrebbe risentirne, rendendo vulnerabili i dati di ogni VM. 

I protocolli e i requisiti di sicurezza possono variare in base al tipo di hypervisor.

Un hypervisor è la base su cui si fonda la tua piattaforma di virtualizzazione. Da molto tempo Red Hat sostiene lo sviluppo della virtualizzazione, contribuendo, ad esempio, all'ottimizzazione dell'hypervisor Kernel-based Virtual Machine (KVM) e ai progetti KVM e oVirt fin dalla fondazione di entrambe le community.

Red Hat® Virtualization è una piattaforma open source software defined che consente di virtualizzare i carichi di lavoro di Linux e Microsoft Windows. 

Basata su Red Hat Enterprise Linux e KVM, include strumenti di gestione in grado di virtualizzare risorse, processi e applicazioni per creare solide fondamenta su cui far poggiare un futuro cloud native e containerizzato.

Quella offerta da Red Hat è una tecnologia di virtualizzazione rapida e conveniente, che aiuta a superare le sfide odierne gettando le basi per l'adozione delle tecnologie del futuro.

Keep reading

ARTICOLO

Container e VM

I container Linux e le macchine virtuali (VM) sono entrambi pacchetti di ambienti di elaborazione che combinano vari componenti IT e li isolano dal resto del sistema.

ARTICOLO

Cos'è una macchina virtuale (VM)?

Una macchina virtuale (VM) è un ambiente di elaborazione isolato creato astraendo le risorse da una macchina fisica.

ARTICOLO

La tecnologia KVM

KVM (Kernel-based Virtual Machine) è una tecnologia di virtualizzazione open source che trasforma Linux in un hypervisor.

Scopri di più sulla virtualizzazione

Prodotti

Una base solida per il cloud ibrido sulla quale costruire e ridimensionare applicazioni containerizzate.

Una piattaforma che consente di virtualizzare l'hardware e organizzare le risorse nei cloud.

Risorse

Panoramica

Red Hat Services Program: NFV Adoption

Formazione

Corso di formazione gratuito

Virtualization and Infrastructure Migration Technical Overview