Clustering de Alta Disponibilidade
Com as 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. A clusterização 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 clustering HA e as tecnologias Pacemaker e Corosync, consulte as seguintes fontes:
-
Oracle Linux 10 Configurando o Clustering de Alta Disponibilidade
-
Oracle Linux 9 Configurando o Clustering de Alta Disponibilidade
-
Oracle Linux 8 Configurando o Clustering de Alta Disponibilidade
Pré-requisito
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 o serviço de cluster e as mensagens do aplicativo e para o esgrima SBD do cluster. Para obter mais informações sobre como configurar um dispositivo de armazenamento compartilhado, consulte as seguintes fontes:
Configurando o Clustering de Alta Disponibilidade com Instâncias do OCI
Para configurar a clusterização de alta disponibilidade com instâncias do OCI:
Instalação do Pacemaker
Para criar um cluster de alta disponibilidade (HA) com instâncias do Oracle Cloud Infrastructure (OCI), primeiro instale os pacotes Pacemaker e Corosync em cada instância, ou nó, que você deseja 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.
A instância, o nó e o nó do cluster da OCI são usados de forma intercambiável com a clusterização HA para OCI.
Melhores práticas
Para cada instância do OCI que você deseja no cluster, abra uma janela de terminal e conecte-se à instância.
ssh:ssh instance-IP-addressAbrir uma janela de terminal para cada nó evita a necessidade de fazer log-in e log-out repetidamente dos nós ao configurar o cluster HA.
Instalação do marca-passo e do Corosync
Para instalar os pacotes Pacemaker e Corosync e configurar os nós do cluster HA:
- Conclua o pré-requisito no Clustering de Alta Disponibilidade.
-
Ative o repositório no servidor yum do Oracle Linux em que residem os pacotes Pacemaker e Corosync.
Oracle Linux 10:sudo dnf config-manager --enable ol10_addonsOracle Linux 9:
sudo dnf config-manager --enable ol9_addonsOracle Linux 8:
sudo dnf config-manager --enable ol8_addons -
Em cada nó, instale o shell de comando
pcsdo Pacemaker, os pacotes de software e todos os agentes de recurso e cerca disponíveis:sudo dnf install pcs pacemaker resource-agents fence-agents-sbd -
Configure o firewall para que os componentes de serviço possam se comunicar pela rede:
sudo firewall-cmd --permanent --add-service=high-availability sudo firewall-cmd --add-service=high-availability -
Em cada nó, defina uma senha para o usuário
hacluster:sudo passwd haclusterDica
Defina a mesma senha em cada nó para evitar problemas de autorização ao executar comandos
pcsem nós diferentes dentro do mesmo cluster. -
Em cada nó, defina o serviço
pcsdpara ser executado e iniciado na inicialização:sudo systemctl enable --now pcsd.service -
Crie um cluster HA usando os nós que você configurou. Consulte Criando um Cluster 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:
- Instale os pacotes de software Pacemaker e Corosync em cada nó desejado no cluster. Consulte Instalação de marcapasso.
-
Em um dos nós, autentique a ferramenta de configuração de cluster
pcspara o usuáriohaclusterde cada nó do cluster.Por exemplo, se você quiser que dois nós constituam o cluster HA, execute o seguinte comando em um dos nós do cluster:
sudo pcs host auth node1 node2 -u haclusterSubstitua node1 e node2 pelos nomes de host resolvíveis dos nós que serão formados no cluster.
Como alternativa, se os nomes de host não puderem ser resolvidos, especifique o endereço IP para cada nó, conforme mostrado no seguinte exemplo:
sudo pcs host auth node1 addr=192.0.2.1 node2 addr=192.0.2.2 -u haclusterSubstitua 192.0.2.1 e 192.0.2.2 pelo endereço IP de cada um dos respectivos hosts no cluster.
-
Quando solicitado, informe a senha definida para o usuário
haclusterquando você instalou e configurou o software Pacemaker em cada nó. -
Crie o cluster HA usando o comando
pcs cluster setupe especificando o seguinte:- Nome do cluster
- O nome do host e endereço IP 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 addr=192.0.2.1 node2 addr=192.0.2.2Substitua 192.0.2.1 e 192.0.2.2 pelo endereço IP de cada um dos respectivos hosts no cluster.
-
Em um dos nós, inicie o cluster em todos os nós:
sudo pcs cluster start --all -
Opcionalmente, você pode ativar esses serviços para iniciar no momento da inicialização para que, se um nó for reinicializado, ele se reintegre automaticamente ao cluster. Para fazer isso, execute o seguinte comando em um dos nós:
sudo pcs cluster enable --allObservação
Alguns usuários preferem não ativar esses serviços para que uma falha de nó que resulta em uma reinicialização completa do sistema possa ser corretamente depurada antes de voltar ao cluster.
- Configure o cerco SBD para o cluster HA recém-criado. Consulte Configurando o Fencing.
Configurando cercas
O esgrima 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ó que não responde até que o software Pacemaker coloque esse nó que não responde off-line.
A configuração de esgrima SBD é a última etapa na conclusão da 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.
Para criar clusters HA com instâncias do OCI, use apenas o mecanismo de esgrima de cluster SBD. Outros mecanismos de esgrima de cluster não são suportados no momento neste ambiente.
Configurando o Fencing SBD para um Cluster HA
Para configurar o esgrima SBD para um cluster HA:
-
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 -
Em um dos nós, interrompa o cluster:
sudo pcs cluster stop --all -
Em cada nó, instale e configure o daemon SBD:
sudo dnf install sbd -
Em cada nó, ative o serviço systemd
sbd:sudo systemctl enable sbdObservação
Quando ativado, o serviço systemdsbdé iniciado e interrompido automaticamente como uma dependência do serviço Pacemaker. Isso significa que você não precisa executar o serviçosbdde 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 é um serviço dependente. -
Em cada nó, edite o arquivo
/etc/sysconfig/sbde defina o parâmetroSBD_DEVICEpara identificar o dispositivo de armazenamento compartilhado. Use um caminho de dispositivo persistente, como um link dentro do sistema de diretórios/dev/disk/by-id/, para fazer isso.Por exemplo, se o dispositivo de armazenamento compartilhado estiver disponível no
/dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90, certifique-se de que o arquivo/etc/sysconfig/sbdem cada nó contenha a seguinte linha:SBD_DEVICE="/dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90"Para obter informações sobre dispositivos de armazenamento compartilhado, consulte os links fornecidos na seção Pré-requisito.
- Continue a editar o arquivo
/etc/sysconfig/sbdem cada nó definindo o dispositivo Watchdog como/dev/null:SBD_WATCHDOG_DEV=/dev/null -
Em 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/disk/by-id/wwn-0XY3acy9d40afd88083ACR90:sudo sbd -d /dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90 createsudo sbd -d /dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90 list -
Em um dos nós, inicie o cluster e configure o agente de isolamento
fence_sbdpara o dispositivo de armazenamento compartilhado.Por exemplo, para iniciar o cluster e configurar o dispositivo de armazenamento compartilhado em
/dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90:sudo pcs cluster start --allsudo pcs stonith create sbd_fencing fence_sbd devices=/dev/disk/by-id/wwn-0XY3acy9d40afd88083ACR90 -
Para verificar se a configuração do
stonithfoi configurada corretamente, execute os seguintes comandos:sudo pcs stonith config sudo pcs cluster verify --full -
Para verificar o status da configuração do
stonith, execute o seguinte comando:sudo pcs stonith -
Para verificar o status do cluster, execute o seguinte comando:
sudo pcs status