Pacemaker: Alta disponibilidade para servidor HTTP (nginx) usando Virtual IP

From Wiki

Vamos configurar alta disponibilidade para servidor HTTP (nginx) usando Virtual IP

Teremos um ip virtual de atendimento, mas que fica navegando entre 2 hosts, isto é, o ip pode estar no pacemaker01 ou pacemaker02.

+-------------------+
|   Virtual IP      |
|    10.1.1.10.     |
+--------+----------+
         |
         |
         |
+-------+-------+    +-------+-------+
|  pacemaker01  |    |  pacemaker02  |
|  10.1.1.11    |    | 10.1.1.12.    |
+---------------+    +---------------+


Passo a Passo: Instalação e Configuração do Nginx

Instale o Nginx usando o gerenciador de pacotes `yum`.

sudo yum install nginx -y

Adicione o hostname da máquina ao arquivo `index.html` do Nginx.

echo "Welcome to $(hostname)" | sudo tee /usr/share/nginx/html/index.html

Inicie o serviço Nginx e habilitar para iniciar automaticamente

sudo systemctl start nginx
sudo systemctl enable nginx

Abra um navegador web e digite o endereço IP do seu servidor (por exemplo, http://10.1.1.11 e depois http://10.1.1.12

Passo a passo: Configuração de Alta Disponibilidade com Pacemaker e Corosync

Configurar o arquivo hosts (/etc/hosts)

Adicione as seguintes entradas para mapear os endereços IP aos nomes dos hosts:

 10.1.1.11 pacemaker01 
 10.1.1.12 pacemaker02 
 

Instalar o Epel Repository

Utilize o comando abaixo para instalar o repositório EPEL:

yum -y install epel-release


Instalar e configurar o Pacemaker, Corosync e Pcsd

Execute os seguintes comandos para instalar os pacotes necessários e configurar os serviços para iniciar automaticamente:

yum -y install corosync pacemaker pcs
systemctl enable pcsd
systemctl enable corosync
systemctl enable pacemaker
systemctl start pcsd
passwd hacluster

Criar e configurar o cluster

Autentique os nós do cluster e configure-o com os comandos a seguir:

pcs cluster auth pacemaker01 pacemaker02
pcs cluster setup --name teste_cluster pacemaker01 pacemaker02
pcs cluster start --all
pcs cluster enable --all
pcs status cluster


Desativar STONITH e ignorar a política de quorum

Para simplificar a configuração inicial, desative o STONITH e ajuste a política de quorum:


pcs property set stonith-enabled=false
pcs property set no-quorum-policy=ignore
pcs property list


Adicionar o IP flutuante e recursos

Crie um recurso de IP flutuante e verifique o status dos recursos e nós do cluster:

pcs resource create virtual_ip ocf:heartbeat:IPaddr2 ip=10.1.1.10 cidr_netmask=24 op monitor interval=30s
pcs status resources
pcs cluster stop --all
pcs cluster start --all
pcs status resources
pcs status nodes


Testando

Abra um navegador web e digite o endereço IP do seu servidor (por exemplo, http://10.1.1.11=0.

Verifique qual hostname é mostrado. Depois faça um shutdown nesse servidor e verifique que mudou o hostname.

Seguindo esses passos, você terá configurado um cluster básico com Pacemaker e Corosync, preparado para gerenciar recursos de alta disponibilidade em sua rede.

Ver também