Clustering High Availability
Con le istanze Oracle Linux in esecuzione su Oracle Cloud Infrastructure (OCI), puoi creare cluster ad alta disponibilità (HA) che offrono un accesso continuo ad applicazioni e servizi in esecuzione su più nodi. Il clustering HA riduce al minimo i tempi di inattività e fornisce un servizio continuo in caso di guasto dei componenti del sistema.
Puoi creare cluster HA con istanze OCI installando e utilizzando Pacemaker, un Resource Manager ad alta disponibilità open source e Corosync, un motore di cluster open source. Per ulteriori informazioni sul clustering HA e sulle tecnologie Pacemaker e Corosync, vedere le seguenti fonti:
-
Oracle Linux 10 Impostazione del clustering ad alta disponibilità
-
Oracle Linux 9 Impostazione del clustering ad alta disponibilità
-
Oracle Linux 8 Impostazione del clustering ad alta disponibilità
Requisito
Prima di iniziare, configurare un dispositivo di storage condiviso in modo che sia accessibile da tutti i nodi desiderati nel cluster HA. È necessario un dispositivo di storage condiviso per il servizio cluster e la messaggistica dell'applicazione e per la scherma SBD del cluster. Per ulteriori informazioni sull'impostazione di un dispositivo di memorizzazione condivisa, vedere le origini riportate di seguito.
Impostazione del clustering High Availability con le istanze OCI
Per impostare il clustering High Availability con le istanze OCI:
Installazione di Pacemaker
Per creare un cluster High Availability (HA) con le istanze di Oracle Cloud Infrastructure (OCI), è necessario prima installare i pacchetti Pacemaker e Corosync su ogni istanza o nodo desiderato nel cluster. È quindi possibile configurare ogni nodo cluster e assicurarsi che il servizio Pacemaker venga avviato e eseguito automaticamente su ogni nodo in fase di avvio.
L'istanza, il nodo e il nodo cluster OCI vengono utilizzati in modo intercambiabile con il clustering HA per OCI.
Procedura ottimale
Per ogni istanza OCI desiderata nel cluster, aprire una finestra di terminale e connettersi all'istanza.
ssh
:ssh instance-IP-address
Avere una finestra di terminale aperta per ogni nodo impedisce la necessità di eseguire ripetutamente il login e il logout dai nodi durante la configurazione del cluster HA.
Installazione di Pacemaker e Corosync
Per installare i pacchetti Pacemaker e Corosync e configurare i nodi del cluster HA:
- Completare i prerequisiti in Clustering ad alta disponibilità.
-
Abilita il repository sul server yum Oracle Linux in cui risiedono i pacchetti Pacemaker e Corosync.
Oracle Linux 10:sudo dnf config-manager --enable ol10_addons
Oracle Linux 9:
sudo dnf config-manager --enable ol9_addons
Oracle Linux 8:
sudo dnf config-manager --enable ol8_addons
-
In ogni nodo, installare la shell del comando Pacemaker
pcs
, i pacchetti software e tutti gli agenti di risorse e recinzione disponibili:sudo dnf install pcs pacemaker resource-agents fence-agents-sbd
-
Configurare il firewall in modo che i componenti del servizio possano comunicare attraverso la rete:
sudo firewall-cmd --permanent --add-service=high-availability sudo firewall-cmd --add-service=high-availability
-
In ogni nodo, impostare una password per l'utente
hacluster
:sudo passwd hacluster
Suggerimento
Impostare la stessa password su ogni nodo per evitare problemi di autorizzazione durante l'esecuzione dei comandi
pcs
su nodi diversi all'interno dello stesso cluster. -
Su ogni nodo, impostare il servizio
pcsd
per l'esecuzione e l'avvio al boot:sudo systemctl enable --now pcsd.service
-
Creare un cluster HA utilizzando i nodi configurati. Vedere Creazione di un cluster HA.
Creazione di un cluster HA
Con il software Pacemaker e Corosync, puoi creare un cluster HA (High Availability) con istanze Linux in esecuzione su Oracle Cloud Infrastructure (OCI).
Per creare un cluster HA:
- Installare i pacchetti software Pacemaker e Corosync su ogni nodo che si desidera nel cluster. Vedere Installazione di Pacemaker.
-
Da uno dei nodi, autenticare lo strumento di configurazione del cluster
pcs
per l'utentehacluster
di ogni nodo del cluster.Ad esempio, se si desidera che due nodi costituiscano il cluster HA, eseguire il comando seguente da uno dei nodi del cluster:
sudo pcs host auth node1 node2 -u hacluster
Sostituire node1 e node2 con i nomi host risolvibili dei nodi che devono formare il cluster.
In alternativa, se i nomi host non sono risolvibili, specificare l'indirizzo IP per ciascun nodo come mostrato nell'esempio riportato di seguito.
sudo pcs host auth node1 addr=192.0.2.1 node2 addr=192.0.2.2 -u hacluster
Sostituire 192.0.2.1 e 192.0.2.2 con l'indirizzo IP di ciascuno dei rispettivi host nel cluster.
-
Quando richiesto, immettere la password definita per l'utente
hacluster
durante l'installazione e la configurazione del software Pacemaker su ciascun nodo. -
Creare il cluster HA utilizzando il comando
pcs cluster setup
e specificando quanto segue:- Il nome del cluster.
- Il nome host e l'indirizzo IP di ogni nodo desiderato nel cluster
Ad esempio, per creare un cluster HA con due nodi:
sudo pcs cluster setup cluster-name node1 addr=192.0.2.1 node2 addr=192.0.2.2
Sostituire 192.0.2.1 e 192.0.2.2 con l'indirizzo IP di ciascuno dei rispettivi host nel cluster.
-
Da uno dei nodi, avviare il cluster su tutti i nodi:
sudo pcs cluster start --all
-
Facoltativamente, è possibile abilitare l'avvio di questi servizi al momento del boot in modo che, se un nodo viene riavviato, ricongiunga automaticamente il cluster. A tale scopo, eseguire il comando seguente su uno dei nodi:
sudo pcs cluster enable --all
Nota
Alcuni utenti preferiscono non abilitare questi servizi in modo che un errore del nodo con conseguente riavvio completo del sistema possa essere debuggato correttamente prima di ricongiungersi al cluster.
- Configurare il scherma SBD per il cluster HA appena creato. Vedere Configurazione del scherma.
Configurazione del recinto
La recinzione del dispositivo a blocchi STONITH (SBD) funziona con il software Pacemaker per proteggere i dati quando un nodo in un cluster ad alta disponibilità (HA) non risponde. Il scherma impedisce ai nodi attivi nel cluster HA di accedere ai dati sul nodo che non risponde finché il software Pacemaker non disconosce il nodo che non risponde.
La configurazione di scherma SBD è l'ultimo passo del completamento dell'impostazione di un cluster HA con le istanze OCI. Per informazioni sulla creazione di un cluster HA, vedere Creazione di un cluster HA.
Per creare cluster HA con istanze OCI, è necessario utilizzare solo il meccanismo di scherma del cluster SBD. Altri meccanismi di recinzione cluster attualmente non sono supportati in questo ambiente.
Configurazione del scherma SBD per un cluster HA
Per configurare il scherma SBD per un cluster HA:
-
Da uno dei nodi del cluster, abilitare
stonith
(Shoot The Other Node In The Head), una tecnica di scherma che viene utilizzata come parte della strategia di scherma SBD.sudo pcs property set stonith-enabled=true
-
Da uno dei nodi, arrestare il cluster:
sudo pcs cluster stop --all
-
In ogni nodo, installare e configurare il daemon SBD:
sudo dnf install sbd
-
Su ogni nodo, abilitare il servizio systemd
sbd
:sudo systemctl enable sbd
Nota
Quando l'opzione è abilitata, il servizio systemdsbd
si avvia e si arresta automaticamente come dipendenza del servizio Pacemaker. Ciò significa che non è necessario eseguire il serviziosbd
in modo indipendente e non è possibile avviare o arrestare manualmente il servizio. Se si tenta di avviarlo o arrestarlo manualmente, lo stato del servizio rimane invariato e viene visualizzato un messaggio di errore che indica che il servizio è dipendente. -
In ogni nodo modificare il file
/etc/sysconfig/sbd
e impostare il parametroSBD_DEVICE
per identificare il dispositivo di memorizzazione condivisa. Utilizzare un percorso del dispositivo persistente, ad esempio un collegamento all'interno del sistema/dev/disk/by-id/
directory, per eseguire questa operazione.Ad esempio, se il dispositivo di memorizzazione condivisa è disponibile in
/dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90
, assicurarsi che il file/etc/sysconfig/sbd
in ciascun nodo contenga la riga seguente:SBD_DEVICE="/dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90"
Per informazioni sui dispositivi di memorizzazione condivisa, vedere i collegamenti forniti nella sezione Prerequisito.
- Continuare a modificare il file
/etc/sysconfig/sbd
su ciascun nodo impostando il dispositivo Watchdog su/dev/null
:SBD_WATCHDOG_DEV=/dev/null
-
Da uno dei nodi, crea il layout di messaggistica SBD sul dispositivo di storage condiviso e conferma che è in funzione.
Ad esempio, per impostare e verificare la messaggistica sul dispositivo di memorizzazione condivisa all'indirizzo
/dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90
:sudo sbd -d /dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90 create
sudo sbd -d /dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90 list
-
Da uno dei nodi, avviare il cluster e configurare l'agente di scherma
fence_sbd
per il dispositivo di storage condiviso.Ad esempio, per avviare il cluster e configurare il dispositivo di memorizzazione condivisa all'indirizzo
/dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90
:sudo pcs cluster start --all
sudo pcs stonith create sbd_fencing fence_sbd devices=/dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90
-
Per verificare che la configurazione di
stonith
sia stata impostata correttamente, eseguire i seguenti comandi:sudo pcs stonith config sudo pcs cluster verify --full
-
Per controllare lo stato della configurazione
stonith
, eseguire il comando seguente:sudo pcs stonith
-
Per controllare lo stato del cluster, eseguire il comando seguente:
sudo pcs status