Clúster de alta disponibilidad HAproxy en Red Hat 7

¿Que es un Cluster HA?

Un cluster de alta disponibilidad es un conjunto de dos o más máquinas que se caracterizan por mantener una serie de servicios compartidos y por estar constantemente monitorizándose entre sí. Podemos

mas información

¿Que es HAProxy?

HAProxy (que significa alta disponibilidad Proxy) es una solución de código abierto rápido y confiable, que es capaz de manejar el tráfico enorme y ofrece alta disponibilidad, balanceo de carga y proxy para TCP y aplicaciones basadas en HTTP. Similar a NginxBalancer, se utiliza un modelo orientado a eventos de un solo proceso, que consume un bajo (y estable) cantidad de memoria, lo que permite a HAProxy procesar un gran número de peticiones concurrentes al mismo tiempo, garantiza un buen equilibrio de carga con la persistencia inteligente y mitigación de DDoS.

Configuramos el archivo /etc/hosts en ambos nodos

172.20.0.10 proxyinv01.redorbita.com proxyinv01

172.20.0.11 proxyinv02.redorbita.com proxyinv02

172.20.0.12 proxyinv-vip.redorbita.com proxyinv-vip

Listamos la subcripciones

subscription-manager list –available

Añadimos la subcripción

subscription-manager list –available

subscription-manager attach –pool=8a85f981550f53aa01550fbfd43c69aa

subscription-manager repos –enable=rhel-ha-for-rhel-7-server-rpms

Instalamos la paquetería necesaria:

Dado que en mi caso lo empleare como proxy inverso tambien instalare apache.

yum install iptables-services haproxy apache pcs fence-agents-all

Habilitamos las reglas en el firewall o lo desactivamos

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

firewall-cmd –add-service=high-availability

systemctl stop firewalld

ystemctl disable firewalld

systemctl mask firewalld

Activamos iptables

systemctl enable iptables

systemctl start iptables

Cambiamos la contraseña al usuario del cluster

passwd hacluster

Changing password for user hacluster.

New password:

Retype new password:

passwd: all authentication tokens updated successfully.

Iniciamos el servicio.

systemctl start pcsd.service

systemctl enable pcsd.service

Autorizar nodos y usuario, realizar en un solo nodo:

pcs cluster auth proxyinv01.redorbita.com proxyinv02.redorbita.com

Username: hacluster

Password:

proxyinv01.redorbita.com: Authorized

proxyinv02.redorbita.com: Authorized

Creamos el cluster y habilitar cluster al iniciar maquinas

pcs cluster setup –start –name clusproxyinv proxyinv01.redorbita.com proxyinv02.redorbita.com

Activamos los dos nodos

pcs cluster enable –all

Comprobamos el estado del cluster

pcs cluster status

Cluster Status:

Last updated: Thu Jun 2 11:58:37 2016 Last change: Thu Jun 2 11:38:40 2016 by hacluster via crmd on proxyinv01.redorbita.com

Stack: corosync

Current DC: proxyinv01.redorbita.com (version 1.1.13-10.el7_2.2-44eb2dd) – partition with quorum

2 nodes and 0 resources configured

Online: [proxyinv01.redorbita.com proxyinv02.redorbita.com]

PCSD Status:

proxyinv01.redorbita.com: Online

proxyinv02.redorbita.com: Online

Generamos el usuario de Fence en vmware, para ello nos vamos a Roles en el vcenter

Generamos el usuario de Fence en vmware, para ello nos vamos a Roles en el vcenter

redhatcluster02 redhatcluster03 redhatcluster04

Nos vamos a la carpeta del proyecto, botón detrecho > Add Permission…

redhatcluster05

redhatcluster06

Creamos el recurso fence

pcs stonith create fence fence_vmware_soap pcmk_host_map=»node1:proxyinv01.redorbita.com;node2:proxyinv02.redorbita.com» ipaddr=<ESXi/vCenter IP address> ssl=1 login=fenceuser passwd=fencepassword01.

Desactivamos el quorum y stonith

pcs property set no-quorum-policy=ignore

pcs property set stonith-enabled=false

Creamos los recursos

pcs resource create proxyinv-vip ocf:heartbeat:IPaddr2 ip=172.20.0.12 cidr_netmask=32 op monitor interval=30s

pcs resource create apache ocf:heartbeat:apache configfile=/etc/httpd/conf/httpd.conf op monitor interval=20s

pcs resource create HAproxy systemd:haproxy op monitor interval=5s

Configuramos el orden de inicio de los recursos.

pcs constraint order start proxyinv-vip then apache

pcs constraint order start apache then HAproxy

Creamos el grupo y añadimos los recursos a este grupo

pcs resource group add clusproxyinv proxyinv-vip apache Haproxy

Iniciamos el recurso

pcs resource enable clusproxyinv

un saludo

:wq!

2 comentarios en “Clúster de alta disponibilidad HAproxy en Red Hat 7”

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *