Clusterização de Alta Disponibilidade

Com instâncias do Oracle Linux em execução na Oracle Cloud Infrastructure (OCI), você pode criar clusters de alta disponibilidade (HA) que oferecem acesso contínuo a aplicativos e serviços em execução em vários nós. O cluster de HA minimiza o tempo de inatividade e fornece serviço contínuo se e quando os componentes do sistema falharem.

Você pode criar clusters HA com instâncias do OCI instalando e usando o Pacemaker, um gerenciador de recursos de alta disponibilidade de código-fonte aberto e o Corosync, um mecanismo de cluster de código-fonte aberto. Para obter mais informações sobre clusterização HA e as tecnologias Pacemaker e Corosync, consulte Oracle Linux 9 Setting Up High Availability Clustering e Oracle Linux 8 Setting Up High Availability Clustering.

Pré-requisitos

Antes de começar, configure um dispositivo de armazenamento compartilhado para ser acessível de todos os nós desejados no cluster HA. Um dispositivo de armazenamento compartilhado é necessário para serviço de cluster e mensagens de aplicativo e para esgrima SBD de cluster. Para obter mais informações sobre como configurar um dispositivo de armazenamento compartilhado, consulte Oracle Linux 9 Gerenciando Sistemas de Arquivos Compartilhados e Oracle Linux 8 Gerenciando Sistemas de Arquivos Compartilhados.

Configurando a Clusterização de Alta Disponibilidade com Instâncias do OCI

Para configurar o clustering de alta disponibilidade com instâncias do OCI:

  1. Instalar o software Pacemaker
  2. Criar um cluster HA
  3. Configurar cerca

Instalação de marcapasso

Para criar um cluster de alta disponibilidade (HA) com instâncias do OCI (Oracle Cloud Infrastructure), primeiro instale os pacotes Pacemaker e Corosync em cada instância ou nó desejado no cluster. Em seguida, você pode configurar cada nó do cluster e garantir que o serviço Pacemaker seja iniciado e executado automaticamente em cada nó no momento da inicialização.

Observação

A instância, o nó e o nó do cluster do OCI são usados de forma intercambiável com clusterização HA para OCI.

Melhor Prática

Para cada instância do OCI que você deseja no cluster, abra uma janela de terminal e estabeleça conexão com a instância.

Por exemplo, se você quiser que duas instâncias do OCI sejam nós no cluster, abra duas janelas de terminal e conecte-se a cada instância usando ssh:
ssh instance-IP-address

Ter uma janela de terminal aberta para cada nó evita a necessidade de fazer login e saída repetidamente dos nós ao configurar o cluster HA.

Instalando Marcapasso e Corosync

Para instalar os pacotes Pacemaker e Corosync e configurar os nós de cluster HA:

  1. Preencha o pré-requisito em Clustering de Alta Disponibilidade.
  2. Ative o repositório no servidor yum do Oracle Linux no qual residem os pacotes Pacemaker e Corosync.

    Oracle Linux 9:

    sudo dnf config-manager --enable ol9_addons

    Oracle Linux 8:

    sudo dnf config-manager --enable ol8_addons
  3. Em cada nó, instale o shell de comando pcs do Pacemaker, pacotes de software e todos os agentes de recurso e cerca disponíveis:

    sudo dnf install pcs pacemaker resource-agents fence-agents-sbd
  4. Configure o firewall para que os componentes do serviço possam se comunicar pela rede:

    sudo firewall-cmd --permanent --add-service=high-availability
  5. Em cada nó, defina uma senha para o usuário hacluster:

    sudo passwd hacluster
  6. Em cada nó, defina o serviço pcsd para executar e iniciar na inicialização:

    sudo systemctl enable --now pcsd.service
  7. Crie um cluster HA usando os nós configurados. Consulte Criando um Cluster de HA.

Criando um Cluster HA

Com o software Pacemaker e Corosync, você pode criar um cluster de alta disponibilidade (HA) com instâncias do Linux em execução na Oracle Cloud Infrastructure (OCI).

Para criar um cluster HA:

  1. Instale os pacotes de software Pacemaker e Corosync em cada nó desejado no cluster. Consulte Instalando o Pacemaker.
  2. Em um dos nós, autentique a ferramenta de configuração de cluster pcs para o usuário hacluster de cada nó de cluster.

    Por exemplo, se você quiser que dois nós formem o cluster HA, execute o seguinte comando em um dos nós do cluster:

    sudo pcs host auth node1-resolvable-hostname node2-resolvable-hostname -u hacluster
  3. Quando solicitado, informe a senha definida na Etapa 5 para o usuário hacluster em cada nó.

  4. Crie o cluster HA usando o comando pcs cluster setup e especificando o seguinte:

    • Nome do cluster
    • Nome de host e endereço IP resolvíveis de cada nó que você deseja no cluster

    Por exemplo, para criar um cluster HA com dois nós:

    sudo pcs cluster setup cluster-name node1-resolvable-hostname addr=node1-IP-address node2-resolvable-hostname addr=node2-IP-address
  5. Em um dos nós, inicie o cluster em todos os nós:

    sudo pcs cluster start --all
  6. Configure o cerco SBD para o cluster HA recém-criado. Consulte Configurando o Esgrima.

Configurando o Esgrima

A vedação STONITH Block Device (SBD) funciona com o software Pacemaker para proteger os dados quando um nó em um cluster de alta disponibilidade (HA) não responde. O esgrima impede que os nós ativos no cluster HA acessem dados no nó sem resposta até que o software Pacemaker coloque esse nó sem resposta off-line.

A configuração de vedação SBD é a última etapa para concluir a configuração de um cluster HA com instâncias do OCI. Para obter informações sobre como criar um cluster HA, consulte Criando um Cluster HA.

Observação

Para criar clusters HA com instâncias do OCI, você deve usar apenas o mecanismo de vedação do cluster SBD. Outros mecanismos de esgrima de cluster não são suportados atualmente neste ambiente.

Configurando o Esgrima SBD para um Cluster HA

Para configurar o esgrima SBD para um cluster HA:

  1. Em um dos nós do cluster, ative stonith (Atire no Outro Nó na Cabeça), uma técnica de esgrima usada como parte da estratégia de esgrima SBD.

    sudo pcs property set stonith-enabled=true
  2. Em um dos nós, interrompa o cluster:

    sudo pcs cluster stop --all
  3. Em cada nó, instale e configure o daemon SBD:

    sudo dnf install sbd
  4. Em cada nó, ative o serviço systemd sbd:

    sudo systemctl enable sbd
    Observação

    Quando ativado, o serviço systemd sbd é iniciado e interrompido automaticamente como uma dependência do serviço Pacemaker. Isso significa que você não precisa executar o serviço sbd de forma independente e não pode iniciar ou interromper manualmente o serviço. Se você tentar iniciá-lo ou interrompê-lo manualmente, o estado do serviço permanecerá o mesmo e uma mensagem de erro será exibida, indicando que o serviço é dependente.
  5. Em cada nó, edite o arquivo /etc/sysconfig/sbd e defina o parâmetro SBD_DEVICE para identificar o dispositivo de armazenamento compartilhado. Para obter informações sobre dispositivos de armazenamento compartilhado, consulte Oracle Linux 9 Gerenciando Sistemas de Arquivos Compartilhados e Oracle Linux 8 Gerenciando Sistemas de Arquivos Compartilhados.

    Por exemplo, se o dispositivo de armazenamento compartilhado estiver disponível em /dev/sdc, verifique se o arquivo /etc/sysconfig/sbd em cada nó contém a seguinte linha:

    SBD_DEVICE="/dev/sdc"
  6. Continue a editar o arquivo /etc/sysconfig/sbd em cada nó definindo o dispositivo Watchdog como /dev/null:
    SBD_WATCHDOG_DEV=/dev/null
  7. A partir de um dos nós, crie o layout de mensagens SBD no dispositivo de armazenamento compartilhado e confirme se ele está no lugar.

    Por exemplo, para configurar e verificar mensagens no dispositivo de armazenamento compartilhado em /dev/sdc:

    sudo sbd -d /dev/sdc create 
    sudo sbd -d /dev/sdc list
  8. Em um dos nós, inicie o cluster e configure o agente de esgrima fence_sbd para o dispositivo de armazenamento compartilhado.

    Por exemplo, para iniciar o cluster e configurar o dispositivo de armazenamento compartilhado em /dev/sdc:

    sudo pcs cluster start --all 
    sudo pcs stonith create sbd_fencing fence_sbd devices=/dev/sdc