1. Heartbeat
Rafael García Maliga
Miguel Ángel González González
Jose Antonio Albalat Almenara
Francisco Javier Gavilán Escriche
Miguel Lama del Valle
2. ¿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.
3. ¿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.
5. 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.
6. 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).
7. 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".
8. 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 1
node node02 #Máquina 2
9. 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
10. 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
11. 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.