La principale differenza tra gli hypervisor di tipo 1 e quelli di tipo 2 è che il tipo 1 viene eseguito su bare metal e il tipo 2 su un sistema operativo. Ogni tipo di hypervisor ha anche i suoi pro e contro e casi d’uso specifici.
La virtualizzazione funziona astraendo l’hardware fisico e i dispositivi dalle applicazioni in esecuzione su quell’hardware. Il processo di virtualizzazione gestisce e fornisce le risorse del sistema, incluso il processore, la memoria, lo storage e le risorse di rete. Questo permette al sistema di ospitare più di un carico di lavoro simultaneamente, facendo un uso più efficiente in termini di costi ed energia dei server e dei sistemi disponibili nell’organizzazione.
Cosa sono gli hypervisor?
La virtualizzazione richiede l’uso di un hypervisor, che originariamente era chiamato virtual machine monitor o VMM. Un hypervisor astrae i sistemi operativi e le applicazioni dal loro hardware sottostante. L’hardware fisico su cui gira un hypervisor è tipicamente chiamato macchina host, mentre le VM che l’hypervisor crea e supporta sono chiamate collettivamente macchine ospiti.
Un hypervisor permette all’hardware host di gestire più VM indipendenti l’una dall’altra e di condividere risorse astratte tra queste VM. La virtualizzazione con un hypervisor aumenta l’efficienza di un data center rispetto all’hosting fisico del carico di lavoro.
Ci sono due tipi di hypervisor: Ipervisori di tipo 1 e di tipo 2. Entrambe le varietà di hypervisor possono virtualizzare elementi comuni come CPU, memoria e rete, ma in base alla sua posizione nello stack, l’hypervisor virtualizza questi elementi in modo diverso.
Ipervisori di tipo 1
Un hypervisor di tipo 1 viene eseguito direttamente sull’hardware fisico della macchina host e viene definito un hypervisor bare-metal. L’hypervisor di tipo 1 non deve caricare un sistema operativo sottostante. Con l’accesso diretto all’hardware sottostante e nessun altro software – come i sistemi operativi e i driver dei dispositivi – con cui fare i conti per la virtualizzazione, gli hypervisor di tipo 1 sono considerati gli hypervisor più efficienti e con le migliori prestazioni disponibili per il computing aziendale.
Gli hypervisor che girano direttamente sull’hardware fisico sono anche altamente sicuri. La virtualizzazione attenua il rischio di attacchi che mirano alle falle di sicurezza e alle vulnerabilità dei sistemi operativi, perché ogni ospite ha il proprio sistema operativo. Questo assicura che un attacco a una VM ospite sia logicamente isolato a quella VM e non possa diffondersi ad altre che girano sullo stesso hardware.
Le organizzazioni IT usano hypervisor di tipo 1 per carichi di lavoro a livello di produzione che richiedono maggiori tempi di attività, failover avanzato e altre caratteristiche pronte per la produzione. Il tipico hypervisor di tipo 1 può scalare per virtualizzare i carichi di lavoro su diversi terabyte di RAM e centinaia di core della CPU.
Inoltre, gli hypervisor di tipo 1 spesso forniscono il supporto per lo storage e il networking software-defined, che crea ulteriore sicurezza e portabilità per i carichi di lavoro virtualizzati. Tuttavia, tali caratteristiche hanno un costo iniziale molto più alto e maggiori requisiti contrattuali di supporto.
Il tipico hypervisor di tipo 1 richiede un certo livello di gestione esterna — con interfacce come Microsoft System Center Virtual Machine Manager o VMware vCenter — per accedere all’intera portata delle capacità dell’hypervisor.
Ipervisori di tipo 2
Un hypervisor di tipo 2 è tipicamente installato sopra un SO esistente. A volte è chiamato un hypervisor ospitato perché si basa sul sistema operativo preesistente della macchina host per gestire le chiamate alla CPU, alla memoria, allo storage e alle risorse di rete.
Gli hypervisor di tipo 2 risalgono ai primi giorni della virtualizzazione x86 quando l’hypervisor veniva aggiunto sopra i sistemi operativi esistenti. Anche se lo scopo e gli obiettivi degli hypervisor di tipo 1 e di tipo 2 sono identici, la presenza di un sistema operativo sottostante con gli hypervisor di tipo 2 introduce una latenza inevitabile; tutte le attività dell’hypervisor e il lavoro di ogni VM devono passare attraverso il sistema operativo host. Inoltre, qualsiasi falla o vulnerabilità di sicurezza nel sistema operativo host potrebbe potenzialmente compromettere tutte le VM in esecuzione sopra di esso.
Di conseguenza, gli hypervisor di tipo 2 non sono generalmente usati per il data center computing e sono riservati ai sistemi client o per gli utenti finali – talvolta chiamati hypervisor client – dove le prestazioni e la sicurezza sono preoccupazioni minori. Hanno anche un costo inferiore rispetto agli hypervisor di tipo 1 e costituiscono una piattaforma di prova ideale rispetto agli ambienti virtualizzati di produzione o alla nuvola. Per esempio, gli sviluppatori di software potrebbero usare un hypervisor di tipo 2 per creare VM per testare un prodotto software prima del rilascio. Le organizzazioni IT usano tipicamente gli hypervisor di tipo 2 per creare desktop virtuali. Gli hypervisor di tipo 2 possono supportare ambienti annidati grandi e complessi.
Supporto hardware per hypervisor di tipo 1 e di tipo 2
Le tecnologie di accelerazione hardware sono ampiamente disponibili per i compiti della virtualizzazione. Tali tecnologie includono le estensioni della tecnologia Intel Virtualization per i processori Intel e le estensioni AMD Virtualization per i processori AMD. Ci sono numerose altre estensioni e caratteristiche basate sulla virtualizzazione, tra cui la traduzione degli indirizzi di secondo livello e il supporto per la virtualizzazione annidata.
Le tecnologie di accelerazione hardware eseguono molte delle attività ad alta intensità di processo necessarie per creare e gestire le risorse virtuali su un computer. L’accelerazione hardware migliora le prestazioni della virtualizzazione e il numero pratico di macchine virtuali che un computer può ospitare al di sopra di ciò che l’hypervisor può fare da solo.
Gli hypervisor di tipo 1 e di tipo 2 utilizzano il supporto dell’accelerazione hardware, ma in misura diversa. Gli hypervisor di tipo 1 si basano su tecnologie di accelerazione hardware e tipicamente non funzionano senza queste tecnologie disponibili e abilitate attraverso il BIOS del sistema. Gli hypervisor di tipo 2 sono generalmente in grado di usare le tecnologie di accelerazione hardware se queste sono disponibili, ma possono in genere ripiegare sull’emulazione software in assenza di supporto hardware nativo.
Controlla il tuo fornitore di hypervisor per determinare i requisiti di supporto hardware di un hypervisor specifico.
Venditori di hypervisor di tipo 1 e di tipo 2
Il mercato degli hypervisor contiene diversi fornitori, inclusi VMware, Microsoft, Oracle e Citrix. Di seguito ci sono alcuni prodotti popolari sia per gli hypervisor di tipo 1 che di tipo 2.
Gli hypervisor di tipo 1:
- VMware vSphere. VMware vSphere include l’hypervisor ESXi e il software di gestione vCenter per fornire una suite di prodotti di virtualizzazione, come il vSphere Client, i kit di sviluppo software vSphere, Storage vMotion, il Distributed Resource Scheduler e Fault Tolerance. VMware vSphere è orientato verso i data center aziendali; le piccole imprese potrebbero trovare difficile giustificare il prezzo.
- Microsoft Hyper-V. Microsoft Hyper-V gira su sistemi operativi Windows e permette agli amministratori di eseguire più sistemi operativi all’interno di una VM. Gli amministratori e gli sviluppatori spesso usano Hyper-V per costruire ambienti di test per eseguire software su diversi sistemi operativi creando VM per ogni test.
- KVM. L’ipervisore KVM è un’architettura di virtualizzazione open source fatta per le distribuzioni Linux. L’hypervisor KVM permette agli amministratori di convertire un kernel Linux in un hypervisor e ha accesso diretto all’hardware insieme a qualsiasi VM ospitata dall’hypervisor. Le caratteristiche includono la migrazione live, la programmazione e il controllo delle risorse.
- Ipervisore Xen. Il progetto open source Xen è iniziato originariamente come un progetto di ricerca presso l’Università di Cambridge nel 2003. In seguito si è spostato sotto l’egida della Linux Foundation. Xen è usato come versione upstream per altri hypervisor, tra cui Oracle VM e Citrix Hypervisor. Amazon Web Services usa una versione personalizzata dell’ipervisore Xen come base per il suo Elastic Compute Cloud.
- Oracle VM. Oracle VM è un’architettura di virtualizzazione open source che utilizza Xen nel suo nucleo e consente agli amministratori di distribuire sistemi operativi e software applicativi in VM. Le caratteristiche di Oracle VM includono la creazione e la configurazione di pool di server, la creazione e la gestione di repository di storage, la clonazione di VM, la migrazione di VM e il bilanciamento del carico.
- Citrix Hypervisor. Citrix Hypervisor — precedentemente noto come Citrix XenServer — è una piattaforma di virtualizzazione server open source basata sull’hypervisor Xen. Gli amministratori usano Citrix Hypervisor per distribuire, ospitare e gestire le VM e distribuire le risorse hardware a quelle VM. Alcune caratteristiche chiave includono modelli di VM, XenMotion e patch live per l’host. Citrix Hypervisor è disponibile in due versioni: Standard ed Enterprise.
Prodotti hypervisor di tipo 2:
- Oracle VM VirtualBox. Oracle VM VirtualBox è un hypervisor open source ospitato che viene eseguito su un sistema operativo host per supportare le VM guest. VirtualBox supporta una varietà di sistemi operativi host, come Windows, Apple macOS, Linux e Oracle Solaris. VirtualBox offre snapshot ramificati multigenerazionali, Guest Additions, guest multiprocessing, supporto ACPI e Preboot Execution Environment network boot.
- VMware Workstation Pro e VMware Fusion. VMware Workstation Pro è un hypervisor a 64 bit in grado di implementare la virtualizzazione su sistemi Windows e Linux. Alcune delle caratteristiche di Workstation includono la condivisione di file host/guest, la creazione e la distribuzione di VM criptate e gli snapshot delle VM.
VMware ha sviluppato Fusion come alternativa a Workstation. VMware Fusion offre molte delle stesse capacità di Workstation, ma è compatibile con macOS e viene fornito con meno funzioni a un prezzo ridotto.
- QEMU. QEMU è uno strumento di virtualizzazione open source che emula le architetture della CPU e consente a sviluppatori e amministratori di eseguire applicazioni compilate per un’architettura su un’altra. QEMU offre caratteristiche come il supporto per l’hardware non volatile a doppio modulo di memoria in linea, file system condiviso, ospiti sicuri e crittografia della memoria.
- Parallels Desktop. Principalmente orientato verso gli amministratori di macOS, Parallels Desktop permette ai sistemi operativi e alle applicazioni Windows, Linux e Google Chrome di essere eseguiti su Apple Mac. Le caratteristiche comuni includono il condizionamento della rete, il supporto per 128GB per VM e le integrazioni Chef/Ohai, Docker e HashiCorp Vagrant. Parallels Desktop è disponibile in tre modalità: Coherence, Full Screen e Modality mode.
Type 1 vs. Type 2 hypervisor
Quando si sceglie tra un hypervisor Type 1 e Type 2, gli amministratori devono considerare il tipo e le dimensioni dei loro carichi di lavoro. Se gli amministratori lavorano principalmente in un’impresa o in una grande organizzazione e devono distribuire centinaia di VM, un hypervisor di tipo 1 sarà adatto alle loro esigenze.
Ma se gli amministratori hanno una distribuzione più piccola o richiedono un ambiente di test, gli hypervisor di tipo 2 sono meno complessi e hanno un prezzo inferiore. E le imprese e le organizzazioni possono utilizzare gli hypervisor di tipo 2 come necessario per i carichi di lavoro che si adattano alla tecnologia.