Cluster High Availability
Con le istanze Oracle Linux in esecuzione su Oracle Cloud Infrastructure (OCI), puoi creare cluster HA (High Availability) che offrono accesso continuo alle applicazioni e ai servizi in esecuzione su più nodi. Il clustering HA riduce al minimo i tempi di inattività e fornisce un servizio continuo se e quando i componenti del sistema si guastano.
Puoi creare cluster HA con istanze OCI installando e utilizzando Pacemaker, un Resource Manager open source ad alta disponibilità, e Corosync, un motore 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 la messaggistica dei servizi cluster e delle applicazioni e per la scherma SBD del cluster. Per ulteriori informazioni sulla configurazione di un dispositivo di storage condiviso, vedere Oracle Linux 9 Managing Shared File Systems e Oracle Linux 8 Managing Shared File Systems.
Impostazione del cluster High Availability con le istanze OCI
Per impostare il clustering ad alta disponibilità con le istanze OCI:
Installare Pacemaker
Per creare un cluster HA (High Availability) con istanze di Oracle Cloud Infrastructure (OCI), è innanzitutto necessario installare i package 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 ed eseguito automaticamente su ciascun 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.
Procedure ottimali
Per ogni istanza OCI desiderata nel cluster, aprire una finestra del terminale e connettersi all'istanza.
ssh
:ssh instance-IP-address
L'apertura di una finestra terminale per ogni nodo impedisce la necessità di eseguire ripetutamente il login e il logout dai nodi durante la configurazione del cluster HA.
Installare Pacemaker e Corosync
Per installare i pacchetti Pacemaker e Corosync e configurare i nodi del cluster HA:
- Completare il prerequisito in Clustering ad alta disponibilità.
-
Abilita il repository sul server yum di 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
-
Su ogni nodo, installare la shell di comando
pcs
di Pacemaker, i pacchetti software e tutti gli agenti di risorse e recinti 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
-
In ogni nodo, impostare il servizio
pcsd
in modo che venga eseguito e avviato 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 cluster
pcs
per l'utentehacluster
di ogni nodo 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 che si desidera 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 la scherma SBD per il cluster HA appena creato. Vedere Configurazione della scherma.
Configurazione della scherma
La recinzione STONITH Block Device (SBD) funziona con il software Pacemaker per proteggere i dati quando un nodo in un cluster ad alta disponibilità (HA) non risponde. Il recinto impedisce ai nodi attivi nel cluster HA di accedere ai dati sul nodo che non risponde fino a quando il software Pacemaker non mette offline quel nodo che non risponde.
La configurazione del recinto SBD è l'ultimo passo per completare l'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 scherma cluster non sono attualmente supportati in questo ambiente.
Configurazione della scherma SBD per un cluster HA
Per configurare il recinto SBD per un cluster HA:
-
Da uno dei nodi del cluster, abilitare
stonith
(Shoot The Other Node In The Head), una tecnica di scherma 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
-
Su ciascun nodo, installare e configurare il daemon SBD:
sudo dnf install sbd
-
Su ciascun nodo abilitare il servizio systemd
sbd
:sudo systemctl enable sbd
Nota
Quando l'opzione è abilitata, il servizio systemdsbd
viene avviato e arrestato 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 ogni 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, creare il layout di messaggistica SBD sul dispositivo di storage condiviso e verificare che sia in posizione.
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 recinzione
fence_sbd
per il dispositivo di storage condiviso.Ad esempio, per avviare il cluster e configurare il dispositivo di memorizzazione condivisa in
/dev/sdc
:sudo pcs cluster start --all
sudo pcs stonith create sbd_fencing fence_sbd devices=/dev/sdc