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:
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.
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.
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:
- Preencha o pré-requisito em Clustering de Alta Disponibilidade.
-
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
-
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
-
Configure o firewall para que os componentes do 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 executar e iniciar na inicialização:sudo systemctl enable --now pcsd.service
-
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:
- Instale os pacotes de software Pacemaker e Corosync em cada nó desejado no cluster. Consulte Instalando o Pacemaker.
-
Em um dos nós, autentique a ferramenta de configuração de cluster
pcs
para o usuáriohacluster
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
-
Quando solicitado, informe a senha definida 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 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
-
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 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.
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:
-
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 é 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 em
/dev/sdc
, verifique se o arquivo/etc/sysconfig/sbd
em cada nó contém 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
-
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
-
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