Sistema cluster con server virtualizzati
Massima affidabilità, assoluta continuità del servizio e incremento delle capacità computazionali.
Una volta c'era il server...
Nelle configurazioni tradizionali vi sono delle macchine server che ospitando un certo sistema operativo consentono di erogare dei servizi. Su ogni macchina può funzionare, in modo tradizionale, un solo sistema operante direttamente sull'hardware e da esso dipendente.
In caso di guasto bisogna reinstallare il sistema, tutti i software e i vari aggiornamenti e configurazioni con notevole spreco di tempo, oltre al fermo macchina necessario alla riparazione.
Ogni computer è composto da diverse parti che possono guastarsi con più o meno grave danno per il sistema; di certo ve ne sono di più onerose al ripristino come i dischi e le schede madri poiché richiedono il maggior lavoro per la ripresa del servizio.
Cos'è un cluster?
Un computer cluster, o più semplicemente un cluster (dall'inglese grappolo), è un insieme di computer connessi tramite una rete telematica. Lo scopo di un cluster è quello di distribuire una elaborazione molto complessa tra i vari computer componenti il cluster. In sostanza un problema che richiede molte elaborazioni per essere risolto viene scomposto in sottoproblemi separati i quali vengono risolti in parallelo. Questo ovviamente aumenta la potenza di calcolo del sistema.
Si tratta quindi di erogare il servizio attraverso più macchine. Vi sono due tipi di cluster: ad alta affidabilità, che garantiscono la minima interruzione di servizio possibile, e quelli computazionali, che invece offrono un medesimo servizio agglomerando la potenza di calcolo complessiva.
Il progetto si fonda su tecnologie dei cluster per l'alta affidabilità e permette di garantire una continuità di servizio ben al di sopra di quella caratteristica dei sistemi a macchina singola.
Cos'è la virtualizzazione?
Vi sono dei prodotti software che permettono il funzionamento di sistemi operativi diversi, anche in contemporanea, sullo stesso hardware, garantendo loro un substrato di funzioni altrimenti non possibili.
Ad esempio i dischi che un sistema virtuale utilizza sono, sull'hardware, dei file e come tali possono venir conservati a titolo di backup.
Anche le periferiche come le varie schede e controller vengono offerte dal sistema base a quello ospite in modo sempre uguale e standardizzato, azzerando di fatto la necessità di reinstallare i software di controllo ad ogni modifica all'hardware.
I sistemi di virtualizzazione inoltre consentono di monitorare in tempo reale l'attività dei sistemi ospitati e segnalare anomalie.
Per il fatto di poter ospitare sistemi diversi contemporaneamente è chiaro come si possano virtualizzare sistemi diversi su uno stesso hardware ottimizzando il consumo di risorse che verrebbe quindi ripartito in modo più efficace rispetto alle soluzioni tradizionali.
La soluzione cluster + virtualizzazione diviene vantaggiosa soprattutto quando si posseggono diversi server il cui hardware sia ormai datato: in questi casi è conveniente intervenire prima che sussistano guasti dovuti all'età delle macchine.
Come funziona?
Si supponga di avere due server, anche diversi – ad esempio uno basato su Windows e uno basto su Linux, operanti su macchine datate.
Il rischio di guasto è alto ma è alta anche la possibilità che i servizi divengano troppo onerosi per l'hardware che comunque sarebbe da sostituire. Si consideri però che grazie all'evoluzione del mercato le macchine ora disponibili sono di gran lunga superiori per potenza, capacità e affidabilità rispetto a quelle anche di solo pochi anni fa. Le nuove tecnologie, potrebbero di conseguenza essere ben che sovradimensionate se si dovessero riportare i sistemi server uno per macchina.
In quest'ottica si installano due macchine con prodotti di virtualizzazione e i necessari sistemi di gestione. I server precedenti vengono quindi convertiti in modo da poter funzionare come sistemi ospite e vengono fatti funzionare in modo virtuale su un solo hardware. Questo sarà la macchina principale (Master).
Grazie a delle procedure automatiche la macchina secondaria (Slave) viene sincronizzata in tempo reale con la Master. In caso di guasti a quest'ultima si potrà provvedere a riattivare il funzionamento dei due server virtuali nel punto in cui il server reale si era fermato precedentemente.
Il tempo necessario affinché queste procedure siano completate è nell'ordine dei minuti.
Sfruttando inoltre la possibilità dei prodotti per la virtualizzazione di “fotografare” una macchina virtuale su dei file separati, nel caso in cui il guasto dovesse intervenire in modo corruttivo, sarà possibile sull'hardware slave riportare la macchina virtuale al momento dell'ultima fotografia. Anche questo avviene in pochi minuti.
Ad esempio, effettuando le fotografie ogni notte, in caso di guasto anche ai sistemi ospiti o in caso di installazioni software dall'esito incerto sarà possibile in pochi minuti ripristinare la macchina al suo funzionamento originale.
Naturalmente le fotografie possono essere conservate anche attraverso un sistema di backup e ripristinate all'occorrenza.
Vantaggi e performance
* Riduce il TCO ottimizzando le risorse (Total Cost of Ownership “(TCO), in italiano costo totale di proprietà o costo totale di possesso, è un approccio sviluppato da Gartner nel 1987, utilizzato per calcolare tutti i costi del ciclo di vita di un’apparecchiatura informatica IT, per l’acquisto, l’installazione, la gestione, la manutenzione e il suo smantellamento.)
* Interviene automaticamente in caso di guasto portando l'offline a pochi minuti
* Semplifica successivi aggiornamenti
* Consente di testare gli aggiornamenti ed al caso effettuare un rollback
* Garantisce il monitoraggio (anche remoto) di guasti e risorse
* Permette di semplificare le politiche di backup del sistema
Le performance?
I prodotti di virtualizzazione adottano tecnologie di ottimizzazione che possono, in alcuni casi, anche far sì che un sistema virtualizzato sia più efficiente dell'analogo reale.
Grazie ai sistemi di monitoraggio è comunque possibile conoscere lo stato di carico di ogni sistema virtuale e programmare eventuali miglioramenti. Anche immaginando di dover effettuare pesanti aggiornamenti all'hardware, le macchine virtuali da un lato continueranno a funzionare sulla macchina secondaria senza quindi interruzioni di servizio se non minime, dall'altro potranno venir migrate sulla nuova macchina principale senza modifiche.
Monitoraggio e allarmistica
Come servizi aggiuntivi possono venir configurati servizi di monitoraggio sia dello stato delle macchine virtuali che dell'hardware. All'occorrenza (dipende dalla configurazione della rete) possono venir generati degli allarmi, sia interni che ad un servizio di assistenza esterno e registrati i dati di carico con produzione di grafici.
Immaginate di arrivare al lavoro la mattina e trovare il tecnico già lì perché ha ricevuto l'allarme.
Inoltre, grazie ai prodotti di virtualizzazione, alcuni interventi di manutenzione o ripristino possono essere effettuati da remoto senza dover per forza recarsi presso la sede.
Esempi di monitoraggio remoto dello stato delle macchine fisiche e virtuali.