Con la Alta disponibilidad y la replicación distribuida de datos, podemos conseguir que además de ese servidor principal, tengamos otro mas (o varios) que tengan los mismo servicios y datos. De esta manera, en caso que el servidor principal falle o se sature, el servidor secundario empezará a atender las nuevas peticiones, bajando de esta manera la carga del principal.
Todo esto depende de la manera en que se configure, si quisieramos balancear la carga y poder añadir mas de un nodo al cluster tendriamos que configurar HeartBeat como CRM. En el caso que a mi se me planteaba no era necesario un balanceador de carga ni mas de 2 nodos lo he configurado sin CRM, permitiendo solo 2 nodos en la red.
En primer lugar configuraremos heartbeat con apache, para mas tarde añadir MySQL. Los datos los sincronizaremos con rsync sobre ssh.
El primer paso es instalar HeartBeat en ambas maquinas, para proporcionar la alta disponibilidad de los servicios y chkconfig para replicar los ficheros de configuración. Tambien instalaremos apache y mysql que serán los primeros servicios que replicaremos.
# aptitude install heartbeat apache2 mysql-server
Una vez instalado, añadimos al fichero hosts los nombres de los servidores que formaran el cluster con su ip:
# nano /etc/hosts
127.0.0.1 localhost
192.168.10.10 master.casa.local master
192.168.10.11 slave.casa.local slave
Ahora pasamos a modificar los ficheros de configuración del servicio, que estarán situados en /etc/ha.d/:
# nano /etc/ha.d/ha.cf
#Archivos de log de HB debugfile /var/log/ha-debug logfile /var/log/ha-log keepalive 2 # tiempo en segundos en el que se considera un sistema como 'muerto' si no responde deadtime 10 # puerto de comunicacion por la interfaz de red udpport 694 # interfaz de red para el heartbeat bcast eth0 # se define el auto_failback en off para que el servicio solo se balancee ante el fallo de uno de los nodos auto_failback off # definicion de nodos del cluster node master.casa.local node slave.casa.local # definimos la IP donde se realiza ping constantemente para comprobar la correcta conectividad del nodo ping 192.168.10.1 #Deshabilitamos el CRM, ya que solo tenemos dos nodos conectados crm off
AUTHKEYS
auth 2
# 1 crc your_secret_password
2 sha1 your_secret_password
# 3 md5 your_secret_password
Ahora replicaremos los ficheros de configuracion al servidor secundario mediante SCP e iniciamos el servicio en ambos nodos. Si todo ha ido bien, al desconectar el cable en el servidor primario, el secundario levantará una interfaz de red con la IP del primario.
Filed under: GNU/Linux, How-To | Tagged: apache, GNU/Linux, heartbeat, HowTo, linux, linux-ha | Leave a comment »