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 a 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é-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 a configuração de um dispositivo de armazenamento compartilhado, consulte Oracle Linux 9 Managing Shared File Systems e Oracle Linux 8 Managing Shared File Systems.
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-address
Abrir 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 9:
sudo dnf config-manager --enable ol9_addons
Oracle Linux 8:
sudo dnf config-manager --enable ol8_addons
-
Em cada nó, instale o shell de comando
pcs
do 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
-
Em cada nó, defina uma senha para o usuário
hacluster
:sudo passwd hacluster
-
Em cada nó, defina o serviço
pcsd
para 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
pcs
para o usuáriohacluster
de 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-resolvable-hostname node2-resolvable-hostname -u hacluster
-
Quando solicitado, informe a senha que você definiu na Etapa 5 para o usuário
hacluster
em cada nó. -
Crie o cluster HA usando o comando
pcs cluster setup
e especificando o seguinte:- Nome do cluster
- Nome do 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
-
Em um dos nós, inicie o cluster em todos os nós:
sudo pcs cluster start --all
- 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 sbd
Observaçã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çosbd
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 é um serviço dependente. -
Em cada nó, edite o arquivo
/etc/sysconfig/sbd
e defina o parâmetroSBD_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 no
/dev/sdc
, certifique-se de que o arquivo/etc/sysconfig/sbd
em cada nó contenha a seguinte linha:SBD_DEVICE="/dev/sdc"
- Continue a editar o arquivo
/etc/sysconfig/sbd
em 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/sdc
:sudo sbd -d /dev/sdc create
sudo sbd -d /dev/sdc list
-
Em um dos nós, inicie o cluster e configure o agente de isolamento
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