En la entrada sobre DRBD explicábamos cómo crear RAID1 sobre dos servidores conectados por red.
Imaginemos que hemos instalado un servidor web en el servidor maestro, con lo que tendremos replicada la información en el servidor secundario en tiempo real gracias al DRBD. Esta configuración de los servidores nos permite recuperar el servicio sin pérdida de información en muy poco tiempo. Sin embargo, necesitamos la intervención del administrador para levantar el servicio tras caída del servidor primario: cambiar el estado del DRBD de secundario a primario, configurar la red y levantar el servicio Web.
Para conseguir alta disponibilidad necesitamos que el propio sistema realice todos estos pasos de manera automática, dando al usuario la sensación de que el servicio no ha sufrido ninguna interrupción (el tiempo sin servicio sería muy pequeño).
El software que se encarga de proporcionar alta disponibilidad al sistema, realizando todos los pasos necesarios para ello, se llama HeartBeat. Está disponible para Linux, y ha de instalarse en los dos servidores.
Heartbeat crea una IP virtual que será la que da el servicio (la IP a la que nos conectaremos para acceder al servicio web). Esa IP sólo estará activa en el servidor maestro. Una caída del servidor maestro provoca que el secundario tome el mando, coja la IP virtual y levante el servicio (además de activar el DRBD como primario para poder acceder a los datos actualizados).
El punto crítico será conocer cuándo se corta el servicio para poder activar el servidor secundario. Heartbeat necesita una conexión por red entre ambos servidores (podemos utilizar el mismo cable directo de la replicación DRBD) para averiguarlo.
De hecho, Heartbeat se encuentra constantemente escuchando los ‘latidos’ (un latido corresponde a un ping) del otro servidor. Cuando el HeartBeat del secundario deja de escuchar los latidos del servidor primario, lo declara como inactivo, y automáticamente realiza los pasos necesarios para tomar el mando y continuar dando servicio.
Esta configuración también nos permitirá apagar temporalmente (por mantenimiento de hardware, software, etc.) un servidor con la tranquilidad de saber que el servicio no se verá interrumpido.
Existe abundante información en Internet sobre DRBD y HeartBeat para poder realizar una instalación paso a paso.
Esta es la URL oficial de HeartBeat (en inglés): http://linux-ha.org/wiki/Heartbeat