Panoramica
Una macchina virtuale (VM) è un ambiente di elaborazione isolato dotato di CPU, memoria, interfaccia di rete e storage, creato da un pool di risorse hardware.
La virtualizzazione, il concetto alla base delle VM, consente a un singolo computer di funzionare come più computer diversi contemporaneamente. Le VM possono emulare infinite disposizioni di sistemi operativi sullo stesso hardware fisico per aiutare le aziende a ridurre i costi, semplificare le operazioni e ottenere più valore dall'infrastruttura esistente.
Cos'è la virtualizzazione?
La virtualizzazione tradizionale si occupa di risorse normalmente vincolate all'hardware e può distribuire la capacità di una macchina tra più utenti o ambienti.
Questa pratica è nata negli anni '60 come tecnologia per supportare la presenza contemporanea di più utenti sui computer mainframe. La virtualizzazione come la conosciamo oggi, tuttavia, ha acquisito popolarità negli anni 2000, quando le organizzazioni cercavano modi per sfruttare al meglio le proprie risorse di elaborazione e ottimizzare l'accesso a hardware costosi.
Esistono diversi tipi di virtualizzazione, tra cui:
- La virtualizzazione dei dati, che consente di consolidare le sorgenti di dati in un'unica fonte di erogazione dinamica.
- La virtualizzazione dei desktop, con cui più ambienti desktop simulati possono essere distribuiti e controllati tramite un amministratore centrale.
- La virtualizzazione dei server, che permette agli amministratori di suddividere i server in configurazioni con funzioni specifiche.
- La virtualizzazione dei sistemi operativi, grazie alla quale più sistemi operativi possono essere eseguiti su un unico computer.
- La virtualizzazione delle funzioni di rete, che separa le funzioni di una rete (come i servizi directory, la condivisione di file e la configurazione IP) in modo da poterle distribuire tra gli ambienti.
Risorse da Red Hat
Come funziona una VM?
La macchina fisica che esegue le VM viene indicata come "macchina host", "computer host", "sistema operativo host" o semplicemente "host". Le VM che ne utilizzano le risorse sono chiamate "macchine guest", "computer guest", "sistemi operativi guest" o semplicemente "guest".
Un software denominato hypervisor isola le risorse di elaborazione necessarie e consente la creazione e la gestione delle VM. L'hypervisor tratta le risorse di elaborazione (tra cui CPU, memoria e storage) come un pool di risorse facilmente riposizionabile tra i guest esistenti o su nuove macchine virtuali.
Ogni sistema operativo funziona come un sistema operativo o un'applicazione normalmente eseguiti sull'hardware host. In questo modo, l'esperienza dell'utente finale emulata all'interno della VM è quasi identica a quella del sistema operativo in tempo reale eseguito su una macchina fisica.
Si può definire una VM con un solo file di dati, che funzionerà allo stesso modo su computer diversi. Un hypervisor suddivide le risorse dall'ambiente fisico alle VM in base alle esigenze. L'esecuzione è sempre compito dell'hardware fisico. Ad esempio, la CPU esegue le istruzioni inviate dalle VM, mentre l'hypervisor si occupa dell'assegnazione.
Quando una VM è in esecuzione e un utente o un programma invia un'istruzione che richiede ulteriori risorse dell'ambiente fisico, l'hypervisor inoltra la richiesta alle risorse del sistema fisico. Questo pool condiviso di risorse fisiche è disponibile per il sistema operativo e le applicazioni della VM.
Negli ambienti Linux®, l'hypervisor integrato si chiama Kernel-based Virtual Machine (KVM). Tra le altre soluzioni sono inclusi Xen, che è open source, e Microsoft Hyper-V.
Esistono due diversi tipi di hypervisor per la virtualizzazione:
Tipo 1: su bare metal. La pianificazione delle risorse della VM avviene direttamente sull'hardware tramite l'hypervisor. KVM è un esempio di hypervisor di tipo 1.
Tipo 2: su un host. Le risorse della VM vengono assegnate su un sistema operativo host, che a sua volta viene eseguito sull'hardware. VMware Workstation e Oracle VirtualBox sono esempi di hypervisor di tipo 2.
Vantaggi delle VM
Consentendo a più sistemi operativi di essere eseguiti insieme e condividere le stesse risorse hardware, le VM garantiscono una flessibilità che offre molti vantaggi.
Utilizzo efficiente delle risorse
In un ambiente bare metal, la maggior parte dei deployment di sistemi operativi e applicazioni utilizza solo una piccola parte delle risorse fisiche disponibili. Con le VM è possibile collocare più server virtuali su ciascun server fisico per migliorare l'utilizzo dell'hardware.
L'utilizzo delle VM per consolidare i server può aiutare un'organizzazione IT a risparmiare, perché permette di acquistare meno hardware, ridurre il consumo energetico e occupare meno spazio nel datacenter.
Sicurezza e ripristino di emergenza
Le VM offrono anche alcuni vantaggi in termini di sicurezza: forniscono un ambiente isolato dal resto del sistema, per cui qualsiasi elemento eseguito all'interno di una VM non interferisce con quanto viene eseguito nell'hardware host.
Le VM supportano anche opzioni aggiuntive per il ripristino di emergenza, consentendo i processi di failover e ridondanza, che prima potevano essere ottenuti solo aggiungendo hardware.
Ambienti di test e processi isolati
Questo isolamento rende le VM la soluzione ideale per testare nuove applicazioni o configurare un ambiente di produzione. È anche possibile eseguire una VM con una specifica finalità, ad esempio il supporto di un determinato processo.
Scalabilità per soddisfare la domanda
Le VM consentono di avviare rapidamente nuove istanze server, semplificando la scalabilità per soddisfare le variazioni della domanda. Inoltre, permettono anche agli sviluppatori di creare nuovi ambienti quando ne hanno bisogno.
Flessibilità
Grazie alla possibilità di eseguire più sistemi operativi su un singolo componente hardware fisico, è possibile supportare un'ampia varietà di ambienti e sfruttare al massimo quelli già esistenti.
La differenza fra VM e container
Come le VM, i container sono un modo per raggruppare i vari componenti di un ambiente di elaborazione e isolarli dal resto del sistema. La differenza principale riguarda i componenti che vengono isolati.
Ogni macchina virtuale, infatti, contiene il suo sistema operativo, che le permette di eseguire contemporaneamente diverse funzioni a elevato utilizzo di risorse. Possono emulare interi server, sistemi operativi, desktop, database e reti.
In genere, i container sono più piccoli e non contengono un sistema operativo completo. Un'applicazione moderna può fare affidamento su molti container, ognuno dei quali esegue una funzione specifica.
Interazioni tra VM e cloud
La virtualizzazione è una tecnologia di base che contribuisce a rendere possibile il cloud computing. 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.
I software che gestiscono la virtualizzazione, la gestione e l'automazione necessarie per il cloud computing si trovano al di sopra del sistema operativo. Questo livello di software mantiene le connessioni tra risorse fisiche, pool di dati virtuali, software di gestione, script di automazione e clienti.
Perché scegliere Red Hat
Video di YouTube: Is OpenShift Virtualization right for your VMs? Durata del video: 1:57
Esegui la migrazione delle VM e mantieni il tuo slancio
Red Hat conta su un ampio ecosistema di prodotti e partner di fiducia che offrono soluzioni di virtualizzazione complete. 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à. Se preferisci una soluzione di virtualizzazione dedicata, valuta Red Hat OpenShift Virtualization Engine, un'offerta semplice e conveniente per distribuire, gestire e rendere scalabili le VM in modo specifico. Il migration toolkit for virtualization incluso fornisce gli strumenti necessari per avviare la migrazione in pochi semplici passaggi.
Automatizza la migrazione
Red Hat Ansible® Automation Platform permette di utilizzare l'automazione per accelerare ogni fase delle migrazioni, dalla scalabilità alle attività di manutenzione e correzione. Questo approccio flessibile permette di automatizzare le attività e quindi incrementare la velocità e l'efficienza delle operazioni IT.
Gestisci le VM di Red Hat OpenShift
Con Red Hat Advanced Cluster Management for Kubernetes puoi monitorare la sicurezza e le prestazioni delle VM da un'unica console. Inoltre, Red Hat Advanced Cluster Management for Virtualization è una versione di Red Hat Advanced Cluster Management pensata per le organizzazioni che desiderano gestire esclusivamente le VM.
Valutazione sulla migrazione dell'infrastruttura virtuale
La valutazione sulla migrazione dell'infrastruttura virtuale di Red Hat è un framework basato sull'esperienza che aiuta a creare un percorso strategico per la migrazione dell'infrastruttura delle macchine virtuali (VM).