Heartbeat-twitter-01Cuando montamos un sistema de comunicaciones crítico, es imprescindible disponer de un sistema de alta disponibilidad que garantice el funcionamiento incluso en algún momento inesperado en el que el servidor principal tenga un problema y deje de dar servicio.

Generalmente esto se suele hacer instando un sistema heartbeat, pacemaker y drbd:

  • heartbeat : Encargado de comprobar que el servidor está operativo y tiene red.
  • pacemaker : Encargado de comprobar que los servicios están funcionando al 100%.
  • drbd : Encargado de mantener perfectamente duplicado el contenido de una partición sincronizada en varios sistemas.

Hay más herramientas que hacen esta labor, incluso hoy día existen alternativas que permiten ofrecer una alta disponibilidad no solo del sistema hardware, si no a nivel de sistemas virtualizados, pero ese es otro tema que trataremos más adelante.

La cuestión es que instalar estas tres herramientas no es algo trivial, requiere de una configuración muy específica que suele llevar bastante tiempo, no solo para dejarlo preparado, si no para comprobar que todo es correcto y el sistema está configurado para ofrecer una alta disponibilidad confirmada.

Hace poco tuve la oportunidad de “pelearme” con el módulo de alta disponibilidad de Elastix en varias ocasiones diferentes, un módulo que, pese a que “únicamente” instala este software y lo configura, también lleva el control del estado de redundancia y disponibilidad, lo que lo convierte en una herramienta bastante práctica para el tiempo invertido en configurarlo.

Palosanto desarrolló un Addon para Elastix que permite configurar este sistema de una forma rápida, fácil y segura con lo que han denominado: Addon de High Availability de Elastix. Este addon es comercial (requiere de una licencia por cada servidor que forme el cluster), pero debido al tiempo que nos va a ahorrar en la instalación, configuración y verificación, ya os puedo decir que merece la pena.

Además disponemos de algo que puede parecer una tontería pero creo que es lo mejor del addon: Añade una nueva pestaña dentro del sistema Elastix que nos permite comprobar visualmente que todo está preparado ante un problema con el servidor principal.

Preparación de la instalación

Para comenzar con la instalación, es necesario preparar el sistema con una cosa importante: ambos sistemas deben disponer de una partición exactamente igual (mismo tamaño) por lo que es recomendable tenerlo en cuenta antes de iniciar la instalación para hacer las particiones exactamente idénticas. Si no, seguramente nos encontraremos con un problema a la hora de instalar la partición DRBD y tendremos que reinstalar todo de nuevo. 🙁

Es altamente recomendable preparar e instalar la “alta disponibilidad” antes de empezar a configurar el sistema (extensiones, trunks, usuarios, rutas, etc.).

Es importante asignarle un nombre a cada sistema: nodo1 y nodo2, principal y esclavo, o algo así, debemos editar el archivo /etc/hosts de ambos sistemas y asegurarnos que en ambos equipos están las dos entradas:

10.10.10.5    nodo1.sinologic.net    nodo1
10.10.10.6    nodo2.sinologic.net    nodo2

También debemos preparar una dirección IP principal que será la que utilizarán ambos equipos como IP de servicio, por ejemplo: 192.168.1.10 y que será la que utilizaremos en la configuración de los teléfonos como IP del servidor SIP. A todos los efectos, esta será la única dirección IP que tendremos en mente.

Partimos entonces de que disponemos de dos servidores Elastix, prácticamente clones entre sí, con dos particiones:

  • Partición principal con el sistema operativo.
  • Partición secundaria que deberá estar vacía y que el addon utilizará para guardar la información importante.
registro-elastix

Para instalar el Addon, lo primero que tenemos que hacer es registrar nuestro Elastix para disponer de un identificador único.

 

Una vez registrado, tendremos un ID de Servidor que es necesario para poder adquirir la licencia personal para ese servidor.

Una vez registrado, tendremos un ID de Servidor que es necesario para poder adquirir la licencia personal para ese servidor.

Instalación del Addon de Alta Disponibilidad

Cuando tengamos los servidores con Elastix correctamente registrados y con su propia ID de Servidor (cada servidor tendrá la suya propia) procederemos a ir a la pestaña de Addon y seleccionar el “High Availability” donde para instalarlo necesitaremos pulsar en Comprar / Buy que nos redirigirá a una página donde realizaremos el pago para la primera licencia. Necesitaremos una licencia por cada servidor, así que si vamos a utilizar dos servidores para hacer la alta disponibilidad, necesitaremos instalar y comprar una licencia por servidor.

Una vez realizado el pago, recibiremos un código de licencia también conocido como código de activación que deberemos introducirla en la nueva pestaña que nos habrá aparecido: High Availability.

eha01

Una vez introducido el código que hemos recibido, se nos desbloqueará la página de configuración del addon de Alta disponibilidad donde (y ojo con esto) sólo podremos configurarla una vez, ya que una vez instalada, no tiene sentido cambiar estos parámetros ya que perjudicaría la estabilidad de la redundancia.

Configuración de la redundancia

Pantalla principal del configurador del addon de Alta Disponibilidad

Pantalla principal del configurador del addon de Alta Disponibilidad

La pantalla principal nos pide dos valores:

  • Dirección IP del servidor 2
  • Contraseña de ‘root’ del servidor 2

Con esto, el sistema principal puede acceder remotamente al servidor 2 y realizar la instalación y configuración de la redundancia.

Una vez introducido ambos parámetros, el sistema se conectará al addon de redundancia del segundo servidor y nos solicitarán tres valores:

  • Hostname del servidor 1  : nodo1.sinologic.net
  • Interfaz de red del servidor 1  : eth0
  • Partición del nodo 1 : /dev/sda2

En la siguiente pestaña (Interfaz Node 2 Configuration’s) rellenaremos los mismos parámetros pero utilizando los datos del servidor 2:

  • Hostname del servidor 2 : nodo2.sinologic.net
  • Interfaz de red del servidor 2 : eth0
  • Partición del nodo 2 : /dev/sda2

Y en la pestaña de (Other Confgurations) indicaremos lo más importante:

  • Dirección IP principal : 10.10.10.1 (la dirección IP principal debe estar en el rango de la red normal)
  • Directorios que queremos redundar (aquellos directorios del sistema cuyo contenido queremos que estén siempre disponibles. Por ejemplo /tftpboot, /opt, etc…
  • Servicios que queremos redundar. Por ejemplo: dialer, vtiger, a2billing, etc…

Finalmente, una vez tengamos configurado estos parámetros con todos los datos de nuestros servidores, con las direcciones IP correctas y que queremos utilizar, pasamos iniciar la instalación. Para ello, veremos que hay un botón “Replicate” donde iniciaremos la replicación y que tardará en función del disco duro y directorios a sincronizar. Mientras tanto, veremos una ventana con una barra de progreso como esta:

Según el tamaño de la partición y los directorios, el sistema puede llegar a tardar desde varios minutos, hasta varias horas, así que paciencia…

 

Comprobación de instalación

 

A todos nos gusta ver un “OK” en verde que nos indica que todo es correcto.

Una vez finalizado, podremos acceder a la dirección IP que hemos configurado como Principal y acceder a la página de “Alta Disponibilidad” así que podremos ver una pantalla muy interesante como la siguiente:

Captura de pantalla de 2016-06-14 12-30-06

 

2 Comentarios

  • Gracias Elio,
    Tu que has podido trabajarlo, sería posible tener los sistemas en diferentes redes interconectados por una red privada (VPN, MPLS…)?
    Un saludo,

    • Hola Sergi,

      La teoría dice que sí… si ambos equipos están en una VPN, "lógicamente" es como si estuviera uno al lado del otro. La realidad es que están a cierta distancia y el tráfico que se envían para hacer el sincronismo de datos puede verse afectado por algún problema de red.

      Por lo que, aunque creo que sí podrías, yo no lo haría. 🙂

Archivos

© 2014 Sinologic, inc. All rights reserved.

Menú

Redes sociales