Está en la página 1de 3

SERVICIO HEARTBEAT

El Cliente se conecta a una IP virtual que comparten ambos nodos, y dependiendo como lo
tengamos configurado, uno recibiría la petición, en caso de que se detecte que no funciona
correctamente el otro nodo esclavo obtiene el control del servicio en segundos. Esta es la
forma de configurarlo:

Nodo 1:
Hostname: nodo1.yachay.pe
IP Address: 192.168.1.81

Nodo 2:
Hostname: nodo2.yachay.pe
IP Address: 192.168.1.82

IP Virtual: 192.168.1.83

Configurar /etc/hosts y hostname en todos los nodos (nodo1 y nodo2)


Editar el siguiente archivo /etc/hosts:
# nodo1
127.0.0.1 localhost
192.168.1.81 nodo1.yachay.pe nodo1
192.168.1.82 nodo2.yachay.pe nodo2

# nodo2
127.0.0.1 localhost
192.168.1.81 nodo1.yachay.pe nodo1
192.168.1.82 nodo2.yachay.pe nodo2
Editar el siguiente archivo en el nodo1:
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=nodo1.yachay.pe

Editar el siguiente archivo en el nodo2:


vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=nodo2.yachay.pe

Actualizar repositorios e instalar paquetes de Heartbeat en todos los nodos (nodo1 y nodo 2)
yum update
yum install epel-release
yum -y install heartbeat

Copiamos los ficheros a la ruta /etc/ha.d el fichero de configuración de Heartbeat


cp /usr/share/doc/heartbeat-X.X.X/authkeys /etc/ha.d/
cp /usr/share/doc/heartbeat-X.X.X/ha.cf /etc/ha.d/
cp /usr/share/doc/heartbeat-X.X.X/haresources /etc/ha.d/

Editamos el fichero /etc/ha.d/authkeys añadiendo las siguientes líneas:


auth 2
2 crc

Cambiamos permisos a este fichero:


chmod 600 /etc/ha.d/authkeys

Editamos el fichero /etc/ha.d/ha.cf:


# Definimos los logs.
logfile /var/log/ha-log
logfacility local0
# Tiempo en segundos entre cada latido.
keepalive 2
# Tiempo en segundos en el que se considera un sistema inactivo.
deadtime 30
# Tiempo de espera en segundos para interfaces que levantan lentamente.
initdead 120
# Ping por el interface que comunica ambos nodos (interface de latido).
# La IP debe de ser la del interface del otro nodo.
bcast eth0
# Porque interface hacemos la comunicación entre nodos y por qué puerto.
udpport 694
# Definir el tipo de failback.
auto_failback on
# Nodos que componen el cluster.
node nodo1.yachay.pe
node nodo2.yachay.pe
El final de la configuración es editar el fichero /etc/ha.d/haresources:
Que contiene información de los recursos que queremos alta disponibilidad, también debemos
indicar el servicio que lo tendrá, en este ejemplo es el servicio web (httpd), en este caso
tenemos el nodo01 como activo y el nodo02 como pasivo.

nodo1.yachay.pe IPaddr::192.168.1.83/24/eth0:0 httpd

Copiamos el fichero de configuración del cluster /etc/ha.d del nodo01 al nodo02:


scp -r /etc/ha.d  root@192.168.1.82:/etc/

Configuración en el Apache
Configurar la IP por defecto en la que escucha el servidor, esto lo hacemos en ambos nodos:
vim /etc/httpd/conf/httpd.conf
Listen 192.168.1.83:80

Creamos un fichero index.html para tener una prueba gráfica de qué nodo nos da el servicio:
echo "nodo01 apache test server" > /var/www/html/index.html
echo "nodo02 apache test server" > /var/www/html/index.html

Iniciamos servicio cluster heartbeat en ambos nodos:


/etc/init.d/heartbeat start

Abrimos el navegador y ponemos la url:


http://192.168.1.83 
Nos saldrá el mensaje “nodo01 apache test server”
Paramos el heartbeat en el nodo01 y el mensaje lo veremos en el nodo02
/etc/init.d/heartbeat stop
http://192.168.1.83 
Nos saldrá el mensaje “nodo02 apache test server”

REFERENCIAS:
http://www.nexolinux.com/clustering-alta-disponibilidad-en-linux-heartbeat/
http://imanudin.net/2015/03/18/how-to-configure-online-failoverfailback-on-centos-6-using-
heartbeat/

También podría gustarte