Un cluster include i seguenti contenuti:
Configurazione hardware No-single-point-of-failure
I cluster possono includere un array RAID dual-controller, canali multipli della rete e sistemi ridondanti uninterruptible power supply (UPS), per assicurare che nessun errore abbia come conseguenza una interruzione dell'applicazione o una perdita dati.
Alternativamente, é possibile impostare un cluster a basso costo per ottenere meno disponibilitį di un cluster no-single-point-of-failure. Per esempio, potete impostare un cluster con un single-controller RAID array e solo un singolo canale Ethernet.
![]() | Nota |
---|---|
Alcune alternative a basso costo, come il software RAID ed il multi-initiator parallel SCSI, non sono compatibili o appropriati per un uso sullo shared cluster storage. Far riferimento alla Sezione 1.1, per maggiori informazioni. |
Struttura di Configurazione del Servizio
I Cluster vi permettono di eseguire una configurazione individuale dei servizi per rendere i dati e le applicazioni altamente disponibili. Per creare un servizio, č necessario specificare le risorse usate nel servizio e le proprietį per il servizio stesso, includendo il nome del servizio, lo script di inizio e fine dell'applicazione e lo script dello stato, le partizioni del disco i mount point e i membri del cluster sul quale un amministratore preferisce eseguire il servizio. Dopo aver aggiunto un servizio, il software di gestione del cluster conserva le informazioni in un file di configurazione del cluster su di una memoria condivisa, dove tutti i membri possono accedere ai dati di configurazione.
Il cluster fornisce un framework facile da usare per le applicazioni del database. Per esempio, un database service fornisce dati altamente disponibili per un'applicazione del database. L'applicazione operando su di un membro del cluster, fornisce un accesso di rete ai sistemi del database dei client, come i Web server. Se il servizio esegue un failover su di un altro membro, l'applicazione puó ancora accedere ai dati del database condiviso. Un indirizzo IP é generalmente assegnato ad un servizio del database accessibile tramite la rete, il quale viene smistato insieme al servizio per mantenere un facile accesso per i client.
La struttura del servizio del cluster puó essere facilmente estesa anche per altre applicazioni.
Domini di failover
Assegnando un servizio ad un dominio di failover limitato, potete limitare i membri idonei ad eseguire un servizio nel caso in cui si verifica un failover. (Un servizio assegnato ad un dominio di failover, non puņ essere avviato su di un membro del cluster non incluso nel dominio di failover.) Potete ordinare i membri in un dominio di failover in base alla preferenza, in modo cosģ da assicurare che un membro in particolare possa eseguire il servizio (fino a quando il membro č attivo). Se un servizio viene assegnato al dominio di failover non limitato, Il servizio si avvia su qualsiasi membro del cluster che risulta essere disponibile (se nessun membro del dominio di failover č disponibile).
Assicurazione sulla integritį dati
Per assicurare l'integritą dei dati, solo un membro per volta puó eseguire un servizio ed accedere al servizio dati. Usando gli interruttori di alimentazione in una configurazione hardware del cluster, un membro č in grado di baipassare un altro membro prima di inziare nuovamente i servizi durante il processo di failover. Questo procedimento proibisce ai due sistemi un accesso simultaneo degli stessi dati. Anche se non č necessario, é consigliabile che gli interruttori di alimentazione vengano usati per garantire l'integritį dei dati contro tutte le condizioni di errore. I timer Watchdog sono una varietą facoltativa di controllo di alimentazione per assicurare un funzionamento corretto del failover del servizio.
Interfaccia di gestione del Cluster
L'interfaccia di amministrazione del cluster facilita i compiti di gestione, come ad esempio: la creazione, l'avvio e l'arresto dei servizi, il riposizionamento dei servizi da un membro ad un altro, la modifica della configurazione del cluster (per aggiungere o rimuovere i servizi o le risorse); e il controllo dei membri del cluster e dei servizi.
Ethernet channel bonding
Per controllare la salute degli altri membri, ogni membro controlla lo stato dell'interruttore remoto, se presente, ed emette dei segnali ping heratbeat attraverso i canali della rete. Con Ethernet channel bonding, le interfacce Ethernet multiple sono configurate in modo da comportarsi come una sola interfaccia, riducendo il rischio di un single-point-of-failure, in un collegamento Ethernet 'switched' tipico tra sistemi.
Memoria condivisa per informazioni del quorum
Le informazioni condivise dello stato, indicano anche se il membro č attivo. Le informazioni dello stato del servizio indicano altresģ, se il servizio č in esecuzione e quale membro stą eseguendo il servizio. Ogni membro esegue un controllo in modo da assicurare che lo stato degli altri membri sia aggiornato.
In un cluster con due membri, ogni membro registra periodicamente un timestamp e le informazioni sullo stato del cluster, su due partizioni condivise del cluster stesso posizionate sulla memoria condivisa del disco. Per assicurare un corretto funzionamento del cluster, se un membro non é in grado di eseguire una registrazione sulla partizione primaria e quella shadow del cluster condiviso al momento dell'inizio, non sarį concesso al suddetto membro di unirsi al cluster. In aggiunta, se un sistema del cluster non aggiorna il proprio timestamp, e se gli heartbeat presentano un errore nel sistema, il membro verrį rimosso dal cluster.
Figura 2 mostra come i membri comunicano all'interno di una configurazione del cluster. Notare che il terminal server usato per accedere alle console del sistema tramite una porta seriale, non é una componente richiesta del cluster.
Capacitą di failover del servizio
Se si verifica un errore nell'hardware o nel software, il cluster prenderį le azioni appropriate per mantenere disponibile l'applicazione e per conservare l'integritį dei dati. Per esempio, se si verifica un errore in un membro, un altro membro (nel dominio di failover associato, se usato, o nel cluster) inizierį nuovamente i propri servizi. Ricordiamo che i servizi giį in esecuzione su questo membro non vengono interrotti.
Quando il membro che é venuto a mancare esegue un riavvio ed é in grado di scrivere sulle partizioni condivise del cluster, verrą accettato nel cluster ed eseguirą i servizi. A seconda di come i servizi sono configurati, il cluster puó bilanciare nuovamente i servizi tra i membri.
Capacitį di trasferimento Manuale del servizio
In aggiunta al servizio automatico di failover, un cluster vi puņ permettere di arrestare i servizi su di un membro in modo corretto, e di riavviarli successivamente su di un altro membro. Potete eseguire una manutenzione pianificata su di un sistema del membro, continuando ad avere una certa disponibilitį delle applicazioni e dei dati.
Event logging facility
Per accertarsi che i problemi vengano rilevati e risolti prima che essi possano intaccare la disponibilitį del servizio, i demoni del cluster registrano i messaggi usando un sottosistema convenzionale Linux syslog. Potete adattare il livello di restrizione dei messaggi registrati.
Controllo dell'applicazione
L'infrastruttura in un cluster puó controllare facoltativamente la condizione e la salute di un'applicazione. In questo modo, se si verifica un errore specifico, il cluster automaticamente riavvia l'applicazione stessa. In risposta all'errore, la stessa cercherį di eseguire un riavvio sul membro sul quale era inizialmente in esecuzione; se tale procedimento non ha un esito positivo, l'applicazione eseguirą un riavvio su un altro membro del cluster. Potete specificare quale membro č idoneo ad eseguire un servizio, assegnando un dominio di failover al servizio stesso.