Implantar um cluster do Pacemaker para o SQL Server em Linux

Aplica-se a:SQL Server – Linux

Este tutorial documenta as tarefas necessárias para implantar um cluster do Linux Pacemaker para um SQL Server AG (grupo de disponibilidade) Always On ou uma FCI (instância de cluster de failover). Ao contrário da pilha SQL Server / Windows Server fortemente acoplada, a criação de cluster do Pacemaker e a configuração do grupo de disponibilidade (AG) no Linux podem ser feitas antes ou após a instalação do SQL Server. A integração e a configuração de recursos para a parte do Pacemaker de uma implantação de AG ou FCI são feitas após a configuração do cluster.

Importante

Um AG com um tipo de cluster None não requer um cluster do Pacemaker, nem pode ser gerenciado pelo Pacemaker.

  • Instale o complemento de alta disponibilidade e instale o Pacemaker.
  • Prepare os nós para o Pacemaker (somente RHEL e Ubuntu).
  • Crie o cluster do Pacemaker.
  • Instale os pacotes SQL Server HA e SQL Server Agent.

Pré-requisito

Instalar o SQL Server 2017.

Instalar o complemento de alta disponibilidade

Use a sintaxe a seguir para instalar os pacotes que compõem o complemento de HA (alta disponibilidade) para cada distribuição do Linux.

  1. Registre o servidor usando a sintaxe a seguir. Você será solicitado a informar um nome de usuário e uma senha válidos.

    sudo subscription-manager register
    
  2. Liste os pools disponíveis para registro.

    sudo subscription-manager list --available
    
  3. Execute o comando a seguir para associar a alta disponibilidade do RHEL à assinatura

    sudo subscription-manager attach --pool=<PoolID>
    

    em que PoolId é a ID do pool para a assinatura de alta disponibilidade da etapa anterior.

  4. Habilite o repositório para poder usar o complemento de alta disponibilidade.

    sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-rpms
    
  5. Instale o pacemaker.

    sudo yum install pacemaker pcs fence-agents-all resource-agents
    

Prepare os nós para o Pacemaker (somente RHEL e Ubuntu)

O próprio Pacemaker usa um usuário criado na distribuição chamada hacluster. O usuário é criado quando o complemento de HA é instalado no RHEL e no Ubuntu.

  1. Em cada servidor que atuará como um nó do cluster do Pacemaker, crie a senha para um usuário a ser usado pelo cluster. O nome usado nos exemplos é hacluster, mas qualquer nome pode ser usado. O nome e a senha devem ser os mesmos em todos os nós que participam do cluster do Pacemaker.

    sudo passwd hacluster
    
  2. Em cada nó que fará parte do cluster do Pacemaker, habilite e inicie o serviço pcsd com os seguintes comandos (RHEL e Ubuntu):

    sudo systemctl enable pcsd
    sudo systemctl start pcsd
    

    Em seguida, execute o comando a seguir para garantir que o pcsd seja iniciado.

    sudo systemctl status pcsd
    
  3. Habilite o serviço do Pacemaker em cada nó possível do cluster do Pacemaker.

    sudo systemctl start pacemaker
    

    No Ubuntu, você verá um erro:

    pacemaker Default-Start contains no runlevels, aborting.
    

    Esse erro é um problema conhecido. Apesar do erro, a habilitação do serviço Pacemaker é bem-sucedida e esse bug será corrigido em algum momento no futuro.

  4. Em seguida, crie e inicie o cluster do Pacemaker. Há uma diferença entre o RHEL e o Ubuntu nesta etapa. Enquanto estiver em ambas as distribuições, instalar o pcs configura um arquivo de configuração padrão para o cluster do Pacemaker, no RHEL, a execução desse comando destrói qualquer configuração existente e cria um novo cluster.

Criar o cluster do Pacemaker

Esta seção documenta como criar e configurar o cluster para cada distribuição do Linux.

  1. Autorizar os nós

    sudo pcs cluster auth <Node1 Node2 ... NodeN> -u hacluster
    

    em que NodeX é o nome do nó.

  2. Criar o cluster

    sudo pcs cluster setup --name <PMClusterName Nodelist> --start --all --enable
    

    em que PMClusterName é o nome atribuído ao cluster do Pacemaker e Nodelist é a lista de nomes dos nós separados por um espaço.

Instale os pacotes SQL Server HA e SQL Server Agent

Use os comandos a seguir para instalar o pacote de HA do SQL Server e o Agente do SQL Server, se ainda não estiverem instalados. Instalar o pacote de HA depois de instalar o SQL Server requer reiniciar o SQL Server para que ele seja usado. Estas instruções pressupõem que os repositórios dos pacotes da Microsoft já foram configurados, pois SQL Server deve estar instalado neste ponto.

  • Se você não usar o SQL Server Agent para envio de logs ou qualquer outro uso, ele não precisará ser instalado, portanto, o pacote mssql-server-agent poderá ser ignorado.
  • Os outros pacotes opcionais para o SQL Server no Linux, Pesquisa de Texto Completo do SQL Server (mssql-server-fts) e SQL Server Integration Services (mssql-server-is), não são necessários para alta disponibilidade, seja para uma FCI ou um AG.
sudo yum install mssql-server-ha mssql-server-agent
sudo systemctl restart mssql-server

Próximas etapas

Neste tutorial, você aprendeu a implantar um cluster do Pacemaker para SQL Server em Linux. Você aprendeu a:

  • Instale o complemento de alta disponibilidade e instale o Pacemaker.
  • Prepare os nós para o Pacemaker (somente RHEL e Ubuntu).
  • Crie o cluster do Pacemaker.
  • Instale os pacotes SQL Server HA e SQL Server Agent.

Para criar e configurar um grupo de disponibilidade para SQL Server em Linux, confira: