Cos'è la virtualizzazione?
La virtualizzazione è una tecnologia che consente di creare ambienti virtuali simulati da un'unica macchina fisica. Grazie a questo approccio i professionisti dell'IT possono sfruttare gli investimenti già sostenuti e massimizzare l'utilizzo della macchina fisica distribuendo le risorse tradizionalmente vincolate all'hardware nei diversi ambienti.
In uso ormai da decenni la virtualizzazione è uno strumento formidabile che aiuta a migliorare l'efficienza, garantisce la flessibilità e incrementa la scalabilità nelle infrastrutture IT. Inoltre, poiché prevede che più sistemi operativi possano condividere lo stesso hardware fisico, contribuisce a migliorare l'utilizzo delle risorse, riduce i costi associati alla manutenzione dei componenti fisici e aumenta la sicurezza dei sistemi isolati.
Che si tratti di amministratori della virtualizzazione alle prese con ambienti di test sulla propria workstation o di grandi organizzazioni che puntano a eseguire di enormi flotte di macchine virtuali (VM) su una piattaforma cloud ibrida, la virtualizzazione gioca un ruolo chiave nell'infrastruttura IT e nei carichi di lavoro moderni.
Come funziona la virtualizzazione?
Gli elementi chiave della virtualizzazione sono due: macchine virtuali e hypervisor.
Macchine virtuali
Una macchina virtuale (VM) è un ambiente di elaborazione che funziona come un sistema autonomo. È dotato di CPU, sistema operativo, memoria, interfaccia di rete e storage ed è creato da un pool di risorse hardware. Una VM è un singolo file di dati utilizzabile anche nel momento in cui viene spostato da un computer a un altro, e aperto su più computer.
La virtualizzazione permette l'esecuzione simultanea di VM con più sistemi operativi diversi su un unico dispositivo fisico, ad esempio un ambiente Windows o MacOS su un sistema Linux®. Ogni sistema operativo viene eseguito come avviene normalmente per un sistema operativo o un'applicazione in un hardware host, in modo tale che l'esperienza dell'utente finale risulti identica all'esperienza del sistema operativo eseguito in tempo reale su una macchina fisica.
Hypervisor
Un hypervisor, noto anche come Virtual Machine Monitor (VMM), è un software che separa le risorse fisiche del sistema e le divide in modo che gli ambienti virtuali le possano utilizzare quando necessario. Gli hypervisor estraggono le risorse fisiche (CPU, memoria e storage) dall'hardware e le mettono a disposizione di più VM contemporaneamente, offrendo quindi la possibilità di creare nuove VM e di gestire quelle esistenti. Gli hypervisor si possono eseguire in un sistema operativo (ad esempio su un laptop) oppure installare direttamente su un hardware (ad esempio un server). Quando l'hardware fisico è utilizzato come hypervisor prende il nome di host, mentre le VM che ne utilizzano le risorse sono note come guest.
Quando l'ambiente virtuale è in funzione e un utente o un programma impartisce un'istruzione che richiede risorse aggiuntive dall'ambiente fisico, l'hypervisor riporta la richiesta sul sistema fisico e memorizza nella cache le modifiche, che vengono applicate in tempo pressoché reale.
Le tipologie di hypervisor disponibili per la virtualizzazione sono due.
Hypervisor di tipo 1: noto anche come hypervisor native o bare metal, si esegue direttamente sull'hardware dell'host e da lì gestisce i sistemi operativi guest. Sostituisce il sistema operativo host e la pianificazione delle risorse della VM avviene direttamente sull'hardware tramite l'hypervisor. Questo tipo di hypervisor è molto utilizzato nei datacenter aziendali o in altri ambienti basati su server.
Hypervisor di tipo 2: anche detto hypervisor in hosting, viene eseguito su un sistema operativo convenzionale come un'applicazione o un software leggero. Questo tipo di hypervisor isola i sistemi operativi guest dal sistema operativo host. Le risorse della VM vengono assegnate su un sistema operativo host, che a sua volta viene eseguito sull'hardware. Un hypervisor di tipo 2 è la soluzione più adeguata per i singoli utenti che vogliono eseguire più sistemi operativi sul proprio computer.
Cos'è la tecnologia KVM?
KVM (Kernel-based Virtual Machine) è un hypervisor di tipo 1 open source presente nelle distribuzioni Linux moderne. Le VM eseguite con KVM godono delle prestazioni e del controllo dettagliato offerto da Linux.
Risorse da Red Hat
I vantaggi della virtualizzazione
La virtualizzazione consente di sfruttare a pieno la capacità dei sistemi hardware. Con questo approccio è possibile eseguire in contemporanea più sistemi operativi che condividono le stesse risorse hardware virtualizzate e incrementare quindi l'efficienza. Così facendo i team possono utilizzare le loro risorse di elaborazione per supportare applicazioni e carichi di lavoro critici. I vantaggi della virtualizzazione sono svariati:
- Unificazione dei server: virtualizzando i server è possibile collocare più server virtuali su ciascun server fisico e migliorare così l'utilizzo dell'hardware. L'unificazione dei server assicura un utilizzo più efficiente delle risorse perché una macchina host si può dividere in più VM e le risorse vengono allocate dove sono necessarie. Questo approccio permette non solo di sfruttare al massimo la capacità dell'hardware, ma anche di razionalizzare lo spazio, il consumo di energia e la manutenzione.
- Riduzione dei costi: un utilizzo efficiente dell'hardware riduce sia il bisogno di acquistare un maggior numero di risorse fisiche, quali dischi o unità, sia la necessità di incrementare il fabbisogno energetico, lo spazio e le tecnologie di raffreddamento nel datacenter.
- Ambienti isolati: dato che sono separate dal resto del sistema, le VM non interferiscono con ciò che è in esecuzione sull'hardware host e sono la scelta ideale per chi desidera testare nuove applicazioni o configurare un ambiente di produzione.
- Migrazione delle applicazioni più rapida: gli amministratori non devono più attendere che ciascuna applicazione venga certificata sul nuovo hardware. La configurazione delle VM è definita dal software, questo significa che è possibile creare, rimuovere, clonare e trasferire le VM in tempi decisamente più rapidi. Oltre a poter controllare da remoto le VM, è possibile anche automatizzarne la gestione.
- Ambienti efficienti: durante i test di regressione, i team possono creare o copiare facilmente un ambiente di test, il che elimina la necessità di avere hardware di prova dedicati o server di sviluppo ridondanti. Con la giusta formazione e le competenze adeguate, i team possono ottimizzare tali ambienti per ottenere maggiore capacità e densità.
- Ripristino di emergenza: le VM offrono opzioni aggiuntive per il ripristino di emergenza, come il failover, un processo che prima si poteva ottenere solo tramite l'adozione di hardware supplementari. Le opzioni per il ripristino di emergenza aiutano a ridurre i tempi necessari per la riparazione di un server danneggiato e migliorano quindi l'adattabilità.
Tipi di virtualizzazione
Virtualizzazione dei server
La virtualizzazione dei server è una delle virtualizzazioni più diffuse, soprattutto negli ambienti IT aziendali. Resa possibile dagli hypervisor che separano e distribuiscono le risorse fisiche, la virtualizzazione dei server è un processo che prevede il partizionamento di un server in modo da poter utilizzare le risorse per svolgere più funzioni.
Virtualizzazione dei desktop
La virtualizzazione dei desktop consente a un amministratore centrale, o a uno strumento di amministrazione centralizzato, di distribuire ambienti desktop su centinaia di macchine fisiche simultaneamente. Grazie alla virtualizzazione dei desktop gli amministratori possono eseguire configurazioni, aggiornamenti e controlli di sicurezza in blocco, su tutti i desktop virtuali.
Virtualizzazione dei dati
La virtualizzazione dei dati, anche detta federazione dei dati o spazio dei nomi globale, consente di unificare i dati distribuiti in un'unica sorgente.Raggruppa i dati derivati da sorgenti diverse, semplifica l'inserimento di nuove sorgenti di dati e trasforma i dati secondo le esigenze degli utenti. Lo spazio dei nomi globale permette di raggruppare più sorgenti di dati e di trattarle come un'unica sorgente, fornendo al momento giusto i dati necessari, nel formato richiesto, a qualsiasi applicazione o utente.
Virtualizzazione dello storage
La virtualizzazione dello storage permette di accedere a tutti i dispositivi di storage e di gestirli come un singolo dispositivo. Tutti i dispositivi di storage della rete vengono raggruppati in un singolo pool. La virtualizzazione dello storage consente di ottimizzare attività come l'archiviazione e il recupero e di massimizzare l'utilizzo dello storage disponibile nell'infrastruttura.
Virtualizzazione delle applicazioni
La virtualizzazione delle applicazioni consente di distribuire e utilizzare le applicazioni rendendole disponibili al di fuori del sistema operativo su cui erano state originariamente installate. La separazione dell'applicazione dal sistema operativo ne permette l'esecuzione remota in un ambiente virtuale e assicura gestione e deployment più flessibili. La virtualizzazione delle applicazioni si differenzia dalla virtualizzazione dei desktop perché l'applicazione viene eseguita virtualmente mentre il sistema operativo sul dispositivo dell'utente si esegue in modalità canonica.
Virtualizzazione delle funzioni di rete
Diffusa tra i provider di servizi di telecomunicazione, la virtualizzazione delle funzioni di rete (NFV) separa le funzioni chiave di una rete (come i servizi directory, la condivisione file e la configurazione IP) in modo che si possano distribuire tra gli ambienti. Una volta che le funzioni software sono indipendenti dalle macchine fisiche su cui erano precedentemente ospitate, è possibile accorpare funzioni specifiche in una nuova rete e assegnarle agli ambienti. La virtualizzazione delle reti riduce il numero di componenti fisici, come switch, router, server e cavi, necessari per creare reti multiple e indipendenti.
Virtualizzazione e containerizzazione
Virtualizzazione e containerizzazione sono entrambi approcci agli ambienti di elaborazione che prevedono di isolare i componenti IT dal resto del sistema fisico, ma lo fanno in maniera differente.
Come spiegato in precedenza, la virtualizzazione è un tecnologia che svincola le risorse dall'hardware fisico permettendo alle VM di funzionare a pieno regime con diversi sistemi operativi. La containerizzazione raggruppa invece software e applicazioni in un pacchetto, chiamato container, che condivide il sistema operativo host e si può trasferire ed eseguire agevolmente in qualunque ambiente.
La virtualizzazione prevede di creare delle VM che eseguono i loro sistemi operativi e le loro applicazioni. Con questo approccio è possibile eseguire in contemporanea più sistemi operativi che condividono le stesse risorse hardware virtualizzate provenienti da una singola macchina fisica.
La containerizzazione prevede invece di inserire il codice software in un container. Le app containerizzate si possono trasferire più facilmente da un ambiente all'altro ed eseguire in qualunque infrastruttura.
Red Hat® OpenShift® include alcune funzionalità progettate per semplificare la migrazione delle macchine virtuali a OpenShift e snellire la gestione di VM e container, garantendo la massima visibilità.
Virtualizzazione e cloud computing
Sia la virtualizzazione che la containerizzazione sono tecnologie che favoriscono il cloud computing. Il cloud computing consiste nell'esecuzione di carichi di lavoro all'interno di cloud, ovvero ambienti IT che consentono di estrarre, raggruppare e condividere risorse scalabili in una rete.
I cloud pubblici e privati virtualizzano le risorse in pool condivisi, aggiungono un livello di controllo amministrativo e distribuiscono quelle stesse risorse con funzioni self service automatizzate. Il software di virtualizzazione, gestione e automazione che costituisce i cloud si basa sul sistema operativo, che connette le risorse fisiche, i pool di dati virtuali, il software di gestione, gli script di automazione e i clienti.
Grazie alla virtualizzazione i carichi di lavoro in esecuzione in ambienti cloud possono accedere alle risorse di tutta la rete. In questo modo è possibile erogare risorse IT scalabili e flessibili agli utenti in rete.
Che cos'è la migrazione delle macchine virtuali?
Per migrazione delle VM si intende il trasferimento di una macchina virtuale da una piattaforma a un'altra. In genere si esegue una migrazione delle VM per incrementare l'utilizzo delle risorse, migliorare le prestazioni, aumentare la flessibilità e la scalabilità, ma anche per assicurarsi la coerenza, l'efficienza e il supporto necessari per le operazioni future e le applicazioni basate sul cloud.
Sono diverse le ragioni che possono spingere un'azienda a trasferire le sue VM ed esistono diverse tipologie di migrazione. Le modalità principali sono due: la migrazione in tempo reale e la migrazione a freddo. La migrazione in tempo reale prevede che l'esecuzione della VM sulla macchina host sorgente continui anche mentre le pagine della sua memoria vengono trasferite all'host di destinazione. Una volta completata questa fase, il funzionamento della VM viene sospeso brevemente per poi riattivarsi sull'host di destinazione ma con tempi di fermo pressoché impercettibili. La migrazione a freddo prevede invece lo spegnimento della VM prima del trasferimento dall'host sorgente a quello di destinazione. Si preferisce questa strategia per la migrazione di intere piattaforme o tra regioni.
La scelta di una modalità di migrazione o l'altra dipende dalle esigenze delle piattaforme coinvolte nel processo.
Perché scegliere Red Hat per la virtualizzazione?
Grazie al suo ampio ecosistema di prodotti e partner affidabili, Red Hat offre una soluzione di virtualizzazione completa. Che si vogliano gestire carichi di lavoro virtuali o containerizzati, o un mix dei due, Red Hat OpenShift Virtualization fornisce su un'unica piattaforma tutti gli strumenti necessari per creare, gestire e crescere in tutta sicurezza.Esegui la migrazione delle macchine virtuali a Red Hat OpenShift Virtualization, una piattaforma applicativa moderna, basata su KVM e KubeVirt, che integra carichi di lavoro virtuali e containerizzati per offrire flessibilità senza aumentare la complessità. Il toolkit per la migrazione delle macchine virtuali incluso con la piattaforma fornisce gli strumenti necessari per eseguire la migrazione in pochi semplici passaggi.
Potenzia i vantaggi di Red Hat OpenShift Virtualization introducendo l'automazione in azienda con Red Hat Ansible® Automation Platform, la piattaforma ideale per accelerare la migrazione, la scalabilità, le attività di manutenzione, quelle di correzione e molto altro ancora. Questo approccio flessibile permette di automatizzare le attività e quindi incrementare la velocità e l'efficienza delle operazioni IT, salvaguardando al contempo gli investimenti già sostenuti per la virtualizzazione e le applicazioni che dipendono da essa.
Con Red Hat le aziende possono razionalizzare la gestione e modernizzarsi ai propri ritmi. Adotta Red Hat Advanced Cluster Management for Kubernetes per monitorare le prestazioni di tutte le VM su un'unica console. Grazie a diverse opzioni di supporto e numerose integrazioni per storage, reti, backup e ripristino di emergenza ad opera dell'ampio ecosistema di partner, Red Hat può davvero aiutare i suoi clienti a garantire il funzionamento ottimale dell'infrastruttura virtuale nel cloud ibrido e quando sarà il momento avviare un percorso di modernizzazione.
Il blog ufficiale di Red Hat
Leggi gli articoli del blog di Red Hat per scoprire novità e consigli utili sulle nostre tecnologie, e avere aggiornamenti sul nostro ecosistema di clienti, partner e community.