12
Heartbeat Rafael García Maliga Miguel Ángel González González Jose Antonio Albalat Almenara Francisco Javier Gavilán Escriche Miguel Lama del Valle

Heartbeat

Embed Size (px)

Citation preview

Heartbeat

Rafael García Maliga Miguel Ángel González González

Jose Antonio Albalat AlmenaraFrancisco Javier Gavilán Escriche

Miguel Lama del Valle

¿Qué es Heartbeat?

Heartbeat es un servicio de agrupamiento cluster, es decir permite a un grupo de máquinas monitorizarse entre sí y de esta forma ganar un nivel extra de fiabilidad en un servicio.Permite a los clientes saber si uno de los nodos está presente o ausente, intercambiado fácilmente mensajes entre éstos. Cuando un Master Server (por ejemplo un Servidor Web) se viene abajo, un servidor secundario toma control de los servicios, algo parecido a los “discos espejo” entre servidores.

¿Cómo funciona Heartbeat?

Heartbeat es un Demonio (servicio) que trabaja enviando latidos (ping), los cuales verifican si el servidor principal esta activo o no, estos pings enviados por heartbeat requieren una respuesta por parte del servidor principal o master, si al cabo de un cierto tiempo el servidor no responde a dichos pings, heartbeat determina que ese servidor se encuentra inactivo /caído, y automáticamente activa al servidor secundario para que asuma el control de la red.

Implementación

Node01172.16.4.80

Node02172.16.4.81

Instalación

Debemos tener dos máquinas instaladas donde incluiremos Heartbeat en ambos equipos:

*NOTA: Antes de comenzar la configuración de Heartbeat, si no poseemos un Servidor DNS instalado debemos agregar cada una de las máquinas en su correspondiente fichero "/etc/hosts" para resolver los nombres.

Configuración

La configuración de "HeartBeat" se realiza a través de tres ficheros, los cuales debemos copiar del directorio "/usr/share/doc/heartbeat" a "/etc/ha.d/".

Los ficheros para configurar Heartbeaht son:

● authkeys ( Autenticación).● ha.cf ( Configuración del programa).● haresources ( Información de los recursos).

Fichero "Authkeys"

En este fichero estableceremos la contraseña compartida por los dos nodos.

auth 2 2 sha1 tests-ha

Damos permisos 600 al fichero "authkeys".

Fichero "ha.cf"

Se trata del fichero de configuración principal de Heartbeat. En él debemos agregar la siguiente información:

logfile /var/log/ha-log #Archivo de log de Heartbeat.logfacility local0 #Envía los mensajes a Syslog.keepalive 2 #Tiempo transcurrido entre el envío de cada latido.deadtime 30 #Tiempo que se considera que el nodo ha caído.initdead 120 #Tiempo para comenzar a levantar los servicios.bcast eth0 #Interfaz por la que se comunicarán los nodos.udpport 694 #Puerto que utiliza heartbeat.auto_failback on #Si el nodo cae y se recupera,vuelve a su rol original. node node01 #Máquina 1node node02 #Máquina 2

Fichero "hareresources"

Este fichero de configuración contiene la información de los recursos que queremos que tengan alta disponibilidad, como por ejemplo un servidor web:

[Máquina] [IPVirtual] [Servicios]

node01 172.16.4.82 httpd

Configurar el servidor Web

Si queremos que el servidor Web tenga alta disponibilidad debemos configurar el fichero httpd.conf e indicar la IP y puerto de escucha:

Listen [IPVirtual] [Puerto]Listen 172.16.4.82:80

Comprobación

Iniciamos el demonio de heartbeat en el Nodo01 y 02.

/etc/init.d/heartbeat start

Abrimos el navegador he introducimos la URL:

http://172.16.4.82

Se mostrará el contenido del servidor Web del Nodo01.

Paramos el demonio heartbeat del Nodo01:

/etc/init.d/heartbeat stop

Si volvemos al navegador y actualizamos la página, se mostrará el contenido del sercidor Web del Nodo02.