heartbeat on Centos

Tenemos que tener configurado los ficheros hosts de los servidores que forman parte del clúster, todos los servidores se tienen que conocer, esto es muy importante para en buen funcionamiento de los servicios de clúster.
shell> vi /etc/hosts
127.0.0.1        localhost.localdomain localhost
192.168.0.101     fw01.dominio.local      fw01
192.168.0.102     fw02.dominio.local      fw02
Instalamos heartbeat
shell> yum install heartbeat
==========================================================================================================
 Package Arch Version Repository Size
==========================================================================================================
Installing: heartbeat x86_64 2.1.3-3.el5.centos extras 1.8 M
 Installing for dependencies: PyXML x86_64 0.8.4-4.el5_4.2 base 1.0 M
heartbeat-pils x86_64 2.1.3-3.el5.centos extras 220 k
heartbeat-stonith x86_64 2.1.3-3.el5.centos extras 348 k
Puede que nos de un error de en la instalación, tendríamos que volver a lanzar el yum install.
shell> yum install hearbeat
Tenemos que ponerlo en el inicio
shell> chkconfig –add hearbeat
Para configurar y poner en marcha el heartbeat necesitamos tres ficheros, estos están en la carpeta de la instalación, los copiamos en la carpeta de trabajo.

shell> cp /usr/share/doc/heartbeat-2.1.3/authkeys /etc/ha.d/
shell> cp /usr/share/doc/heartbeat-2.1.3/ha.cf /etc/ha.d/
shell> cp /usr/share/doc/heartbeat-2.1.3/haresource /etc/ha.d/
Eso tres ficheros son lo que tenemos que configurar para que funcione correctamente nuestro clúster, hay te tenernos exactamente IDENTICOS en los nodos.
shell> cd /etc/ha.d
Este fichero donde pondremos una palabra clave, esta sirve para la autentificación entre los nodos del clúster, nosotros utilizaremos “md5”
shell> vi authkeys
auth 3
#1 crc
#2 sha1 HI!
3 md5 xxxxxxx (contraseña)
Ahora configuraremos el heartbeat, podemos renombrar el fichero ha.cf por si queremos tener el original y leerlo para conocer todos los valores que se le pueden asignar.
shell> vi /etc/ha.d/ha.cf
###### log Heartbeat
logfile /var/log/ha-log    # donde queremos que guarde el log
logfacility local0         # escribe logs del sistema heartbeat
###### config Heartbeat
keepalive 2                     # cuantos segundos verifica que esta vivo
deadtime 10                # cuantos segundos espera hasta que lo considera muerto
warntime 5                 # cuantos segundos espera para lanzar una alerta
initdead 120              # este calor es para que no inicien los dos juntos
###### sync Heartbeat
ucast eth5 10.10.10.102    # comunicación del latido (IP del otro nodo)
bcast eth0                # tarjeta de red por la que verifica el estado del otro nodo.
bcast eth1                # tarjeta de red por la que verifica el estado del otro nodo.
udpport 694               # puerto UDP por el que se envía el latido
auto_failback on           # cuando se recupera el master, vuelve los recursos
node fw1                  # nodo que participa en el clúster
node fw2                  # nodo que participa en el clúster
Tenemos que configurar permisos para  el fichero “authtkeys” solo el root puede tener acceso.
shell> chmod 600 authkeys
Solo nos queda configurar los recursos que tendrá nuestro clúster, como nosotros estamos montado un firewall de dos nodos solo necesitaremos configurar las IP flotantes.
Como todos los ficheros, asegurémonos que es IDENTICO en los nodos.
Es muy importante asegurarnos que el hostname de los nodos esta correcto en el fichero hosts que hemos modificado al principio del documento.  
shell> uname -n
Solo nos queda configurar las IP flotantes
shell> vi /etc/ha.d/haresources

######################################################################
# IP flotante EXTERNA
######################################################################
# IP externa fw-cluster
fw01.dominio.local 192.168.1.100/27/eth1/192.168.1.224
# descripcion_2…
fw01.dominio.local 192.168.1.111/27/eth1/192.168.1.224
# descripcion_3…
fw01.dominio.local 192.168.1.112/27/eth1/192.168.1.224
######################################################################
# IP flotante INTERNA
######################################################################
# IP interna fw-cluster (GW)
fw01.dominio.local 192.168.0.100/24/eth0/192.168.0.255 

Solo nos queda probar la configuración que hemos realizado, si hemos seguido los pasos anteriores no tenemos que tener ningún problema, para realizar las pruebas en el nodo ESCLAVO:
shell> tail –f /var/log/ha-log
Puede  que como no hemos iniciado el servicio nos de un error de fichero log,  en ese caso iniciamos el servicio en el nodo ESCLAVO
shell> service heartbeat start
shell> tail –f /var/log/ha-log
En el nodo MASTER iniciamos el servicio

shell> service heartbeat start
Podemos ver la secuencia en el nodo ESCAVO, vemos como levanta el servicio y asigna los recursos al nodo MASTER.

Ahora podemos ver comprobar que la IP flotantes esta en el nodo MASTER


shell> ip addr
1: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 1x:1x:1x:1x:1x:1x brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.101/24 brd 192.168.0.255 scope global eth0
    inet 192.168.0.100/24 brd 192.168.0.255 scope global secondary eth0:0

2: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast qlen 1000
    link/ether 2x:2x:2x:2x:2x:2x brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.101/27 brd 192.168.1.127 scope global eth1
    inet 192.168.1.110/27 brd 192.168.1.127 scope global secondary eth1:0
    inet 192.168.1.111/27 brd 192.168.1.127 scope global secondary eth1:1
    inet 192.168.1.112/27 brd 192.168.1.127 scope global secondary eth1:2
Ahora podemos hacer las pruebas de cambio de nodo MASTER, para comprar lo que sucede cuando cambiamos de nodo podemos comprarlo mediante el comando que hemos utilizado anteriormente.
shell> tail –f /var/log/ha-log
Podemos realizar una parada de una de las tarjetas del nodo MASTER
shell> ifdown eth0
Veremos como los recursos pasa al nodo ESCLAVO y este queda como MASTER, cuando levantemos el nodo caído
shell> ifup eth0
Veremos como el MASTER recupera los recursos y el ESCLAVO se queda a la espera.



No hay comentarios: