Panoramica
Una macchina virtuale (VM) è un ambiente virtuale che funziona come un sistema informatico virtuale autonomo, dotato di CPU, memoria, interfaccia di rete e storage, creato su un sistema hardware fisico, ubicato fuori sede o on premise. Un software, definito hypervisor separa l'hardware dalle risorse della macchina, eseguendone il provisioning in modo che la VM possa utilizzarle.
La macchina fisica, dotata di un hypervisor come Kernel-based Virtual Machine (KVM), è definita 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 consentono l'esecuzione simultanea di più sistemi operativi diversi su un unico computer, ad esempio una distribuzione Linux® su un laptop MacOS. Ogni sistema operativo viene eseguito come succede 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.
Coopservice standardizza e accelera lo sviluppo di software
Scopri come il gruppo Coopservice ha unificato la gestione e lo sviluppo applicativo grazie alle soluzioni di Red Hat.
Come funzionano le VM?
La tecnologia di virtualizzazione consente di condividere un sistema con più ambienti virtuali. L'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.
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.
Tipi di hypervisor
Due sono le tipologie di hypervisor disponibili per la virtualizzazione.
Tipo 1
Un hypervisor di tipo 1 è su bare metal. Lo scheduling delle risorse della VM avviene direttamente sull'hardware tramite l'hypervisor. KVM è un esempio di hypervisor di tipo 1. VM è stato integrato nel kernel di Linux® nel 2007, quindi se utilizzi una versione recente di Linux, hai già accesso a KVM.
Tipo 2
Un hypervisor di tipo 2 si trova su un host. La pianificazione delle risorse della VM avviene in base al sistema operativo host, che a sua volta viene eseguito in base all'hardware. VMware Workstation e Oracle VirtualBox sono esempi di hypervisor di tipo 2.
Perché utilizzare una macchina virtuale
Uno dei motivi principali è 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 l'esigenza di acquistare un maggior numero di risorse fisiche quali dischi o unità, e la necessità di incrementare alimentazione, spazio e tecnologie di raffreddamento nel data center. Le VM offrono ulteriori opzioni 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 fa delle 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.
Soluzioni Red Hat per la virtualizzazione
Da molto tempo Red Hat sostiene lo sviluppo della virtualizzazione software, contribuendo, ad esempio, all'ottimizzazione dell'hypervisor KVM e ai progetti KVM e oVirt fin dalla fondazione di entrambe le community.
Oggi, l'hypervisor KVM è al centro di tutte le principali distribuzioni di virtualizzazione OpenStack® e Linux. Inoltre, ha stabilito nuovi record in fatto di prestazioni complessive e per l'esecuzione del più elevato numero di VM a prestazioni elevate su un unico server.
Red Hat® OpenShift® Virtualization è una funzionalità di Red Hat OpenShift che consente di eseguire e gestire parallelamente i carichi di lavoro delle macchine virtuali (VM) e dei container.