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.


Migrare verso un'infrastruttura virtuale basata su KVM

Realizzare un'infrastruttura virtuale su una piattaforma alla quale si è vincolati per contratto può limitare l'accesso al codice sorgente. Di conseguenza, gli sviluppi IT aziendali avranno più l'aspetto di procedure alternative che non di innovazioni e il contratto successivo potrebbe poi ostacolare gli investimenti in cloud, container e automazione. Migrare a una piattaforma di virtualizzazione basata su KVM apre all'opportunità di ispezionare, modificare e migliorare il codice sorgente su cui si basano gli hypervisor. Non esiste alcun codice sorgente da proteggere e di conseguenza non occorre vincolarsi ad alcun accordo di licenza.


Funzionalità di KVM

KVM fa 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.

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.

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.

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.

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.

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.

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®).

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.

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.

Per le app che necessitano dei vecchi sistemi operativi e per testare nuove app riducendo i rischi, potrai configurare Red Hat Enterprise Linux come un hypervisor di base in grado di eseguire fino a 4 VM isolate su un singolo host.

Non serve altro. Basta installarlo (è supportato su hardware bare metal, sistemi open source e proprietari) per poter effettuare il deployment di decine o centinaia di macchine virtuali, grazie ad un hypervisor innovativo e a una piattaforma di gestione semplificata.

Scopri altri vantaggi di Red Hat Virtualization

Il marchio denominativo OpenStack e il marchio figurativo di 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 da parte 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.