Cos'è una macchina virtuale (VM)?

Copia URL

Una macchina virtuale (VM) è un ambiente di elaborazione che funziona come un sistema autonomo dotato di CPU, memoria, interfaccia di rete e storage, creato da un pool di risorse hardware. Un software denominato hypervisor isola le risorse di elaborazione necessarie e consente la creazione e la gestione delle VM.

La macchina fisica che esegue le VM viene indicata come macchina host, computer host, sistema operativo host o semplicemente host. Le diverse VM che ne utilizzano le risorse sono chiamate macchine guest, computer guest, sistemi operativi guest o semplicemente guest. 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.

Le VM permettono l'esecuzione simultanea di più sistemi operativi diversi su un unico computer, ad esempio una distribuzione Linux® su un sistema Windows o MacOS. 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 emulata nella VM risulti identica all'esperienza del sistema operativo eseguito in tempo reale su una macchina fisica. 

Esegui la migrazione delle macchine virtuali con Red Hat

La virtualizzazione è una tecnologia che sfrutta risorse tradizionalmente vincolate all'hardware. Ti consente di utilizzare tutte le capacità di una macchina fisica distribuendo le funzionalità tra utenti o ambienti diversi.

Esistono diversi tipi di virtualizzazione, tra cui:

  • La virtualizzazione dei dati, che consente alle organizzazioni 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.

Approfondisci il concetto di virtualizzazione

Risorse da Red Hat

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. Un hypervisor gestisce l'hardware e separa le risorse fisiche dagli ambienti virtuali. A seconda delle esigenze, le risorse vengono suddivise e trasferite dall'ambiente fisico alle varie macchine virtuali. L'esecuzione è sempre compito dell'hardware fisico. Ad esempio, la CPU esegue le istruzioni inviate dalle VM, mentre l'hypervisor si occupa dell'assegnazione.

Durante l'esecuzione della VM, quando un utente o un programma invia un'istruzione che richiede ulteriori risorse dall'ambiente fisico, l'hypervisor programma la richiesta in base alle risorse del sistema fisico, in modo che il sistema operativo e le applicazioni della macchina virtuale possano accedere al pool condiviso di risorse fisiche.

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.

Due sono le tipologie di hypervisor disponibili per la virtualizzazione.

Tipo 1

Un hypervisor di 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

Un hypervisor di tipo 2 si trova 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. 

Con la virtualizzazione, è possibile eseguire in contemporanea più sistemi operativi e condividere le stesse risorse hardware virtualizzate. Viceversa, senza la virtualizzazione solo un sistema operativo può essere eseguito sull'hardware.

Uno dei motivi principali per utilizzare le VM è il consolidamento del server. La maggior parte dei deployment di sistemi operativi e applicazioni utilizza solo una piccola quantità delle risorse fisiche disponibili quando il deployment avviene su bare metal. Virtualizzando i server è possibile collocare più server su ciascun server fisico, per un utilizzo più efficiente dell'hardware.

Ciò riduce sia l'esigenza 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 data center. Le VM offrono inoltre opzioni aggiuntive per il ripristino di emergenza, consentendo failover e ridondanza, processi che prima potevano essere ottenuti solo aggiungendo hardware.

Una VM fornisce un ambiente isolato dal resto del sistema; qualsiasi elemento eseguito all'interno di una VM non interferisce con quanto viene eseguito nell'hardware host.

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.

La virtualizzazione è una delle tecnologie che rendono 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.

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.

Scopri di più sul cloud computing

Red Hat è uno dei principali contributori di lunga data allo sviluppo dei software di virtualizzazione open source. Oggi Red Hat® OpenShift® Virtualization, una funzionalità di Red Hat OpenShift, consente ai team IT di integrare le macchine virtuali (VM) nei flussi di lavoro containerizzati. Quando eseguono una VM all'interno di un container, i team possono distribuire e gestire le macchine virtuali insieme ai container su una singola piattaforma. In questo modo le aziende possono sfruttare i vantaggi degli investimenti già impegnati nell'ambito della virtualizzazione e usufruire al contempo della semplicità e velocità di una piattaforma applicativa moderna.

La migrazione delle macchine virtuali esistenti dalle altre piattaforme a OpenShift si può eseguire tramite strumenti dedicati, gratuiti e intuitivi. Le macchine virtuali che ne derivano vengono eseguite in parallelo ai container negli stessi nodi Red Hat OpenShift.

Scopri di più su Red Hat OpenShift Virtualization

Hub

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.

Tutte le versioni di prova dei prodotti Red Hat

Grazie alle versioni di prova gratuite dei prodotti Red Hat potrai acquisire esperienza pratica, prepararti per le certificazioni o capire se il prodotto che hai scelto è giusto per le esigenze della tua organizzazione.

Continua a leggere

Come scegliere una piattaforma di virtualizzazione

Scegli la piattaforma di virtualizzazione più adatta alla gestione delle tue macchine virtuali (VM) seguendo alcuni concetti chiave.

Cos'è KubeVirt?

KubeVirt è un progetto open source che permette di eseguire, distribuire e gestire macchine virtuali (VM) con Kubernetes come piattaforma di orchestrazione alla base.

Cos'è la migrazione in tempo reale?

La migrazione in tempo reale trasferisce una macchina virtuale (VM) da un host all'altro senza interrompere l'accesso alla macchina stessa.

Virtualizzazione: risorse consigliate