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