Il sistema operativo
Unix offre, da sempre, un ambiente efficente e flessibile
per lo sviluppo delle applicazioni. I sistemi Unix sono
utilizzati efficacemente come server per applicazioni dipartimentali
e per servizi di rete.
La sempre maggiore dei sistemi aperti e l'evoluzione tecnologica
hanno portato alla possibilita' di offrire su Unix,
con costi contenuti e prestazioni altissime,
applicazioni e servizi di livello enterprise per le aziende.
Tali applicazioni richiedono pero' un'affidabilita'
molto elevata, superiore a quella dell'HW utilizzato.
Il fault di una scheda di rete, di un disco o di un intero sistema
non possono compromettere le attivita' aziendali.
Per tale ragione sono stati sviluppati SW che consentono
di aumentare l'affidabilita' dei componenti che gestiscono.
Tra questi e' possibile citare il RAID, i
Volume Manager e, naturalmente, i cluster.
Un cluster e' un'infrastruttura che consente fornire servizi
in condizioni di alta affidabilita'. Fanno parte del cluster una
serie di sistemi, generalmente detti nodi, che ospitano applicazioni
generalmente dette servizi. In caso di fault i servizi sono in grado
di migrare ed essere eseguiti su un nodo differente (failover).
Naturalmente tutte
le connessioni al servizio vengono perdute al momento del fault, ma queste
possono riprendere non appena il servizio viene riprestinato sul
nodo alternativo.
I prodotti di clustering possono differire parecchio tra loro
ma alcune caratteristiche sono comuni.
Una volta configurato e certificato, il cluster e' di semplice
utilizzo e puo' essere gestito normalmente dagli operatori.
Le attivita' piu' comuni sono il controllo dei servizi attivi
e l'eventuale migrazione di questi quando e' necessario
svolgere un'attivita' di manutenzione su un nodo del cluster.
Sul mercato sono disponibili diverse soluzioni cluster.
Tra le principali ricordiamo:
Perdonate: ho rubato le figure... ma non sarei riuscito a fare di meglio!
La prima immagine riporta la tipica configurazione di un sistema
in cluster in cui un'applicazione e' in grado di migrare tra i diversi nodi.
Le figure seguenti riportano invece la parte di accesso allo storage
che puo' essere connesso SCSI in multi-homed o con device "intelligenti".
La configurazione in SAN con fibra, sempre piu' diffusa, e' analoga.
Testo: Unix Clusters
I nodi condividono una serie di risorse che vengono di volta in volta
assegnate al nodo che ospita il servizio che le richiede. Si tratta
generalmente di dischi e volumi in configurazione dual host
o multi homed ovvero
accedibili da piu' server (shared storage).
I servizi sono generalmente associati ad un indirizzo di rete virtuale,
anche questo viene assegnato dinamicamente al nodo che ospita il servizio.
I nodi "parlano" tra loro mediante le connessioni di rete pubblica
ma anche attraverso connessioni dedicate dette HeartBeat.
Al fine di evitare l'attivazione degli stessi servizi su server
differenti, nel caso di caduta di tutte le connessioni di rete,
vengono utilizzati meccanismi di "maggioranza" (eg. quorum partition).
Veritas ClusterServer
La caratteristica principale del Veritas ClusterServer (VCS)
e' quella di poter operare su piattaforme differenti (eg. HP,
IBM, SUN, ...). La configurazione e' semplice e viene effettuata
con un'interfaccia grafica.
L'ultima versione e' la 3.5
mentre la versione beta piu' recente e' la 4.0.
Maggiori dettagli si trovano sul documento
Amministrare Veritas ClusterServer
HP ServiceGuard
Il prodotto di clustering ServiceGuard e' il prodotto di elezione
nella configurazione in cluster di sistemi HP.
Maggiori dettagli si trovano sul documento
Amministrare HP ServiceGuard
IBM HACMP
Il prodotto Hight Availability Cluster
Multi-Processing for AIX e' il prodotto di elezione
nella configurazione in cluster di sistemi Unix IBM.
La versione attualmente disponibile e' la 5.1.
Linux-HA
Il progetto Linux-HA fornisce le funzionalita' fondamentali di
un ambiente di clustering (HeartBeating, IP takeover, ...) e
conta gia' migliaia di installazioni in ambienti di
produzione. Il rpogetto e' nato con questo goal dichiatato:
Provide a high-availability (clustering) solution for Linux
which promotes reliability, availability, and serviceability
(RAS) through a community development effort.
Maggiori dettagli si trovano sul sito
Linux-HA
Red Hat AS/ES
Red Hat e' solo una delle distribuzioni Linux ma
le sue versioni AS ed ES hanno reso la soluzione HA
un pacchetto completo facilmente gestibile ed amministrabile.
Maggiori dettagli si trovano sul
White Paper
Tru64 CAA
Il prodotto di clustering CAA (Cluster Application Availability)
e' il prodotto di elezione
nella configurazione in cluster di Alpha Server con Tru64.
Il prodotto e' disponibile a partire dalla versione 5 del sistema operativo.
La versione precedente e' ASE, maggiori dettagli si trovano sul documento
Tru64 ASE
Data: 31 Ottobre 2003
Versione: 1.0.0 31 Ottobre 2003
Autore: mail@meo.bogliolo.name