viernes, 11 de febrero de 2011
Heartbeat en Debian Squeeze
El famoso Heartbeat
Nos permite tener alta disponibilidad en caso haya problemas con un server estara el otro que permitira continuar con el servicio, siendo transparente para el usuario final, en este caso un ejemplo sencillo con el servicio web
El esquema es el siguiente
IP HA (compartida): 192.168.0.199
ServerA 192.168.0.200
ServerB 192.168.0.201
Configuramos el archivo /etc/hosts en ambos servers
127.0.0.1 localhost
192.168.0.200 ServerA
192.168.0.201 ServerB
Instalamos el paquete heartbeat en ambos servers
apt-get install heartbeat
En ambos server agregamos estas lineas en el /etc/sysctl.conf
net.ipv4.ip_nonlocal_bind=1
Lo ejecutamos con:
sysctl -p
Se genera el archivo y se copia en ambos servers sino lo hacen sale error cuando reinicien el hearbeat
#nano /etc/ha.d/authkeys
auth 3
3 md5 clave
Donde clave es el password.
Ahora configuramos los permisos del archivo
chmod 600 /etc/ha.d/authkeys
En Debian el archivo no encontraran el archivo en /etc/ha.d sino esta en /usr/share/doc/heartbeat/ha.cf.gz simple lo descomprimen y lo copian en /etc/ha.d.
Editamos el archivo /etc/ha.d/ha.cf en ServerA:
#
# keepalive: how many seconds between heartbeats
#
keepalive 2
#
# deadtime: seconds-to-declare-host-dead
#
deadtime 10
#
# What UDP port to use for udp or ppp-udp communication?
#
udpport 694
bcast eth0
mcast eth0 225.0.0.1 694 1 0
ucast eth0 192.168.0.201 #La ip del serverB
# What interfaces to heartbeat over?
udp eth0
#
# Facility to use for syslog()/logger (alternative to log/debugfile)
#
#logfacility local0
#
# Tell what machines are in the cluster
# node nodename ... -- must match uname -n
node ServerA
node ServerB
Copiamos el archivo al ServerB solo que cambiamos la ip de ServerA
Ahora vamos a modificar el archivo haresources, igual lo copiamos del /usr/share/doc/heartbeat/
Y hay ponemos la IP HA (compartida)
ServerA 192.168.0.199 apache2
Reiniciamos el servicio
:~# /etc/init.d/heartbeat restart
Stopping High-Availability services: Done.
Waiting to allow resource takeover to complete:Done.
Starting High-Availability services: IPaddr[3275]: INFO: Resource is stopped
Done.
:~#
Listo !!!
A modo de prueba reinicien uno de los servers y en el browser apunten a la IP HA (compartida), en mi caso 192.168.0.199, veran que no cae, es mas modifiquen el index en uno que diga ServerA y el otro serverB y refresquen el browser.
PD: La interface virtual donde estara la IP pues lo configuramos en /etc/network/interfaces
y agregamos.
auto lo eth0 eth0:0
allow-hotplug eth0 eth0:0
iface eth0:0 inet static
addres 192.168.0.199
netmask 255.255.255.0
Fuente:
http://bytecoders.net/content/servidores-de-alta-disponibilidad-heartbeat.html
http://lubl.de/blog/2009/10/setting-up-hearbeat-failover-for-an-ip-adress-on-debian-squeeze/
Suscribirse a:
Comentarios de la entrada (Atom)
1 comentario:
Excelente, muchas gracias el aporte ha sido muy valioso!
Publicar un comentario