Pacemaker: Alta disponibilidade para servidor HTTP (nginx) usando Virtual IP
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.