Regole base di approccio al clustering

L’aumentata disponibilità di hardware e software, condizione necessaria per supportare al meglio questa tecnologia, fa sì che la configurazione a grappolo sia tra le più indicate per migliorare le prestazioni globali della rete. Un po’ di chiarezza sui costi di implementazione.

Concetto relativamente nuovo (sebbene società del calibro di Digital Equipment, Ibm e Sun Microsystems abbiano proposto tale soluzione per anni), il clustering accresce la disponibilità delle risorse e la scalabilità dei computer (o nodi) collegati in gruppo, rispetto alle potenzialità dei sistemi singolarmente considerati. Ogni nodo possiede risorse proprie (processori, I/O, memoria, Os, dischi) ed è responsabile per un sottoinsieme di utenti. La maggiore disponibilità di risorse è legata al failover, vale a dire che quando un nodo si guasta, gli altri si prendono carico delle potenzialità collegate al primo. La scalabilità del sistema cluster è caratterizzata dalla possibilità di aggiungere potenza di calcolo o capacità di disco senza interruzione del servizio. È possibile, infatti, porre un nodo in stato di fail e farne assumere le risorse dagli altri mentre si effettua l’upgrade hardware, per poi rimetterlo online con la gestione delle risorse originali. Per ottenere questo risultato, ogni nodo deve essere dotato di un "software cluster" che fornisce i servizi di riconoscimento guasti e il relativo recovery delle risorse e che gestisce i server come se fossero un sistema unico. I nodi all’interno del cluster, poi, devono essere connessi in modo da poter rilevare lo stato di tutti gli altri. Normalmente, questo aspetto si realizza con un collegamento via rete locale, utilizzando schede di interfaccia dedicate che garantiscono la comunicazione: il link tra i sistemi è del tipo "battito cardiaco" per monitorare con continuità la stabilità delle risorse. In generale, il clustering, che dovrebbe essere utilizzato per applicazioni mission critical, annovera tra i principali sostenitori gli istituti bancari e finanziari, le organizzazioni legate alla sanità e gli utenti di data warehouse e di sistemi Erp.

Compatibilità e costi


Le implementazioni di un clustering vero e proprio sono, tuttavia, relativamente poco numerose rispetto alla diffusione delle tradizionali tecnologie di fault tolerance o del mirroring dei server. Esistono diverse teorie che cercano di spiegare i motivi di questa scarsa diffusione. Secondo la società di consulenza statunitense Cimi, la richiesta di server applicativi specializzati sta aumentando, ma a livello di workgroup il numero di client coinvolti non è sufficientemente elevato per giustificare gli investimenti. Inoltre, data la situazione tipica delle imprese medio-piccole in Italia, i costi contribuiscono al rallentamento.


Sebbene il tradizionale scenario di backup pianificato sia generalmente meno caro del clustering basato su Fibre Channel e su San (che non richiede la presenza di server fra le risorse di memorizzazione e la rete), la configurazione a grappolo è in grado di replicare i dati con una frequenza maggiore rispetto alle tecniche standard. Di conseguenza, occorre valutare l’importanza dell’aggiornamento dei dati rispetto al costo derivante dalla sua implementazione.


Oltre ai costi, un secondo aspetto da prendere in considerazione prima di effettuare l’investimento è quello dell’hardware di interconnessione. Interfacce potenziate e a elevata velocità come Scsi-3 e UltraScsi, schede di rete con migliori prestazioni, bus, bridge e Cpu con più alti livelli di funzionalità permetteranno di migliorare le funzionalità della tecnologia. In ogni caso, saranno necessarie ulteriori riduzioni nei prezzi prima che queste unità diventino un’alternativa reale su vasta scala. Il problema è che i tempi evolutivi potrebbero risultare alquanto lunghi.


L’offerta è strettamente legata al fatto che la rete si basa su prodotti Intel oppure su server Risc e su sistemi proprietari come OpenVms di Digital e Rs/6000 di Ibm, che possono teoricamente supportare centinaia di nodi.


Unix ha la meglio quando si parla di clustering considerando l’adattabilità strutturale di questo sistema operativo alla distribuzione fra più server. Hewlett-Packard, ad esempio, ha raggiunto buoni risultati in tale segmento, pur avendo sviluppato alternative alle applicazioni su mainframe, alcune delle quali consentono un clustering di elevata disponibilità. Anche Sun Microsystems permette di effettuare la configurazione a grappolo, in particolare quella a quattro nodi, e comprende il supporto a sistemi basati sulla tecnologia fibre channel.

La scelta della soluzione


Anche per l’architettura (che deve essere flessibile e consentire i cambiamenti necessari nel momento stesso in cui il carico di lavoro viene ad aumentare) si pongono i problemi legati agli standard. Nel caso della configurazione a grappolo, la Virtual interface architecture (Via) costituisce lo standard per lo sviluppo di hardware e software specifico. Sponsorizzato da Compaq, Intel e Microsoft, consente ai fornitori di utilizzare applicazioni che non tengono conto del sistema operativo utilizzato, andando a impattare direttamente sugli elementi di interconnessione hardware fra i nodi.


Nella decisione di investire su soluzioni a grappolo pesa anche la valutazione delle alternative possibili. Per garantire la disponibilità di un numero limitato di server, ad esempio, potrebbe essere sufficiente (nonché più economica) una semplice configurazione basata sul failover di due nodi, oppure, nel caso si utilizzi un sistema Symmetric multiprocessing (Smp), procedere all’ottimizzazione delle prestazioni.


Occorre, inoltre, determinare quali sono le applicazioni da inserire nel cluster e valutare l’impatto di altri elementi della rete, per esempio i server e i processori. È importante anche ottenere valutazioni precise sui requisiti di spazio su disco, potenza della Cpu e velocità del bus del sistema. Componenti quali i bus Scsi devono essere configurati in modo appropriato. Dal punto di vista del software, poi, il processo di implementazione può apparire difficoltoso. Per esempio, più copie del middleware devono essere interoperabili e dovrebbero apparire, alle altre applicazioni, come un’entità unica.

Applicazioni e bilanciamenti


Un fattore determinante per ottimizzare la tecnologia di clustering sta nell’utilizzare applicazioni in grado di riconoscere la presenza di tale tecnologia. In caso contrario, la soluzione è quella di aggiungere opportune funzionalità, scrivendo complessi programmi basati sulla conoscenza approfondita delle procedure di installazione tipiche dei software di clustering. Numerose soluzioni, come quelle proposte da Oracle, Ibm e Informix, possono impiegare più processori per migliorare le prestazioni del server Intel, ma ne esistono altre prive di questa capacità.


Un ultimo aspetto da tenere in considerazione quando si prendono in esame questi middleware riguarda il bilanciamento del carico. Teoricamente, funzioni quali la ricerca su database dovrebbero essere implementate in modo da essere distribuite su tutti i server che fanno parte del cluster. Quando si devono gestire unità condivise, è fondamentale che le applicazioni siano sincronizzate correttamente, in modo da evitare problemi derivanti da un degrado della prestazioni. In pratica, i sistemi di memorizzazione devono essere gestiti come risorsa globale, senza essere vincolati ai singoli processori.

LASCIA UN COMMENTO

Please enter your comment!
Please enter your name here