1.4. Gestione dei servizi High-availability

La gestione del servizio High-availability fornisce la possibilità di creare e gestire servizi cluster high-availability in un cluster Red Hat. Il componente principale per la gestione di un servizio high-availability in un cluster Red Hat, rgmanager, implementa un cold failover per applicazioni commerciali. In un cluster di Red Hat un'applicazione viene configurata con altre risorse del cluster in modo da formare un servizio high-availability. È possibile eseguire un failover nei confronti di tale servizio da un nodo del cluster ad un altro, senza interruzione apparente per i client. Il failover del servizio può verificarsi se un nodo fallisce o se un amministratore di sistema del cluster muove il servizio da un nodo ad un altro (per esempio, per una interruzione pianificata di un nodo).
Per creare un servizio high-availability, è necessario prima configurarlo all'interno del file di configurazione del cluster. Un servizio è composto da svariate risorse. Le suddette risorse sono costituite da blocchi di costruzione da voi creati e gestiti nel file di configurazione del cluster — per esempio, un indirizzo IP, uno script di inizializzazione dell'applicazione, o una partizione condivisa di Red Hat GFS.
You can associate a cluster service with a failover domain. A failover domain is a subset of cluster nodes that are eligible to run a particular cluster service (refer to Figura 1.9, «Domini di failover»).

Nota

I domini di failover non sono necessari per questa operazione.
Il servizio può essere eseguito su di un nodo per volta in modo da garantire l'integrità dei dati. È possibile specificare la priorità di failover in un dominio di failover. Tale priorità consiste in una assegnazione di un livello di priorità ad ogni nodo in un dominio di failover. Il suddetto livello determina l'ordine di failover — determinando così il nodo sul quale un servizio del cluster deve essere eseguito in presenza di un failover. Se non specificate alcuna priorità, allora sarà possibile eseguire il failover del servizio su qualsiasi nodo presente nel proprio dominio di failover. Altresì, è possibile specificare se un servizio sia limitato durante la sua esecuzione, e quindi eseguibile solo su nodi presenti nel dominio di failover associato. (Quando associato con un dominio di failover non limitato, il servizio del cluster può essere eseguito su qualsiasi nodo, nel caso in cui nessun membro del dominio di failover risulti disponibile.)
In Figura 1.9, «Domini di failover», Failover Domain 1 is configured to restrict failover within that domain; therefore, Cluster Service X can only fail over between Node A and Node B. Failover Domain 2 is also configured to restrict failover with its domain; additionally, it is configured for failover priority. Failover Domain 2 priority is configured with Node C as priority 1, Node B as priority 2, and Node D as priority 3. If Node C fails, Cluster Service Y fails over to Node B next. If it cannot fail over to Node B, it tries failing over to Node D. Failover Domain 3 is configured with no priority and no restrictions. If the node that Cluster Service Z is running on fails, Cluster Service Z tries failing over to one of the nodes in Failover Domain 3. However, if none of those nodes is available, Cluster Service Z can fail over to any node in the cluster.
Domini di failover

Figura 1.9. Domini di failover

Figura 1.10, «Web Server Cluster Service Example» shows an example of a high-availability cluster service that is a web server named "content-webserver". It is running in cluster node B and is in a failover domain that consists of nodes A, B, and D. In addition, the failover domain is configured with a failover priority to fail over to node D before node A and to restrict failover to nodes only in that failover domain. The cluster service comprises these cluster resources:
  • Risorsa indirizzo IP — Indirizzo IP 10.10.10.201.
  • An application resource named "httpd-content" — a web server application init script /etc/init.d/httpd (specifying httpd).
  • A file system resource — Red Hat GFS named "gfs-content-webserver".
Web Server Cluster Service Example

Figura 1.10. Web Server Cluster Service Example

I client sono in grado di accedere al servizio del cluster tramite l'indirizzo IP 10.10.10.201, permettendo una interazione con l'applicazione del web server, httpd-content. L'applicazione httpd-content utilizza il file system gfs-content-webserver. Se il nodo B fallisce, il servizio del cluster content-webserver eseguirà il failover sul nodo D. Se il nodo D non risulta disponibile o se fallito, è possibile eseguire il failover sul nodo A. Il processo di failover si verificherà con nesuna interruzione apparente al client del cluster. Il servizio del cluster sarà accessibile da un altro nodo tramite lo stesso indirizzo IP prima del verificarsi del processo di failover.