Guida completa a KVM vs Hyper-V

Comprendere le differenze tra KVM e Hyper-V è fondamentale quando si crea un ambiente virtualizzato per ottimizzare l’utilizzo delle risorse hardware di un’organizzazione. In questo articolo del blog spieghiamo brevemente cosa sono KVM e Hyper-V, quindi confrontiamo i due hypervisor.

I punti chiave di questa valutazione comparativa sono i seguenti:

  • Scalabilità e prestazioni
  • Strumenti di gestione
  • Opzioni di provisioning della memoria
  • Funzioni di sicurezza
  • Funzioni di migrazione live

NAKIVO for Hyper-V Backup

NAKIVO for Hyper-V Backup

Agentless, application-aware backups for Hyper-V. Anti-ransomware protection, instant VM boot from backup, other virtual/physical platform support and more.

Che cos’è l’hypervisor KVM?

L’acronimo KVM sta per Kernel-based Virtual Machine (VM basata su kernel). Si tratta di una soluzione di virtualizzazione completa open source nel kernel Linux. KVM funziona su processori x86, fornendo agli utenti funzionalità di hypervisor per creare ambienti virtualizzati.

L’hypervisor Kernel-based Virtual Machine è stato rilasciato per la prima volta nel 2007 come parte delle versioni Linux 2.6.20 e successive. KVM supporta vari sistemi operativi come Linux, Windows, macOS e Haiku, offrendo funzionalità di virtualizzazione assistita dall’hardware. La stessa soluzione fornisce anche la paravirtualizzazione per Windows, OpenBSD, FreeBSD e altri sistemi.

KVM può essere utilizzato sulla maggior parte delle macchine Linux dotate di CPU che supportano la virtualizzazione assistita dall’hardware. Per installare KVM, è necessario scaricare i pacchetti obbligatori dai repository software Linux, oltre a kvm-qemu e uno strumento di gestione (opzionale).

Gli strumenti di gestione della virtualizzazione basati su KVM più comuni sono Oracle Linux Virtualization Manager, Proxmox VE e Red Hat Virtualization Manager.

Che cos’è Hyper-V?

Hyper-V è un hypervisor nativo di Microsoft che consente la creazione e l’utilizzo di VM e ambienti virtuali. Hyper-V può essere eseguito su un sistema x86-64 con sistema operativo Windows.

Microsoft Hyper-V è stato rilasciato per la prima volta come parte di Windows Server 2008. L’hypervisor è un componente opzionale scaricabile dei sistemi Windows Server. Inoltre, Hyper-V ha una versione gratuita autonoma con funzioni limitate e che supporta solo CLI (interfaccia a riga di comando).

Con Hyper-V è possibile ottenere un insieme di VM isolate l’una dall’altra. Ciò è possibile grazie alla partizione specifica padre (root) e figlio. Una partizione padre, che può accedere direttamente all’hardware, esegue lo stack di gestione della virtualizzazione. Quindi, questa partizione crea partizioni figlio che ospitano i sistemi operativi guest.

KVM vs Hyper-V: un confronto dettagliato

Ora che abbiamo evidenziato le differenze generali nel nostro confronto tra Hyper-V e KVM, possiamo procedere con maggiori dettagli. Controlla le informazioni riportate di seguito per scegliere la soluzione più adatta alle tue esigenze.

Scalabilità e prestazioni

La scalabilità e le prestazioni sono senza dubbio i due punti più importanti in qualsiasi confronto tra KVM e Hyper-V. La buona notizia è che la competizione in questo campo si conclude con un pareggio: sia Hyper-V che KVM offrono prestazioni elevate e una grande scalabilità.

Il software di virtualizzazione KVM si basa sul kernel Linux, che è una soluzione open source. Ciò significa che KVM può funzionare correttamente su un’ampia gamma di hardware. Lo stesso kernel Linux consente un’elevata efficienza e velocità operativa.

Il lato negativo è che la natura open source di KVM può portare a problemi situazionali che possono richiedere tempo e impegno per essere risolti. Tuttavia, la knowledge base online di KVM è molto ricca, il che significa che molto probabilmente potrete trovare rapidamente la soluzione che fa al caso vostro.

D’altra parte, Hyper-V è l’hypervisor proprietario di Microsoft integrato nel sistema operativo Windows Server, ottimizzato per fornire le massime prestazioni sulla maggior parte dell’hardware disponibile. La scalabilità di Hyper-V consente inoltre di utilizzare l’infrastruttura IT con la massima efficienza, eseguendo più VM sull’host e scalando i carichi di lavoro virtuali on demand.

Lo svantaggio principale di Hyper-V è il supporto limitato per sistemi operativi diversi da Windows. In combinazione con alcune complessità di gestione e potenziali problemi di compatibilità, Hyper-V può anche essere impegnativo se non si dispone dell’esperienza tecnica obbligatoria.

Strumenti di gestione

Poiché Hyper-V e KVM sono progettati per piattaforme sottostanti diverse, anche i loro strumenti di gestione differiscono.

Per la gestione di Hyper-V, è possibile utilizzare la CLI di Windows PowerShell. Se si desidera una soluzione con una GUI, è possibile utilizzare Windows Admin Center o Hyper-V Manager.

Inoltre, le organizzazioni possono trarre numerosi vantaggi dallo strumento di gestione nativo di livello aziendale fornito da Microsoft: System Center Virtual Machine Manager (VMM) per Hyper-V. Gli amministratori di solito preferiscono VMM per gestire gli ambienti Hyper-V grazie alla comoda e informativa visualizzazione dell’infrastruttura e alle capacità di scalabilità. Lo svantaggio è che per utilizzare Virtual Machine Manager è necessario acquistare una licenza dedicata.

È possibile eseguire tutte le attività di gestione KVM utilizzando solo la CLI, proprio come con Hyper-V tramite PowerShell. Tuttavia, chi preferisce le interfacce grafiche per gestire le proprie infrastrutture KVM potrebbe provare soluzioni come Morpheus, virt-manager o Cloonix, tra le altre.

Hyper-V e KVM condividono una funzione significativa: un ampio elenco di compatibilità hardware, che offre una grande flessibilità.

Per KVM, è possibile utilizzare efficacemente qualsiasi tipo di storage (compreso quello collegato direttamente e quello collegato in rete). A sua volta, Hyper-V funziona con qualsiasi tipo di storage supportato da Windows. Tenete presente che se avete intenzione di archiviare i file VM su un NAS o su una condivisione file di rete, dovrete configurare il protocollo Server Message Block 3.0.

Opzioni di provisioning della memoria

La flessibilità nell’utilizzo della memoria è un altro vantaggio condiviso da KVM e Hyper-V. Entrambi gli hypervisor possono utilizzare sia la memoria regolare che la NUMA (non-uniform memory access) con la stessa efficacia.

Tuttavia, vale la pena notare la differenza tra KVM e Hyper-V nell’allocazione dinamica della memoria. In Hyper-V, la funzione di memoria dinamica consente alle VM di regolare l’utilizzo della memoria in base alle esigenze attuali della VM. La domanda non supera i limiti di volume di memoria impostati. Con l’allocazione dinamica della memoria, gli amministratori possono eseguire più VM su un singolo host sovradimensionando la memoria.

Anche l’hypervisor KVM consente il sovradimensionamento della memoria. Tuttavia, l’implementazione della funzione è leggermente diversa da quella di Hyper-V. Le VM KVM sono processi separati in esecuzione sull’host con sistema operativo Linux. Pertanto, le VM non hanno volumi di memoria preallocati. Il sistema operativo distribuisce la memoria tra le VM in base alle richieste. In parole semplici, il software di virtualizzazione KVM alloca blocchi di memoria a ciascuna VM su richiesta.

Nel caso in cui un host KVM si trovi ad affrontare una carenza di memoria fisica, il sistema invia alcune pagine di memoria allo swap. La quantità di RAM libera aumenta quindi su richiesta, consentendo così un overcommitment di memoria per il sistema host.

Funzionalità di sicurezza

Per quanto riguarda le funzionalità di sicurezza nel confronto tra KVM e Hyper-V, entrambe le soluzioni dispongono di efficienti funzionalità di sicurezza che è possibile utilizzare per garantire la protezione dei dati e dell’ambiente della propria organizzazione.

Per KVM, l’isolamento e la sicurezza delle VM derivano dalle funzionalità di due soluzioni. La prima, SELinux (Linux con sicurezza avanzata), definisce un perimetro di sicurezza attorno alle VM. sVirt (virtualizzazione sicura) abilita la sicurezza MAC (Mandatory Access Control) per le VM guest, aggiungendo ulteriori funzionalità a SELinux e riducendo l’impatto degli errori umani sulla sicurezza virtuale.

Hyper-V può anche isolare le VM per proteggere l’ambiente prima che un singolo nodo venga compromesso. Inoltre, la funzione Secure Boot disponibile con le VM Hyper-V di seconda generazione aiuta a impedire l’esecuzione di sistemi operativi, driver e firmware non autorizzati all’avvio. Ulteriori funzionalità di sicurezza di Hyper-V includono la crittografia del traffico su un’intera sottorete, Guarded Fabric (un modello di sicurezza anti-malware) e macchine virtuali protette.

Funzionalità di migrazione live delle VM

La migrazione live delle VM è una funzione disponibile sia in KVM che in Hyper-V. Con questa funzione, gli amministratori possono spostare le VM su un server diverso senza interrompere le operazioni delle VM.

La migrazione live può aiutare le organizzazioni a garantire la continuità della produzione e la disponibilità dei servizi. Ad esempio, quando è prevista una sessione di manutenzione hardware sull’host di virtualizzazione principale, è possibile spostare le macchine virtuali cruciali su un server secondario. La manutenzione viene quindi eseguita come previsto senza interrompere i flussi di lavoro e le operazioni dell’organizzazione.

Inoltre, a volte l’host non dispone di risorse sufficienti per eseguire le macchine virtuali originariamente create su di esso. Ad esempio, una VM può diventare troppo “grande” durante l’uso e causare problemi di prestazioni per l’intero host. Il modo più efficace per ottimizzare le prestazioni dell’host è utilizzare le funzionalità di migrazione live dell’hypervisor per spostare quella VM su un host diverso senza spegnere la VM.

Conversione tra KVM e Hyper-V

Se necessario, è possibile convertire le VM KVM per funzionare in ambienti Hyper-V e viceversa. Consultare le guide sulla conversione tra KVM e Hyper-V riportate di seguito.

Conversione da KVM a Hyper-V

La conversione delle VM KVM per l’utilizzo in ambienti Hyper-V avviene in tre passaggi:

  1. Installare qemu-ing.
  2. Per convertire un’immagine disco di una VM KVM nel formato Hyper-V, utilizzare il seguente comando:

    qemu-img.exe convert sourcefile.qcow2 -O vhdx -o subformat=dynamic destinationfile.vhdx

    In questo comando, sourcefile è il nome del file del disco della VM di origine e destinationfile è il nome del nuovo file del disco che si desidera ottenere dopo la conversione.

  3. Creare una nuova VM in Hyper-V, quindi collegare l’immagine del disco convertita.

Conversione da Hyper-V a KVM

Per convertire le VM Hyper-V in ambienti KVM, procedere come segue:

  1. Spegnere la VM Hyper-V che si desidera convertire. Quindi selezionare la VMe, in Hyper-V Manager, fare clic su Esportare.
  2. Specificare il repository di destinazione per i file della VM.
  3. Annotare i core del processore, la memoria e il MAC della VM esportata.
  4. Copiare il file VHDX della VM di destinazione nell’ambiente KVM.
  5. Sull’host KVM, installare virt-v2v.
  6. Utilizzare virt-v2v per convertire VHDX in QCOW2 con il seguente comando:

    sudo virt-v2v -i disk sourcefile.vhdx -o local -of qcow2 -os targetfile

  7. Al termine della conversione, prendere nota del sistema operativo guest.
  8. Utilizzare VMM per creare una nuova VM nell’ambiente KVM.
  9. Scegliere Importa l’immagine disco esistente, quindi fai clic su Inoltra.
  10. Trova il file vhdx-sda , quindi specifica il sistema operativo che devi installare. Successivamente, clicca su Inoltra.
  11. Completa la configurazione iniziale della nuova VM: imposta la memoria, la CPU, il nome della VM e specifica le impostazioni di rete KVM. Quindi, fare clic su Applica.
  12. Configurare qui opzioni specifiche come MAC. Quindi, nella parte superiore della finestra, seleziona Avvia l’installazione.

Considerazioni sui costi

Il budget dell’organizzazione rimane il fondamento di qualsiasi scelta relativa agli ambienti IT e la decisione tra KVM e Hyper-V non fa eccezione. In termini di prezzo, KVM presenta un chiaro vantaggio: essendo una soluzione open source, è gratuita. Inoltre, è possibile scaricare e installare gli strumenti di gestione e i moduli funzionali senza costi aggiuntivi. Anche il modulo Microsoft Hyper-V è disponibile gratuitamente. Tuttavia, la sfumatura è che Microsoft consiglia di effettuare l’upgrade a Windows Server per eseguire ambienti virtualizzati Hyper-V.

Conclusione

La scelta finale tra KVM e Hyper-V dipende dalle esigenze specifiche e dal budget della vostra organizzazione. Se avete bisogno di eseguire VM Windows in un ecosistema familiare e siete disposti a stanziare fondi per ottenere la soluzione proprietaria supportata, Hyper-V è l’opzione giusta. D’altra parte, se siete disposti a dedicare ulteriori sforzi alla configurazione e alla regolazione della soluzione open source, KVM può fornire capacità ed esperienza quasi equivalenti in termini di gestione, sicurezza, scalabilità e funzioni, il tutto gratuitamente.

Try NAKIVO Backup & Replication

Try NAKIVO Backup & Replication

Get a free trial to explore all the solution’s data protection capabilities. 15 days for free. Zero feature or capacity limitations. No credit card required.

Le persone leggono anche