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 Windows Server / SQL 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é-requisitos
Instalar o SQL Server em Linux
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.
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
Liste os pools disponíveis para registro.
sudo subscription-manager list --available
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.
Habilite o repositório para poder usar o complemento de alta disponibilidade.
sudo subscription-manager repos --enable=rhel-ha-for-rhel-7-server-rpms
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.
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
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
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.
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.
Autorizar os nós
sudo pcs cluster auth <Node1 Node2 ... NodeN> -u hacluster
em que NodeX é o nome do nó.
Criar o cluster
sudo pcs cluster setup --name <PMClusterName Nodelist> --start --all --enable
em que
PMClusterName
é o nome atribuído ao cluster do Pacemaker eNodelist
é 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. Essas instruções pressupõem que os repositórios dos pacotes da Microsoft já foram configurados, pois o SQL Server deve estar instalado nesse 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óxima etapa
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: