Red Hat Training

A Red Hat training course is available for RHEL 8

Capítulo 4. Criando um cluster de Alta Disponibilidade Red Hat com Pacemaker

O seguinte procedimento cria um cluster de dois nós Red Hat High Availability usando pcs.

A configuração do cluster neste exemplo requer que seu sistema inclua os seguintes componentes:

  • 2 nós, que serão usados para criar o agrupamento. Neste exemplo, os nós utilizados são z1.example.com e z2.example.com.
  • Comutadores de rede para a rede privada. Recomendamos, mas não exigimos uma rede privada para a comunicação entre os nós de cluster e outros equipamentos de cluster, tais como comutadores de energia de rede e comutadores de canal de fibra óptica.
  • Um dispositivo de vedação para cada nó do aglomerado. Este exemplo usa duas portas do interruptor de energia APC com um nome de host zapc.example.com.

4.1. Instalação de software de cluster

O seguinte procedimento instala o software de cluster e configura seu sistema para a criação de clusters.

  1. Em cada nó do cluster, instale os pacotes de software Red Hat High Availability Add-On junto com todos os agentes de vedação disponíveis no canal High Availability.

    # yum install pcs pacemaker fence-agents-all

    Alternativamente, você pode instalar os pacotes de software Red Hat High Availability Add-On junto com apenas o agente de vedação que você necessita com o seguinte comando.

    # yum install pcs pacemaker fence-agents-model

    O comando a seguir exibe uma lista dos agentes de vedação disponíveis.

    # rpm -q -a | grep fence
    fence-agents-rhevm-4.0.2-3.el7.x86_64
    fence-agents-ilo-mp-4.0.2-3.el7.x86_64
    fence-agents-ipmilan-4.0.2-3.el7.x86_64
    ...
    Atenção

    Após instalar os pacotes Red Hat High Availability Add-On, você deve assegurar-se de que suas preferências de atualização de software estejam definidas para que nada seja instalado automaticamente. A instalação em um cluster em execução pode causar comportamentos inesperados. Para mais informações, consulte Práticas recomendadas para a aplicação de atualizações de software em um cluster de armazenamento RHEL de alta disponibilidade ou resiliente.

  2. Se você estiver executando o daemon firewalld, execute os seguintes comandos para habilitar as portas que são exigidas pelo Add-On de Alta Disponibilidade da Red Hat.

    Nota

    Você pode determinar se o daemon firewalld está instalado em seu sistema com o comando rpm -q firewalld. Se ele estiver instalado, você pode determinar se ele está rodando com o comando firewall-cmd --state.

    # firewall-cmd --permanent --add-service=high-availability
    # firewall-cmd --add-service=high-availability
    Nota

    A configuração ideal de firewall para componentes de cluster depende do ambiente local, onde talvez seja necessário levar em conta considerações como, por exemplo, se os nós têm múltiplas interfaces de rede ou se há firewalls fora do host. O exemplo aqui, que abre as portas que são geralmente exigidas por um cluster Pacemaker, deve ser modificado para se adequar às condições locais. A habilitação de portas para o Add-On de Alta Disponibilidade mostra as portas para habilitar para o Add-On de Alta Disponibilidade da Red Hat e fornece uma explicação para o que cada porta é usada.

  3. Para usar pcs para configurar o cluster e se comunicar entre os nós, você deve definir uma senha em cada nó para o ID do usuário hacluster, que é a conta de administração pcs. É recomendado que a senha para o usuário hacluster seja a mesma em cada nó.

    # passwd hacluster
    Changing password for user hacluster.
    New password:
    Retype new password:
    passwd: all authentication tokens updated successfully.
  4. Antes que o cluster possa ser configurado, o daemon pcsd deve ser iniciado e habilitado para iniciar na inicialização em cada nó. Este daemon trabalha com o comando pcs para gerenciar a configuração através dos nós do cluster.

    Em cada nó do cluster, execute os seguintes comandos para iniciar o serviço pcsd e para habilitar pcsd no início do sistema.

    # systemctl start pcsd.service
    # systemctl enable pcsd.service