ioIn futuro, saremo in grado di utilizzare tali sistemi di realtà virtuale perfettamente realizzati per essere quasi indistinguibili dalla realtà. Ambienti che non ci sono, ma li puoi vedere e sentire. Anche se non siamo ancora lì per noi stessi, siamo lì nel caso dei nostri computer. La tecnologia di virtualizzazione crea questa possibilità per i nostri computer. Questo ha varie applicazioni e principi di funzionamento e cercheremo di spiegarteli un po ‘più in dettaglio.

Macchina virtuale e le sue esigenze

introduzione

L’esecuzione di un intero sistema operativo richiede tradizionalmente un set di hardware essenziale, tutto a disposizione del sistema operativo. Per eseguire più sistemi operativi, ciò che potrebbe essere fatto è anche l’avvio multiplo, ma in tal caso non è possibile eseguire due sistemi operativi contemporaneamente. Le macchine virtuali ci hanno fornito la possibilità di utilizzare più di un sistema operativo contemporaneamente sullo stesso set di hardware.

Nel caso di una macchina virtuale, ci sono alcuni punti ovvi che possiamo fare. Proprio come abbiamo iniziato questo articolo, è una specie di VR per sistemi operativi. Le VM che creiamo utilizzano hardware “virtuale”. L’hardware utilizzato dal sistema operativo ospitato è reale come qualsiasi altro quando si tratta della comprensione di quel sistema operativo stesso, ma il sistema operativo è fatto solo per guardarlo in quel modo. La RAM, l’archiviazione e la potenza del processore utilizzate dal sistema operativo sono l’utilizzo di solo frazioni dell’hardware reale. Tutta questa virtualizzazione e gestione viene eseguita da qualcosa chiamato hypervisor.

Hypervisor

Un hypervisor è firmware, software o hardware che è il componente centrale di una VM. Chiariamo qui un po ‘di terminologia: il sistema su cui vengono installate le VM si chiama sistema host, e le macchine installate sulle VM sono chiamate sistemi guest. L’hypervisor è il livello che gestisce tutte le risorse tra le VM e l’hardware effettivo del sistema (o il sistema operativo che ospita l’hypervisor). Anche se i sistemi operativi vengono eseguiti su hardware virtuale, è compito dell’hypervisor far sembrare che il sistema operativo abbia accesso all’hardware reale.

Gli hypervisor forniscono un confine stabile e inespugnabile tra i diversi sistemi operativi eseguiti come VM. L’hypervisor simula i componenti hardware per la VM, che sono configurati dall’utente. L’hardware utilizzato dalle VM (tramite hypervisor) sono frazioni dell’hardware effettivo del sistema. Pertanto, non si possono superare i limiti dell’hardware reale. Ad esempio, se disponi di 16 GB di RAM, puoi suddividerla in 8 GB tra due VM.

Il punto critico è che la tecnologia che rende possibili le VM: hypervisor; non richiede alcun hardware speciale. È solo un componente software essenziale. Esistono due tipi significativi di hypervisor:

Tipo 2: hypervisor ospitati

Sono consapevole che sto dimostrando il tipo 2 prima dell’1, ma c’è una sequenza. Gli hypervisor ospitati rimangono a livello di applicazione. Questo potrebbe esserti familiare se hai mai usato Oracle VM VirtualBox, VMWare o GNOME Boxes.

Questa è un’applicazione che ti consente di installare un sistema operativo come macchina virtuale all’interno del tuo sistema operativo (il sistema operativo in cui è installata l’applicazione stessa). Questo è notevolmente facile da configurare e utilizzare. Tutto quello che devi fare è installare un’applicazione che ti consenta di creare VM e ottenere un’immagine del sistema operativo richiesto. È possibile specificare direttamente la quantità di RAM, spazio su disco rigido, ecc. Che si desidera consentire alla VM di utilizzare.

Ci sono aspetti positivi significativi nell’utilizzo di un hypervisor ospitato, specialmente per utenti regolari come noi. Tuttavia, c’è un problema. La struttura abituale di un sistema informatico segue questa sequenza:

  • Hardware fisico
  • Firmware
  • Autisti
  • Sistema operativo
  • Applicazioni

Entrando un po ‘negli aspetti tecnici, il software che usiamo su un sistema informatico ha diversi “privilegi”. Ad esempio, se si consente a qualsiasi software di accedere alla configurazione delle prestazioni del processore, si può andare avanti e rovinare facilmente l’intero sistema. Questa è una cattiva pratica di sicurezza. In realtà, ciò che accade è che il kernel di un sistema operativo interagisce con l’hardware. Se un’app richiede l’accesso a qualsiasi componente hardware, può inviare una richiesta al kernel e il kernel fornirà una risposta appropriata. Queste richieste vengono chiamate chiamate di sistema o syscalls.

Ora prendiamo il caso di una VM su un hypervisor ospitato. Ad esempio, esegui un’applicazione sul SO guest. Questo invierà una syscall al kernel del SO guest. Questo, a sua volta, verrà interpretato e convertito in un’altra syscall dall’hypervisor, che ora invierà quella syscall al kernel del sistema operativo host (perché ricorda, l’hypervisor ospitato è solo un’altra applicazione per il sistema operativo host). Il kernel del sistema operativo host invierà la risposta all’hypervisor, che dovrà ora essere convertito nella risposta appropriata per l’applicazione nel sistema operativo guest. Uff.

Tutto ciò significa che gli hypervisor ospitati devono affrontare un processo piuttosto lungo. Sulla maggior parte dell’hardware moderno, non ci vuole tutto il tempo che sembra, ma non è come la velocità e le prestazioni native. La soluzione a questo problema è l’hypervisor di tipo 1.

Hypervisor ospitato
Hypervisor ospitato

Tipo 1: hypervisor bare metal

Dritto al punto, l’hypervisor bare metal si trova in cima al livello firmware / driver. Ciò significa che può interagire direttamente con l’hardware, proprio come un sistema operativo. Tutti i sistemi operativi richiesti verranno installati sopra l’hypervisor bare metal e le applicazioni sopra. Ciò aggiunge diversi vantaggi. Tutti i sistemi operativi installati sull’hypervisor funzionano molto bene, quasi come sistemi operativi nativi, con lag o balbuzie minimi. Se l’hardware su cui viene installato l’hypervisor è potente (come di solito accade con i computer oi server da gioco), sarà in grado di gestire più sistemi operativi abbastanza facilmente.

Hypervisor bare metal
Hypervisor bare metal

Alcuni esempi comuni di hypervisor bare metal includono VMWare ESXi, Microsoft Hyper-V, Citrix XenServer, Xen, Linux KVM, ecc.

Contenitori

I contenitori sono in qualche modo simili alle VM, ma c’è un po ‘di differenza. Come abbiamo visto nel caso degli hypervisor ospitati, le VM vengono utilizzate per installare un intero sistema operativo, quindi le applicazioni vengono installate e utilizzate su tali sistemi operativi. Un contenitore, d’altra parte, impacchetta il codice di un’applicazione, le sue dipendenze, gli strumenti, le librerie, i runtime e tutte le altre cose richieste ed esegue solo quell’applicazione in un ambiente virtuale.

Contenitore
Contenitore

L’immagine renderà la gerarchia più chiara. Si noti che il contenitore viene installato sopra il sistema operativo e quindi le applicazioni vengono eseguite direttamente all’interno del contenitore. Non è presente alcun sistema operativo all’interno del contenitore, come nel caso delle VM.

Utilizza

Quindi, abbiamo già approfondito i dettagli dei principi di funzionamento delle VM. È ora di capire come può essere utile in scenari di vita reale.

Postazioni di lavoro multiple da un unico sistema

Il primo punto e il principale punto di forza delle VM è il fatto che è possibile utilizzare più sistemi operativi, separati l’uno dall’altro, contemporaneamente, dalla stessa macchina. Questo apre incredibili possibilità. Ad esempio, se hai bisogno di due workstation nello stesso luogo, puoi acquistare un potente sistema in grado di eseguire due sistemi separati contemporaneamente. Ciò si rivelerà davvero molto efficiente.

Anche questo ha un uso diffuso. Se hai bisogno di un’applicazione che gira su un sistema operativo che non utilizzi, non devi installare il sistema operativo sul tuo computer. È possibile installare un software hypervisor ospitato sul sistema operativo e installare il sistema operativo supportato. È molto più facile da gestire e porta a termine il lavoro.

Utilizzo massimo

Il massimo utilizzo delle risorse è il motivo per cui la virtualizzazione è molto popolare per i server. Un server è un computer molto, molto potente. È difficile per un singolo sistema operativo effettivamente utilizzare completamente le risorse dell’hardware. Soluzione? Installa un hypervisor bare metal ed esegui più sistemi operativi che insieme utilizzano l’hardware nella loro interezza.

Pertanto, le VM garantiscono il massimo utilizzo delle risorse. Ma non stiamo parlando solo dei server. Ad esempio, se si dispone di un potente computer da gioco, è possibile invece utilizzare interamente il suo hardware, ad esempio, utilizzando un sistema operativo come workstation principale e uno come NAS. O forse un numero più significativo di sistemi operativi e attività.

Efficienza Energetica

Poiché ora è possibile eseguire due sistemi utilizzando una macchina invece di due macchine separate per due sistemi diversi, si risparmia molta elettricità ed energia. È buono per la bolletta dell’elettricità; è anche indubbiamente un bene per l’ambiente.

Spazio fisico / mobilità

Puoi usare una macchina per più sistemi invece di vari dispositivi, quindi ora risparmi naturalmente molto spazio fisico. Ciò significa che se ottieni una macchina molto potente, puoi soddisfare i requisiti di più macchine, quindi se devi spostare la tua infrastruttura da un luogo a un altro, ora dovrai spostare hardware fisico inferiore rispetto a quello che altrimenti dovresti fare tradizionalmente .

Recupero

Questa è una caratteristica utile. Le VM hanno la proprietà di acquisire “istantanee”. Poiché l’intero sistema è virtuale, le VM creano copie delle proprietà, delle impostazioni e dei dati a determinati intervalli di tempo. Quindi, se il tuo sistema viene incasinato o danneggiato a un certo punto nel tempo, puoi tornare a uno degli stati stabili e non ci sarà molto danno.

Area di prova

Una VM (anzi, anche un container) viene spesso utilizzata come banco di prova. Qualsiasi problema che potresti creare in una configurazione virtuale non può danneggiare l’hardware reale, e quindi, lo rende un luogo ideale per il test del nuovo software (in particolare il firmware). Gli sviluppatori spesso utilizzano le VM per verificare la compatibilità anche con diversi sistemi operativi.

Conclusione

Le macchine virtuali ci hanno fornito molti miglioramenti rispetto ai nostri vecchi metodi. Ora possiamo eseguire i sistemi in uno spazio più piccolo, in modo più efficiente e più sicuro. Sono diventati una soluzione semplice per l’utilizzo di software che non è supportato nativamente dal tuo sistema operativo. Le VM sono diventate un rifugio per scopi di test, tutto sommato ideali per cause personali, professionali e ambientali.

Ci auguriamo che tu abbia trovato quell’articolo informativo e utile.

Esegui l'accesso per Commentare