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 Oracle Linux 9 Setting Up High Availability Clustering e Oracle Linux 8 Setting Up High Availability Clustering.
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 storage condiviso, vedere Oracle Linux 9 Managing Shared File Systems e Oracle Linux 8 Managing Shared File Systems.
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 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
-
In ogni nodo, impostare una password per l'utente
hacluster
:sudo passwd hacluster
-
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-resolvable-hostname node2-resolvable-hostname -u hacluster
-
Quando richiesto, immettere la password definita nel passo 5 per l'utente
hacluster
su ciascun nodo. -
Creare il cluster HA utilizzando il comando
pcs cluster setup
e specificando quanto segue:- Il nome del cluster.
- Nome host e indirizzo IP risolvibili di ogni nodo desiderato nel cluster
Ad esempio, per creare un cluster HA con due nodi:
sudo pcs cluster setup cluster-name node1-resolvable-hostname addr=node1-IP-address node2-resolvable-hostname addr=node2-IP-address
-
Da uno dei nodi, avviare il cluster su tutti i nodi:
sudo pcs cluster start --all
- 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. Per informazioni sui dispositivi di storage condiviso, vedere Oracle Linux 9 Managing Shared File Systems e Oracle Linux 8 Managing Shared File Systems.Ad esempio, se il dispositivo di memorizzazione condivisa è disponibile in
/dev/sdc
, assicurarsi che il file/etc/sysconfig/sbd
in ciascun nodo contenga la riga seguente:SBD_DEVICE="/dev/sdc"
- 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/sdc
:sudo sbd -d /dev/sdc create
sudo sbd -d /dev/sdc 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/sdc
:sudo pcs cluster start --all
sudo pcs stonith create sbd_fencing fence_sbd devices=/dev/sdc