Caratteristiche, funzionalità e applicazioni di OpenVZ

Caratteristiche, funzionalità e applicazioni di OpenVZ

OpenVZ

In informatica, OpenVZ (Open VirtualiZation) è una tecnologia di virtualizzazione a livello di Sistema Operativo basata su kernel Linux. OpenVZ alloca un server fisico su cui ‘girano’ multiple istanze di sistemi operativi isolati, noti come containers, Virtual Private Servers (VPS), o Virtual Environments (VE). Ogni container si comporta esattamente come un server stand-alone; un container può essere riavviato in modo indipendente dagli altri e avrà propri:

  • utenti,
  • indirizzi IP,
  • memoria,
  • processi,
  • file,
  • applicazioni,
  • librerie di sistema,
  • file di configurazione.

Inoltre, OpenVZ è basato su i Containers Virtuozzo, un software proprietario prodotto e messo a disposizione dalla società Parallels e si compone di un kernel personalizzato e da tool di livello utente.

Caratteristiche, funzionalità e applicazioni di OpenVZ

Concetto di Virtual Environment

Virtual Environment (VE, conosciuto anche come VPS, container, partizione ecc.) è un ambiente di esecuzione dei programmi isolato, che (dal punto di vista dell’utente) appare come un server fisico separato.
Un VE ha un proprio set di processi di start, file system, utenti (incluso il root), interfacce network con indirizzi IP, tabelle di routing, ecc.
Più VE possono co-esistere all’interno di un singolo server fisico. Differenti VE possono ‘girare’ differenti distribuzioni di Linux, ma ciascuno VE opera sotto lo stesso kernel.

Kernel di OpenVZ

In genere il kernel è il ‘cuore’ di un sistema operativo (nucleo) e fornisce tutte le funzioni essenziali per il sistema, in particolare la gestione della memoria, delle risorse del sistema e delle periferiche, assegnandole di volta in volta ai processi in esecuzione.
Il kernel di OpenVZ è un kernel modificato di Linux che aggiunge le seguenti funzionalità: virtualizzazione e isolamento dei diversi sottosistemi, gestore delle risorse, e checkpointing.

  • La virtualizzazione e isolamento abilita il funzionamento dei diversi ambienti virtuali all’interno del singolo kernel;
  • Il gestore delle risorse dei sottosistemi limita (e in alcuni casi garantisce) l’utilizzo delle risorse come ad esempio CPU, RAM, e spazio sul disco ad ogni VE.
  • Il checkpointing è un processo che ‘congela’ un VE, salvando completamente il suo stato su un file disk, con la possibilità poi di ‘scongelare’ questo stato in futuro.

Le varie componenti sono descritte qui di seguito.

Funzionalità di OpenVZ

Le funzionalità di base OpenVZ VPS sono:

  • Partizionamento Dynamic Real-time – partizionare un server fisico in decine di VPS, ciascuno con tutte le funzionalità di un server dedicato.
  • Resource Management – Assegnazione e controllo dei parametri delle risorse ai VPS e ri-allocazione delle risorse stesse in tempo reale.
  • Gestione di massa – Consente di gestire una moltitudine di server fisici e server privati virtuali in modo unificato.

OpenVZ fornisce una soluzione completa per l’hosting service provider consentendo loro di avere centinaia di clienti con i loro singoli server virtuali con funzionalità complete private (Virtual Private Server) che condividono un singolo server fisico. Se si amministra un certo numero di server dedicati Linux all’interno di un’azienda, ognuno dei quali gestisce un determinato servizio, è possibile utilizzare OpenVZ per consolidare tutti questi server su un singolo computer senza perdere informazioni preziose e senza compromettere le prestazioni.

I Virtual Private Server si comportano proprio come server stand-alone isolati, ovvero:

  • Ogni VPS ha i suoi propri processi, utenti, file e fornisce pieno accesso alla shell di root;
  • Ogni VPS ha i suoi indirizzi IP, i numeri di porta, il filtraggio e regole di routing;
  • Ogni VPS può avere una propria configurazione del sistema e software applicativo, così come le sue versioni di librerie di sistema. E ‘possibile installare software e personalizzare i pacchetti all’interno di un VPS in modo indipendente da altri VPS o il sistema host.

Distribuzioni multiple di un pacchetto possono essere eseguite su una sola e stessa macchina Linux.
In realtà, centinaia di server possono essere raggruppati in questo modo. Oltre agli evidenti vantaggi di tale consolidamento (maggior facilità di somministrazione e simili), ci sono altri vantaggi a cui forse non si è pensato, per esempio, al taglio delle bollette di elettricità!

Applicazioni

Dal punto di vista delle applicazioni e utenti dei Virtual Private Server, ciascuno VPS è un sistema indipendente. Questa autonomia è assicurata da un livello di virtualizzazione nel kernel del sistema operativo host. Si noti che solo una parte infinitesimale delle risorse della CPU viene speso per la virtualizzazione (circa 1-2%).

Le caratteristiche principali dello strato di virtualizzazione attuata da OpenVZ sono le seguenti:

  • Un VPS si presenta come un normale sistema operativo Linux. Ha standard di script di avvio, i software dei fornitori possono essere eseguiti all’interno VPS OpenVZ senza modifiche o specifici di adeguamento;
  • Un utente può modificare qualsiasi file di configurazione e installazione di software aggiuntivo;
  • Virtual Private Server sono completamente isolati gli uni dagli altri (file system, i processi, Inter Process Communication (IPC), le variabili sysctl);

Networking

Infine, lo strato di rete virtualizzato da OpenVZ è progettato per isolare i VPS uno dall’altro e dalla rete fisica:

  • Ogni VPS ha un proprio indirizzo IP, indirizzi IP multipli per ogni VPS sono consentiti;
  • La rete traffico di un VPS viene isolata dalle altre VPS: in altre parole, i Virtual Private Server sono protetti l’uno dall’altro in modo che si renda impossibile lo snooping del traffico;
  • Può essere usato Firewalling all’interno di un VPS (l’utente può creare regole che limitano l’accesso ad alcuni servizi utilizzando lo strumento canonico iptables all’interno delle VPS). E’ possibile quindi impostare le regole del firewall dall’interno di una VPS;
  • Manipolazioni della tabella di routing sono autorizzate a beneficiare di funzionalità avanzate di routing. Ad esempio, impostando diverse unità di trasmissione massima (MTU) per diverse destinazioni, specificare gli indirizzi di origini diverse per diverse destinazioni, e così via.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *