Hypervisor di tipo 1 e 2: le differenze
Nel campo della virtualizzazione, gli hypervisor di tipo 1 e 2 sono tra gli elementi fondamentali per l’utilizzo di macchine virtuali. Entrambi gli approcci hanno punti di forza, punti deboli e applicazioni tipiche.
Che cos’è un hypervisor?
Un hypervisor è un software in grado di eseguire più macchine virtuali (VM) sullo stesso hardware fisico. È detto anche virtual machine monitor (VMM). L’hypervisor gestisce le risorse, come CPU, memoria e reti, e le assegna alle VM. In questo modo gli utenti possono utilizzare diversi sistemi operativi come Windows o distribuzioni Linux in parallelo sulle VM.
Esistono due tipi di hypervisor:
- Hypervisor di tipo 1
- Hypervisor di tipo 2
Gli hypervisor di tipo 1 e 2 hanno alcune caratteristiche in comune. Entrambi possono creare più VM su uno stesso hardware. Isolano le VM le une dalle altre aumentando quindi la sicurezza e impedendo che i problemi di una macchina virtuale incidano sulle altre. Entrambi i tipi di hypervisor offrono funzioni di amministrazione, tra cui avvio, arresto e monitoraggio delle VM, oltre all’assegnazione e all’adattamento delle risorse in base alle necessità. Di norma è possibile gestire queste funzioni tramite un’interfaccia utente o un’API.
In che cosa si differenziano gli hypervisor di tipo 1 e 2?
È possibile riconoscere un hypervisor di tipo 1 perché non richiede un sistema operativo sottostante, a differenza di un hypervisor di tipo 2. Nelle parti seguenti analizziamo più in dettaglio le singole caratteristiche di entrambi i tipi di virtualizzazione.
Hypervisor di tipo 1
Un hypervisor di tipo 1, detto anche hypervisor bare metal, gira direttamente sull’hardware fisico. In questo caso, l’hypervisor è il primo livello software che viene caricato sul PC o sul server. In questo modo funge da intermediario tra l’hardware e le macchine virtuali (VM). Questa architettura porta a una soluzione particolarmente potente ed efficiente per la virtualizzazione.
Grazie all’accesso diretto alle risorse fisiche, gli hypervisor di tipo 1 presentano una bassa latenza e un breve tempo di reazione. Essi permettono di distribuire i core delle CPU, la RAM e le interfacce di rete in modo molto efficiente e preciso, ottimizzando le prestazioni delle macchine virtuali. Inoltre, garantiscono un forte isolamento fra le VM. Questa possibilità aumenta la sicurezza e la stabilità dell’intero ambiente virtuale.
Gli hypervisor di tipo 1 offrono spesso funzioni come la migrazione in tempo reale, che permette di spostare le VM da una macchina fisica a un’altra durante il funzionamento. Molti fornitori supportano anche funzionalità per l’alta disponibilità e il disaster recovery. Inoltre, gli hypervisor di tipo 1 dispongono spesso di interfacce per l’automazione e il controllo, come API o speciali strumenti di gestione.
Hypervisor di tipo 2
Un hypervisor di tipo 2, o hosted hypervisor, è una tecnologia di virtualizzazione eseguita come applicazione su un sistema operativo già esistente (SO host). L’hypervisor di tipo 2 funge da livello di collegamento fra il sistema operativo host e le VM, che girano come processi o thread sul sistema operativo host. Pertanto, sfrutta i driver e i servizi già disponibili sull’host. In questo modo la configurazione è spesso priva di complicazioni. Le VM possono mettere a disposizione diversi sistemi operativi guest come Windows, Linux o altri sistemi specializzati.
Poiché l’hosted hypervisor accede alle risorse hardware attraverso il sistema operativo host, condivide le risorse fisiche con il sistema host stesso. Questa caratteristica può portare a prestazioni inferiori, in particolare se il sistema operativo host è sottoposto a carichi elevati o se molti processi sono in esecuzione contemporaneamente. Un vantaggio rispetto all’hypervisor di tipo 1, tuttavia, è la compatibilità con l’infrastruttura hardware e software esistente, che facilita l’introduzione e l’integrazione in ambienti IT già presenti.
Come standard, gli hypervisor di tipo 2 offrono un’interfaccia grafica utente o una dashboard per la configurazione e la gestione delle macchine virtuali. Con gli hypervisor di tipo 1 non è sempre così. Tramite la dashboard gli utenti possono creare, configurare e avviare comodamente le VM, nonché adeguare dinamicamente le risorse come CPU, RAM e spazio di archiviazione.
Esempi di hypervisor di tipo 1
- KVM: KVM (Kernel-based Virtual Machine) è un hypervisor bare metal integrato nel kernel di Linux. Offre quindi elevate prestazioni e flessibilità in ambienti Linux. KVM è un componente utilizzato spesso in molte moderne infrastrutture di virtualizzazione e cloud.
- Nutanix AHV: Nutanix AHV (Acropolis Hypervisor) è un hypervisor di tipo 1 che opera come elemento centrale dell’infrastruttura iperconvergente Nutanix. AHV si distingue per le sue ottime prestazioni e per la facile amministrazione centrale per mezzo del software Nutanix.
- Citrix Hypervisor: questo hypervisor bare metal era noto in precedenza come XenServer. È un componente dell’infrastruttura di virtualizzazione Citrix. Dispone di funzioni di sicurezza integrate per garantire l’isolamento dei sistemi operativi guest e impedire gli attacchi.
Esempi di hypervisor di tipo 2
- VirtualBox: VirtualBox di Oracle è un hosted hypervisor installato come applicazione su un sistema operativo già disponibile, come Windows, macOS o Linux. È noto per la sua grande facilità d’uso e flessibilità.
- Parallels Desktop: Parallels supporta sistemi operativi guest come Windows, Linux o addirittura altre versioni di macOS. Permette di posizionare le applicazioni delle macchine virtuali direttamente nel Dock. Inoltre, consente lo scambio di file e dati tramite drag and drop fra macOS e le macchine virtuali.
- QEMU: è una piattaforma di virtualizzazione open source in grado di emulare l’architettura delle CPU, il che permette di creare ed eseguire macchine virtuali con diverse architetture. Ad esempio, è in grado di emulare architetture x86 su hardware ARM e viceversa.
Quando è meglio utilizzare un hypervisor di tipo 1 o di tipo 2?
Nella scelta fra un hypervisor di tipo 1 o di tipo 2 devi tenere conto dei requisiti specifici del tuo ambiente di virtualizzazione. Entrambi i tipi di hypervisor offrono vantaggi specifici e sono adatti per casi applicativi diversi.
Casi applicativi per hypervisor di tipo 1
- Ambienti aziendali di grandi dimensioni: gli hypervisor di tipo 1 sono particolarmente indicati per le imprese che desiderano gestire un gran numero di macchine virtuali sui server. Il controllo diretto sull’hardware favorisce un migliore sfruttamento delle risorse e maggiori prestazioni.
- Data center e infrastrutture cloud: nei data center in cui girano numerose macchine virtuali, gli hypervisor di tipo 1 sono l’opzione da preferire, in quanto offrono elevate prestazioni e stabilità. Funzionalità come la migrazione in tempo reale e l’alta disponibilità sono particolarmente determinanti in questo caso.
- Elevati requisiti di sicurezza: gli hypervisor di tipo 1 hanno meno componenti software rispetto agli hypervisor di tipo 2. Questa caratteristica riduce l’esposizione ai potenziali attacchi. Inoltre, gli hypervisor di tipo 1 garantiscono un migliore isolamento fra le macchine virtuali (VM) grazie alla loro architettura.
- Carichi di lavoro ad alta intensità di potenza: i programmi che richiedono elevata potenza, come database, applicazioni per l’apprendimento automatico o big data, traggono vantaggio dal controllo diretto sull’hardware offerto dagli hypervisor di tipo 1.
Casi applicativi per hypervisor di tipo 2
- Ambienti di sviluppo e test: gli hypervisor di tipo 2 sono l’ideale per gli sviluppatori che desiderano testare diversi sistemi operativi e differenti applicazioni sullo stesso hardware. Costituiscono una possibilità rapida e semplice per creare e gestire le VM.
- Ambienti di formazione: gli hosted hypervisor sono indicati per gli ambienti di studio e formazione in cui gli utenti possono esplorare e provare sistemi operativi e applicazioni differenti senza dover temere ripercussioni sull’hardware o sul sistema operativo host.
- Uso personale o domestico: gli hypervisor di tipo 2 sono una pratica soluzione per l’uso personale o per piccoli progetti. Gli utenti possono far girare sistemi operativi e applicazioni in modo facile e veloce sul proprio computer senza aggiungere hardware o eseguire configurazioni complesse.
- Virtualizzazione a costi contenuti: gli hypervisor di tipo 2 rappresentano un’opzione conveniente per sfruttare la virtualizzazione. Infatti, non richiedono l’uso di hardware speciale e sono spesso gratuiti o disponibili a prezzi ridotti.