DW-SmartCluster (ver. 2.1) Architettura e funzionamento Produttore Project Manager Versione 1 DataWare srl Ing. Stefano Carfagna pag.1/6 INDICE Introduzione....................................................................................3 ClusterMonitorService...................................................................5 ClusterAgentService.......................................................................6 Versione 1 pag.2/6 Introduzione I sistemi informativi che devono assicurare un servizio attivo 24 ore su 24 sono tipicamente basati su architetture hardware e software adeguati al tipo di servizio che devono svolgere. In particolare devo garantire la disponibilità del servizio anche a fronte di un guasto. Per questo scopo spesso si fa ricorso ad architetture molto costose, se non proibitive, definite come cluster hardware che tipicamente replicano il servizio su più macchine gemelle e garantiscono al mondo esterno il funzionamento di almeno una di esse, in maniera completamente trasparente. Lo SmartCluster di DataWare costituisce una valida alternativa ai più costosi cluster hardware, garantendo allo stesso tempo un livello elevato di disponibilità del servizio, qualunque esso sia. Tipici esempi di servizi sono: - DB server che ospitano un DBMS da poter essere interrogato dall’esterno, da qualunque applicazione; - Application server, con tecnologia Apache Tomcat, IIS, WebSphere, o qualunque altra; - DNS Server, Naming Server, Directory Server, Production Server, Build Server e qualunque altro tipo di server che debba garantire la disponibilità di servizio continuo. Lo SmartCluster è un sistema software che implementa un vero e proprio cluster costituito da due macchine Windows 2003 gemelle in tutto e per tutto, una definita principale e una di backup. Lo SmartCluster monitora la macchina principale e in caso di mancato servizio, provvede a riattivarlo immediatamente sulla macchina di backup, garantendo nel caso sincronia e coerenza dei dati. Di seguito faremo riferimento per esempio ad un servizio DBMS Oracle che deve poter essere interrogato e aggiornato a qualunque ora. Il ripristino del sistema viene eseguito a fronte di un non funzionamento del server principale “SRV01” tale da rendere il DBMS non disponibile (guasto della rete, servizio Oracle non disponibile, guasto del sistema operativo Windows 2003, guasto Hardware). Lo SmartCluster esegue una procedura automatica per ripristinare tutto il servizio in poco tempo sulla macchina server “SRV02” gemella della macchina server principale. In condizioni normali di funzionamento uno script Windows schedulato sul server SRV01 (principale) provvede ogni 24 ore a fermare il servizio Oracle, copiare tutti i tablespace nella cartella appositamente condivisa sul server SRV02 “\\192.168.1.11\SharedOracleTBS\<aaaammgg>” e riavviare Oracle. Dopodichè provvede a copiare di nuovo i tablespace file dalla cartella <aaaammgg> nell’area dati Oracle del SRV02. Il servizio Oracle sul SRV02 è normalmente spento. La figura seguente mostra un esempio della configurazione della rete aziendale e degli indirizzi assegnati alle macchine. Versione 1 pag.3/6 I due server sono anche definiti “DB Server”. Essi sono dotati di tre schede di rete: • una per il collegamento con la rete intranet aziendale • due per il collegamento cross con l’altra macchina server In particolare le schede di rete per il collegamento con la rete ministeriale sono configurate con lo stesso indirizzo IP (10.136.12.100); nel SRV02 è normalmente disabilitata. Questa viene abilitata solamente dopo che si è accertato lo stato di SRV01 spento o non raggiungibile. In questo modo dall’esterno risulterà trasparente qual è il server che fornisce il servizio Oracle. Il prodotto SpartCluster è costituito da due componenti software: • ClusterMonitorService : installato sul server di backup • ClusterAgentService : installato sulla server principale Versione 1 pag.4/6 ClusterMonitorService Il ClusterMonitorService è un servizio Windows installato sulla macchina server SRV02 che monitora costantemente il server principale. In particolare controlla che la macchina sia ancora in funzione (stato running) e che il servizio Oracle sia ancora attivo (Oracle Listener Service attivo e funzionante). A. Se la macchina SRV01 risultasse non attiva (stato down, crash del sistema operativo, alimentazione non disponibile) il ClusterMonitorService provvede ad attivare sul SRV02 la scheda di rete principale (10.136.12.100), avviare i servizi Oracle fondamentali, eseguire qualunque altro tipo di task o script necessario per il sistema informativo. B. Se la macchina SRV01 risultasse attiva (stato running) ma il servizio Oracle non disponibile (Listener down) il ClusterMonitorService provvede ad eseguire uno shutdown remoto di SRV01, attivare sul SRV02 la scheda di rete principale (10.136.12.100), avviare i servizi Oracle fondamentali, eseguire qualunque altro tipo di task o script necessario per il sistema informativo. Lo SmartCluster, nel caso in cui avvenisse l’attivazione del SRV02, invia una nota tramite mail ad una mail list di utenti configurabile. In questo modo si potrà attivare la procedura di intervento sistemistico per individuare la causa del problema, riparare il guasto riscontrato, ripristinare il servizio Oracle su SRV01. Versione 1 pag.5/6 ClusterAgentService Il ClusterAgentService è un servizio Windows installato sulla macchina server SRV01 che monitora costantemente il server stesso. In particolare verifica che il server sia raggiungibile dall’esterno. Questo può venire meno nel caso di connessione di rete disabilitata, cavo di rete staccato, guasto del collegamento in genere. C. Se la macchina SRV01 risultasse non raggiungibile il ClusterAgentService provvede ad eseguire uno shutdown locale di SRV01. Lo spegnimento del server verrà automaticamente intercettato dal ClusterMonitorService sulla macchina SRV02, così come spiegato nello scenario A. In condizioni normali di funzionamento uno script Windows schedulato sul server SRV02 provvede ogni settimana a pulire la cartella “O:\LastOracleTBS”, spostare tutti i salvataggi dei tablespace file che si trovano nella directory “O:\SharedOracleTBS” nella directory “O:\LastOracleTBS”. In questo modo i salvataggi rimarranno disponibili sulla macchina per almeno due settimane, dopodichè vengono eliminati. Versione 1 pag.6/6