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:

  1. Installare il software Pacemaker
  2. Creare un cluster HA
  3. Configura scherma

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.

Nota

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.

Ad esempio, se si desidera che due istanze OCI siano nodi nel cluster, aprire due finestre di terminale e connettersi a ciascuna istanza utilizzando 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:

  1. Completare i prerequisiti in Clustering ad alta disponibilità.
  2. 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
  3. 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
  4. Configurare il firewall in modo che i componenti del servizio possano comunicare attraverso la rete:

    sudo firewall-cmd --permanent --add-service=high-availability
  5. In ogni nodo, impostare una password per l'utente hacluster:

    sudo passwd hacluster
  6. Su ogni nodo, impostare il servizio pcsd per l'esecuzione e l'avvio al boot:

    sudo systemctl enable --now pcsd.service
  7. 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:

  1. Installare i pacchetti software Pacemaker e Corosync su ogni nodo che si desidera nel cluster. Vedere Installazione di Pacemaker.
  2. Da uno dei nodi, autenticare lo strumento di configurazione del cluster pcs per l'utente hacluster 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
  3. Quando richiesto, immettere la password definita nel passo 5 per l'utente hacluster su ciascun nodo.

  4. 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
  5. Da uno dei nodi, avviare il cluster su tutti i nodi:

    sudo pcs cluster start --all
  6. 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.

Nota

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:

  1. 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
  2. Da uno dei nodi, arrestare il cluster:

    sudo pcs cluster stop --all
  3. In ogni nodo, installare e configurare il daemon SBD:

    sudo dnf install sbd
  4. Su ogni nodo, abilitare il servizio systemd sbd:

    sudo systemctl enable sbd
    Nota

    Quando l'opzione è abilitata, il servizio systemd sbd si avvia e si arresta automaticamente come dipendenza del servizio Pacemaker. Ciò significa che non è necessario eseguire il servizio sbd 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.
  5. In ogni nodo modificare il file /etc/sysconfig/sbd e impostare il parametro SBD_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"
  6. Continuare a modificare il file /etc/sysconfig/sbd su ciascun nodo impostando il dispositivo Watchdog su /dev/null:
    SBD_WATCHDOG_DEV=/dev/null
  7. 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
  8. 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