Skip to content

Cluster en centos con pacemaker/corosync

doc Red Hat High Availability

Paquetes

Los paquetes deberan estar instalados en todos los nodos

yum install -y epel-release
yum install  -y pcs fence-agents-all

Puertos requeridos

  • Para TCP: Puertos 2224, 3121, 21064
  • Para UDP: Puertos, 5405

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

Servicio de pcs

systemctl start pcsd.service
systemctl enable pcsd.service

configuración de nodos

Los diferentes nodos se tienen que poder ver, ya vsea por DNS o archivo host

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.33.11 node01.lpic.lan node01
192.168.33.12 node02.lpic.lan node02
192.168.33.13 node03.lpic.lan node03

PCS utiliza el usuario hacluster para comunicarse con los diferentes nodos

echo reverse | passwd --stdin hacluster

pcs cluster auth node01 node02 node03

Username: hacluster
Password: 
node02: Authorized
node03: Authorized
node01: Authorized

La autorización de identificadores se almacena en el archivo ~/.pcs/tokens (o /var/lib/pcsd/tokens).

Desplegar cluster

pcs cluster setup --start --name mycluster node01 node02 node03
pcs cluster enable --all

Estado del cluster

pcs cluster status
pcs status

Logs

ls /var/log/cluster/corosync.log
  • crmd: servicio de gestionar servicios entre maquinas
  • lrmd: servicio en gestionar servicios en local

    crm_mon # ver recursos en tempo release crm_verify -L -V # sintaxi de corosync

GUI pcs

Acceder al servicio GUI de cluster pcs https://node01:2224

Propiedades

pcs property
pcs property --all
pcs property set stonith-enabled=false # propiedad exclusiva para dispositivos fending

Recursos

pcs resource list
pcs resource describe <resource>
pcs resource create virtual_ip ocf:heartbeat:IPaddr2 ip=192.168.33.100 cidr_netmask=24

pcs resource
pcs resource show virtual_ip

pcs resource move apachegroup node03

Recurso apache

yum install -y httpd php

/etc/httpd/conf/httpd.conf
<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from 127.0.0.1
</location>

/var/www/html/index.php
<?php
echo gethostname();
?>

pcs resource create apache ocf:heartbeat:apache configfile="/etc/httpd/conf/httpd.conf" \
statusurl="http://127.0.0.1/server-status"

pcs resource

Crear grupo para los dos recursos

pcs resource group add apachegroup virtual_ip apache
pcs resource

curl http://192.168.33.100

gestion nodos

pcs cluster standby node01
pcs cluster unstandby node01

Destruir cluster

pcs cluster destroy