A volte nel corso del lavoro è necessario utilizzare 2 o più sistemi operativi contemporaneamente. Ad esempio, per testare le applicazioni su diverse versioni di Windows e Linux. Non è necessario reinstallare il sistema operativo o installare computer aggiuntivi per eseguire questa operazione. Basta sapere cos’è una macchina virtuale (VM).
Indice dei contenuti
Cos’è una macchina virtuale?
Una macchina virtuale è un contenitore software completamente isolato che può eseguire il proprio sistema operativo e le proprie applicazioni come un computer fisico. Una macchina virtuale funziona esattamente come un computer fisico e contiene le proprie CPU virtuali (ovvero software), RAM, disco rigido e scheda di interfaccia di rete (NIC).
Con le macchine virtuali, gli utenti possono testare il software in vari ambienti (sistemi, configurazioni, ecc.) sul proprio PC senza dover avviare e configurare un dispositivo separato.
Il sistema operativo, le applicazioni e gli altri computer della rete non sono in grado di distinguere tra una macchina virtuale e un computer fisico. Anche la macchina virtuale stessa si considera un computer materialmente esistente. Tuttavia, è costituito esclusivamente da software e non contiene assolutamente componenti hardware.
Cosa si può fare con una macchina virtuale?
Quindi, sulla macchina host, puoi creare molti computer con vari parametri. Pertanto, le possibilità della macchina virtuale sono piuttosto ampie:
- Test di prodotti informatici
Gli sviluppatori e gli utenti possono verificare come funzionano programmi e servizi in vari ambienti grafici, sistemi operativi. Ciò consente di identificare tempestivamente gli errori, perfezionare il prodotto.
- Garantire la sicurezza delle informazioni
Ci sono situazioni in cui lo sviluppo di un programma su un host è troppo rischioso. Ad esempio, le applicazioni potrebbero entrare in conflitto tra loro e il codice si comporterà in modo diverso da quello previsto dallo sviluppatore. Oppure potrebbe verificarsi una perdita di dati. Per evitare tali problemi, è possibile isolare o limitare l’accesso a una macchina virtuale.
- Archiviazione di backup
Poiché il sistema operativo si presenta come una macchina virtuale, in caso di guasti e problemi, l’utente sarà sempre in grado di utilizzare la copia, che elimina la perdita o il danneggiamento di dati importanti.
- Utilizzo di prodotti informatici esclusivi
Alcuni programmi o applicazioni non funzionano su tutti i sistemi operativi. Per utilizzarli, è necessario installare una macchina virtuale con Windows, Linux o MacOS, rispettivamente.
- Esecuzione di più copie della stessa applicazione
Tale azione è rilevante nella fase di test o dopo che un nuovo prodotto è entrato nel mercato.
- Software di hosting su server remoti
VDS (VPS) è un server virtuale che imita l’hardware reale. Può essere affittato per ospitare singoli computer, il che consente di risparmiare le risorse del proprio dispositivo.
- Emulazione di un ambiente informatico non standard
L’utente ha la possibilità di salvare le impostazioni e la volta successiva ricominciare da dove si era interrotto. Non devi passare attraverso l’intero processo tutto il tempo.
Come funzionano le macchine virtuali:
- Tecnologie di virtualizzazione
La definizione di macchina virtuale fornisce una comprensione di base di come funzionano le cose, ma andremo un po’ oltre. L’esecuzione di una VM è possibile grazie alla tecnologia di virtualizzazione. Ti consente di utilizzare l’hardware esistente per crearne copie virtuali. La virtualizzazione imita digitalmente l’hardware per eseguire più sistemi operativi completi su un singolo computer, uno alla volta o contemporaneamente. L’hardware fisico in questo caso è chiamato host e l’hardware virtuale è chiamato sistema operativo guest.
La virtualizzazione dei server consente di eseguire più sistemi operativi sullo stesso server, ciascuno con configurazioni e impostazioni diverse. Le tecnologie di virtualizzazione mascherano le risorse del server, inclusi il numero ei parametri dei singoli server, processori e sistemi operativi. La virtualizzazione dei server alloca le proprie risorse a molte istanze astratte di programmi (istanze) che girano sulle risorse condivise dei server e le utilizzano come un unico pool o, più semplicemente, un “pool comune”.
Inoltre, la virtualizzazione dei server consente di spostare facilmente le macchine virtuali VM (Virtual Machine) da un server fisico a un altro. In questo modo è possibile migliorare il regime di temperatura nella sala computer del data center, poiché tutti i server fisici verranno caricati uniformemente.
Se distribuisci uniformemente il carico sul server virtuale, sarà in grado di rispondere più velocemente alle richieste e aumenterà anche la disponibilità dei server.
- Hypervisor: separare il software dall’hardware fisico
L’intero processo è controllato da un’applicazione chiamata hypervisor. L’hypervisor è responsabile dell’allocazione delle risorse fisiche tra i sistemi virtuali, allocando una certa quantità di RAM o spazio su disco rigido. Monitora inoltre tutti i processi in esecuzione nel sistema operativo guest in modo che non vi siano carichi eccessivi e guasti del sistema dovuti alla mancanza di risorse. È l’hypervisor che consente di eseguire più macchine virtuali (server) su un server e possono funzionare su diversi sistemi operativi.
Diversi tipi di hypervisor vengono utilizzati in diversi scenari.
Hypervisor di tipo 1. Viene eseguito direttamente sull’hardware del server fisico. Pertanto, è chiamato “un hypervisor bare metal”. Le macchine virtuali funzionano proprio nel suo ambiente.
Tipo di hypervisor 2. Viene eseguito sopra il sistema operativo del server fisico. In questo caso, proprio come nel caso del tipo 1, le macchine virtuali lavorano nell’ambiente di questo hypervisor. I sistemi operativi su cui vengono eseguite le macchine virtuali sono chiamati sistemi operativi guest. Le applicazioni possono essere eseguite sia su macchine virtuali VM nel sistema operativo guest, sia direttamente su un server fisico nel proprio sistema operativo.
In entrambi i casi, le macchine virtuali e le risorse hardware che utilizzano sono logicamente completamente isolate l’una dall’altra. È in questo isolamento logico che risiede il significato della virtualizzazione.
- Contenitore
La containerizzazione è un altro tipo di virtualizzazione, i container virtualizzano solo il sistema operativo e non tutto l’hardware sottostante. Allo stesso tempo, lo stesso nucleo del sistema operativo, ovvero il suo modulo centrale, può servire non una, ma diverse istanze isolate di spazio utente: aree del sistema operativo destinate ad applicazioni e dati di un determinato utente. Queste aree sono chiamate contenitori.
Questa tecnologia prevede l’installazione iniziale del sistema operativo sull’host. Successivamente, i contenitori vengono installati sopra. Di norma, ciò avviene tramite l’utilizzo di un gestore speciale che esegue la funzionalità dell’hypervisor.
Questi contenitori contengono il codice, gli strumenti di sistema, il runtime, le librerie di sistema e le impostazioni necessarie per eseguire le applicazioni. Vengono spesso utilizzati quando più applicazioni devono essere eseguite sullo stesso sistema operativo. I contenitori sono completamente isolati, i programmi di contenitori diversi non possono interagire tra loro.
I contenitori vengono utilizzati in applicazioni distribuite su un’infrastruttura cloud privata o pubblica, nonché per il confezionamento di applicazioni legacy per semplificarne l’implementazione, anche quando vengono trasferite su un altro server.
C’è una differenza importante tra le tecnologie ei container delle macchine virtuali (VM). I contenitori non funzionano con file e strumenti di sistema di terze parti, mentre le macchine virtuali utilizzano un pool di risorse separato dal proprio sistema operativo. Per lavorare con il contenitore sono necessarie solo le risorse, altrimenti il processo è più simile alla condivisione dei componenti da parte del sistema operativo. Ciò conferisce al contenitore un vantaggio rispetto alla VM non solo nella velocità di avvio, ma anche nel grado di carico del sistema, soprattutto durante l’avvio.
Vantaggi dell’utilizzo di macchine virtuali
- Sulla base delle caratteristiche di varie macchine virtuali, possiamo concludere che possono essere utilizzate su qualsiasi computer. Ciò consente di risparmiare risorse di sistema e denaro, poiché non è necessario acquistare un dispositivo aggiuntivo.
- Anche sistemi operativi e software obsoleti possono essere installati su una VM per testare vari prodotti o per uso personale, anche per nostalgia di vecchi giochi. Ciò non richiede il riavvio del computer.
- È possibile creare istantanee, ovvero copie di dati o stato del sistema. Ciò consente di eseguire il rollback alle configurazioni utilizzate in precedenza. Tale processo è rilevante se viene rilevato un errore critico dopo aver apportato modifiche.
- In caso di forza maggiore, è più facile riavviare rispetto a un normale computer. Inoltre, puoi reinstallarlo con tutte le stesse impostazioni e file, ecco a cosa serve l’immagine della macchina virtuale.
- Puoi spegnere il PC o passare a un’altra attività mantenendo lo stato corrente della macchina. Se decidi di continuare a lavorare, la VM si avvierà nello stato in cui si trovava al momento dell’arresto.
- Nella macchina virtuale è possibile creare istantanee che consentono di eseguire il rollback alle configurazioni precedenti. Questo è utile se si è verificato un errore critico durante il test del software instabile. Rispetto al sistema principale, alla VM viene allocato meno spazio su disco e il rollback a uno stato iniziale è più rapido.
- La macchina può essere salvata o duplicata come sandbox. Può essere eseguito successivamente o copiato su un altro PC. Le configurazioni specificate verranno salvate.
- La VM, insieme a tutti i dati, viene facilmente trasferita da un PC all’altro. Il software portatile per una macchina virtuale memorizza le informazioni in un singolo file (come immagine di sistema) su un computer fisico. Per trasferire, basta spostare questo file.
- La VM non prende il posto della memoria permanente, ma opera sulla memoria temporanea allocata. Tutte le azioni vengono registrate sotto forma di registro, che viene cancellato alla fine di ogni sessione.
- È possibile archiviare più macchine virtuali con più sistemi operativi in stati diversi su un singolo dispositivo.
Ci sono anche diverse aree di applicazione per la virtualizzazione:
- Consolidamento del server.
- Sviluppo e test di applicazioni. Con la maggior parte dei prodotti di virtualizzazione, puoi eseguire più sistemi operativi su un singolo dispositivo. Questo approccio è utile per chi sviluppa e testa software su diverse piattaforme e con diverse configurazioni.
- Attività commerciale. L’approccio più creativo e completo. Ciò include tutto ciò che riguarda le risorse IT nel mondo degli affari. Un esempio è la creazione di copie di backup di server e stazioni funzionanti, l’impostazione di sistemi di ripristino. Si tratta di soluzioni aziendali che sfruttano i principali vantaggi delle macchine virtuali.
- Postazioni di lavoro virtuali. Con una macchina virtuale, puoi configurarne l’utilizzo su qualsiasi altro computer, creare modelli di VM per risolvere determinate attività.
Programmi per la creazione di una macchina virtuale
Esiste un gran numero di programmi diversi per la creazione e la gestione di computer virtuali. Ma in termini di funzionalità, praticità e costo, individueremo i programmi più popolari per gli utenti ordinari: VMware (gratuito per uso personale VMware Player, VMware Workstation a pagamento), VirtualBox (Oracle VirtualBox è gratuito), Parallels Desktop per Windows/Linux , QEMU, Parallels (per computer che eseguono Mac OS X), Windows Virtual PC (in Windows 7, a partire dall’edizione Pro, è supportata l’installazione gratuita dell’ambiente virtuale Windows XP Mode), Hyper-V (funziona nelle versioni x64 bit di Windows, a partire da Windows 8).
Desideri parlare con un nostro esperto? Contattaci
Ultime News Data Center
-
-
Quali sono le differenze tra SQL Server e Oracle?
13 Maggio 2024 -
Cos’è e come fare monitoraggio di Microsoft SQL Server
23 Aprile 2024 -
Guida SQL Server, tutto quello che devi sapere
19 Aprile 2024 -
FaaS: Cos’è, Come funziona, Vantaggi, Casi d’uso ed Esempi
26 Febbraio 2024 -
Cos’è un server, come funziona, tipologie
15 Febbraio 2024