Virtualizzazione

La tecnologia KVM

KVM (Kernel-based Virtual Machine) è una tecnologia di virtualizzazione open source integrata in Linux®. Nello specifico, KVM consente di trasformare Linux in un hypervisor con il quale una macchina host può eseguire più ambienti virtuali isolati, definiti guest o macchine virtuali (VM, Virtual Machine).

KVM fa parte di Linux. Se utilizzi Linux 2.6.20 o una delle versioni successive, KVM è già a tua disposizione. KVM è stato presentato per la prima volta nel 2006 ed integrato nella principale versione del kernel Linux un anno dopo. Poiché fa parte del codice Linux esistente, sfrutta i vantaggi immediati di ogni nuova funzione, correzione e miglioramento apportati a Linux, senza che sia necessaria alcuna riprogettazione.


Come funziona KVM?

KVM converte Linux in un hypervisor di tipo 1 (bare metal). Per l'esecuzione delle VM, tutti gli hypervisor necessitano di componenti a livello di sistema operativo: gestore di memoria, scheduler di processo, stack di input/output (I/O), driver di periferiche, gestore della sicurezza, stack di rete e altro. Poiché fa parte del kernel Linux, KVM è già dotato di questi componenti. Ogni VM viene implementata come processo Linux standard, pianificata dallo scheduler Linux standard, con hardware virtuale dedicato quale, scheda di rete, scheda grafica, CPU, memoria e dischi.


Implementazione di KVM

In poche parole, è necessario disporre di una versione di Linux rilasciata dopo il 2007, purché sia installata su hardware X86 con capacità di virtualizzazione. Se entrambi questi requisiti sono soddisfatti, è sufficiente caricare due moduli esistenti (un modulo kernel host e un modulo specifico per il processore), un emulatore e tutti i driver necessari per eseguire i sistemi aggiuntivi.

Funzionalità di KVM

In poche parole, KVM è Linux.: KVM è parte di Linux. Linux è parte della tecnologia KVM. KVM sfrutta tutti i componenti di cui è dotato Linux. Alcune sue caratteristiche specifiche lo rendono però l'hypervisor preferito dalle aziende.

Sicurezza

KVM usa una combinazione di Security-Enhanced Linux (SELinux) e Secure Virtualization (sVirt) per migliorare sicurezza e isolamento della VM. SELinux definisce i confini della sicurezza delle VM; sVirt estende le capacità di SELinux, consentendo di applicare la sicurezza MAC (Mandatory Access Control) alle VM guest e di impedire gli errori di etichettatura manuali.

Storage

KVM può utilizzare qualsiasi storage supportato da Linux, inclusi alcuni dischi locali e NAS (Network Attached Storage). L'I/O multipath può essere usato per migliorare lo storage e fornire ridondanza. KVM supporta anche i sistemi di file condivisi in modo che le immagini VM possano essere condivise da più host. Le immagini del disco supportano il thin provisioning, con un'allocazione on-demand e non anticipata.

Supporto hardware

KVM può utilizzare un'ampia varietà di piattaforme hardware certificate supportate da Linux. Poiché i provider di hardware contribuiscono regolarmente allo sviluppo del kernel, le più recenti funzionalità hardware vengono adottate rapidamente dal kernel Linux.

Gestione della memoria

KVM eredita da Linux le funzioni di gestione della memoria, tra cui l'accesso NUMA (Non-Uniform Memory Access) e Kernel Same-Page Merging. La memoria di una VM può essere sostituita, supportata da grandi volumi per ottenere prestazioni migliori, e condivisa o supportata da un file su disco.

Migrazione in tempo reale

KVM supporta la migrazione in tempo reale, ovvero la capacità di spostare una VM in esecuzione tra host fisici, senza interruzione del servizio. La VM e le connessioni di rete restano attive, e l'esecuzione delle applicazioni prosegue mentre la VM viene riposizionata. KVM consente di salvare lo stato corrente di una VM così da poterlo archiviare e ripristinare in un secondo momento.

Prestazioni e scalabilità

KVM eredita le prestazioni di Linux, ed è scalabile per soddisfare il carico della domanda se il numero delle macchine guest e delle richieste aumenta. KVM consente di virtualizzare i carichi di lavoro delle applicazioni più esigenti ed è la base per numerose configurazioni di virtualizzazione aziendali, quali datacenter e cloud privati (tramite OpenStack®).

Controllo e pianificazione delle risorse

Nel modello KVM, una VM rappresenta un processo Linux, pianificato e gestito dal kernel. Lo scheduler Linux consente il controllo granulare delle risorse allocate a un processo Linux e garantisce la qualità del servizio per un processo specifico. In KVM, ciò include il CFS (Completely Fair Scheduler) i gruppi di controllo, gli spazi dei nomi di rete e le estensioni in tempo reale.

Bassa latenza e prioritizzazione elevata

Il kernel Linux è dotato di estensioni in tempo reale che consentono l'esecuzione delle app basate su VM con una latenza più bassa e una migliore assegnazione delle priorità rispetto al bare metal. Il kernel divide inoltre i processi caratterizzati da tempi di elaborazione elevati in componenti più piccoli, che possono essere pianificati ed elaborati più facilmente.

Gestione di KVM

È possibile gestire manualmente una serie di VM attivate su un'unica workstation senza uno strumento di gestione. Nelle aziende di maggiori dimensioni, il software per la gestione della virtualizzazione si interfaccia con gli ambienti di virtualizzazione e l'hardware fisico per semplificare l'amministrazione delle risorse, migliorare l'analisi dei dati e velocizzare i processi. Con questa finalità, Red Hat ha creato Red Hat Virtualization.


KVM e Red Hat

Crediamo nella tecnologia KVM: è l'unico hypervisor scelto per tutti i nostri prodotti di virtualizzazione, e Red Hat migliora costantemente il codice kernel contribuendo alla community KVM. Poiché KVM fa parte di Linux, è già incluso Red Hat Enterprise Linux. A cosa serve quindi Red Hat Virtualization?

In realtà Red Hat ha due versioni di KVM. La soluzione KVM integrata in Red Hat Enterprise Linux è dotata di tutte le funzionalità dell'hypervisor e di capacità di gestione di base; consente ai clienti di eseguire fino a 4 macchine virtuali isolate su un singolo host. Red Hat Virtualization contiene una versione avanzata di KVM che abilita la gestione a livello enterprise di un numero illimitato di macchine guest. È perfetta per essere utilizzata nella virtualizzazione di datacenter, in workstation tecniche, cloud privati e nelle attività di sviluppo o produzione.

Hai un'app che richiede un sistema operativo meno recente? Vuoi testare una nuova app in un ambiente a basso rischio? Puoi configurare Red Hat Enterprise Linux come hypervisor di base per eseguire fino a 4 VM isolate su un unico host.

Non ti serve altro. È una soluzione installabile ovunque, dall'hardware bare-metal ai sistemi open source e proprietari. Potrai effettuare il deployment di decine o centinaia di macchine virtuali con un hypervisor avanzato e una piattaforma di gestione che rende tutto più semplice.

Il marchio denominativo e il logo OpenStack sono marchi commerciali o marchi registrati, negli Stati Uniti e in altri paesi, di proprietà della OpenStack Foundation. Pertanto sono da utilizzarsi, insieme o separatamente, previa autorizzazione della OpenStack Foundation. Red Hat, Inc. non ha rapporti di affiliazione con la OpenStack Foundation o con la community di OpenStack, né riceve da esse sponsorizzazioni o finanziamenti.

Scopri altri vantaggi di Red Hat Virtualization