Redes Privadas Virtuales

download Redes Privadas Virtuales

of 6

description

Alta Disponibilidad con Heartbeat

Transcript of Redes Privadas Virtuales

  • Redes Privadas Virtuales: Alta Disponibilidad con Heartbeat

    http://redes-privadas-virtuales.blogspot.com.es/2009/03/alta-disponibilidad-con-heartbeat.html[24/04/2014 16:51:06]

    In computing, a single second can be a lifetime

    Redes Privadas Virtuales

    MAR 8, 2009

    Alta Disponibilidad con Heartbeat

    Heartbeat es una aplicacin de libre distribucin disponible para los sistemas operativos de tipo Linux, FreeBSD y Solaris, que permite configurar sistemas de Alta Disponibilidad ofreciendo procesos de comunicacin y monitorizacin de los nodos que conforman el cluster.

    Continuando con el Sistema de Alta Disponibilidad y Balanceo de Carga que se est desarrollando (el ltimo punto que se trat fue el cluster para base de datos), vamos a instalar Heartbeat en los dos nodos frontales (HA1 y HA2), configurando el nodo HA1 como activo y el nodo HA2 como pasivo.

    Si recordamos el primer artculo que se desarroll en donde se presentaba el esquema general del cluster, el sistema estaba formado por dos nodos frontales en donde slo uno de ellos iba a estar activado (HA1), recibiendo las peticiones y balancendolas a continuacin a los dos nodos traseros. La mquina activa iba a tener dos direcciones IP virtuales configuradas (se denominan virtuales porque cuando HA1 falle, HA2 las asumir), 192.168.1.20 y 10.0.0.20, y una serie de servicios levantados.

    Loading...

    SEARCH THIS BLOG

    Cloud computing Clusters Data storage Databases

    Linux tools Monitoring Networking

    Operating systems Performance Personal Programming Security Theory Troubleshooting Virtualization VPN Web servers

    LABELS

    Backup High

    availability Load

    balancing

    Windows tools

    2013 (9)

    2012 (42)

    2011 (52)

    2010 (53)

    2009 (56) December (5)

    November (4)

    October (5)

    September (4)

    August (5)

    July (6)

    June (5)

    May (6)

    FILES

  • Redes Privadas Virtuales: Alta Disponibilidad con Heartbeat

    http://redes-privadas-virtuales.blogspot.com.es/2009/03/alta-disponibilidad-con-heartbeat.html[24/04/2014 16:51:06]

    Cmo funciona todo esto? Es muy sencillo, el Heartbeat del nodo activo (HA1) enviar peridicamente "latidos" al nodo pasivo (HA2) para indicarle que sigue vivo. En caso de que el nodo pasivo no reciba los latidos, interpretar que el nodo HA1 est cado, y en consecuencia pasar a modo activo, levantando automticamente las direcciones IP virtuales y arrancando los servicios gestionados.

    Los latidos pueden ser enviados a travs de cualquiera de los interfaces de red, y tambin como complemento y de forma redundante, a travs de un cable serie.

    Y con el objetivo de incrementar ms aun la fiabilidad del sistema, vamos a instalar un watchdog software que se encargue de controlar a Hearbeat. Si Heartbeat se cae, el watchdog reiniciar la mquina transcurrido un minuto.

    Vamos a comenzar instalando los paquetes watchdog y heartbeat en ambos nodos frontales.

    ~# aptitude install watchdog heartbeat

    Heartbeat utiliza tres tipos de ficheros: authkeys (lugar donde se establece la contrasea compartida por los dos nodos), ha.cf (fichero de configuracin de Heartbeat) y haresources (fichero donde se indica cul ser el nodo activo, as como los servicios a gestionar).

    A continuacin se muestra el contenido del fichero authkeys. Este archivo ser idntico en ambos nodos frontales y por seguridad, deber tener exclusivamente permisos de lectura/escritura para el usuario root.

    ~# cat /etc/ha.d/authkeysauth 11 md5 d2R5h4!

    April (4)

    March (4)Balanceo de carga con LVS (I)

    Sistema de particiones en Linux

    Particiones de disco

    Alta Disponibilidad con Heartbeat

    February (3)

    January (5)

    2008 (16)

    SUBSCRIBE TO

    Posts

    Comments

    FOLLOW BY EMAIL

    Javier Andrs Alonso has got a Master's Degree in Telecommunication Engineering and a Bachelor's Degree in

    ABOUT THE AUTHOR...

  • Redes Privadas Virtuales: Alta Disponibilidad con Heartbeat

    http://redes-privadas-virtuales.blogspot.com.es/2009/03/alta-disponibilidad-con-heartbeat.html[24/04/2014 16:51:06]

    ~# chmod 600 /etc/ha.d/authkeys

    Este fichero contiene informacin que Heartbeat utiliza para autenticar a los miembros del cluster. La primera lnea indica a Heartbeat qu clave debe utilizarse para firmar los paquetes salientes (latidos), ya que se pueden definir varias claves en el mismo archivo. La siguiente lnea indica el algoritmo que se utilizar para firmar los paquetes (md5) y la propia clave privada con la que se realizar la firma (d2R5h4!).

    El siguiente fichero que vamos a tratar va a ser ha.cf. Este archivo se encarga de listar los nodos del cluster (en este artculo cuando hablamos de cluster, nos estamos refiriendo al cluster de Alta Disponibilidad, es decir, los dos nodos frontales), la topologa de comunicacin y las caractersticas de la configuracin que estn habilitadas.

    ~# cat /etc/ha.d/ha.cf# Archivo donde se escribirn los mensajes de debugdebugfile /var/log/ha-debug

    # Archivo donde se escribirn el resto de mensajeslogfile /var/log/ha-log

    # Facility a emplear por el sysloglogfacility local0

    # Tiempo transcurrido entre el envo de cada uno de los latidos (segundos)keepalive 2

    # Tiempo transcurrido hasta declarar al nodo como cado (segundos)deadtime 12

    # Tiempo transcurrido antes de generar un warning (segundos)warntime 6

    # Tiempo transcurrido para comenzar a levantar los servicios (segundos)initdead 18

    # Puerto para la comunicacion UDPudpport 694

    # Interfaz utilizado para enviar los mesajes de broadcastbcast eth0

    # Interfaz y nodo al que enviar los latidosucast eth0 ha2

    Telecommunication Technical Engineering (specialising in Telematics), from the Polytechnic School of the University of Alcal de Henares.

    PUBLISHED BOOKS

    POINTS OF SALE

  • Redes Privadas Virtuales: Alta Disponibilidad con Heartbeat

    http://redes-privadas-virtuales.blogspot.com.es/2009/03/alta-disponibilidad-con-heartbeat.html[24/04/2014 16:51:06]

    # Si el nodo se cae y se vuelve a recuperar, recuperara su rol originalauto_failback on

    # Si el Heartbeat local no enva latidos en un minuto, reinicia la maquinawatchdog /dev/watchdog

    # Maquinas que conforman el clusternode ha1node ha2

    Este fichero ser el mismo en ambos nodos, lo nico que cambiar ser la lnea ucast eth0 haX, que en el caso del nodo HA1 ser ucast eth0 ha2 (enviar los latidos al nodo HA2 a travs del interfaz eth0) y para HA2 ucast eth0 ha1 (enviar los latidos al nodo HA1 a travs del interfaz eth0).

    Y ya para finalizar, el ltimo fichero que habr que configurar ser haresources. Este archivo se utilizar para definir los recursos que Heartbeat deber gestionar. Ser el mismo para los dos nodos.

    ~# cat /etc/ha.d/haresourcesha1 IPaddr2::192.168.1.20 IPaddr2::10.0.0.20 mysql-ndb-mgm ldirectord::ldirectord.cf LVSSyncDaemonSwap::master mon

    La lnea de datos est formada por dos parmetros, el primero de ellos es el nombre o direccin IP de la mquina activa (HA1, recordar que definimos las direcciones IP asociadas al nombre de la mquina en el fichero /etc/hosts) y el segundo parmetro ser la lista de recursos a gestionar. Es necesario establecer una tabulacin a continuacin del primer parmetro.

    Dentro de la lista de recursos, Heartbeat levantar en la mquina activa las dos direcciones IP virtuales (192.168.1.20 y 10.0.0.20) y arrancar un grupo de servicios, como por ejemplo el demonio de administracin del cluster MySQL (mysql-ndb-mgm). El resto de servicios sern detallados en los siguientes artculos. A su vez en la mquina pasiva, las dos direcciones IP virtuales no estarn configuradas y los servicios sern detenidos.

    Los servicios definidos en haresources se lanzan de izquierda a derecha cuando Heratbeat los arranca (start), y los detiene de derecha a izquierda (stop).

    Debido a que Hearbeat se encarga de la administracin de dichos servicios (sus scripts de gestin residen en /etc/init.d/), habr que eliminar todos los enlaces relacionados que se encuentren dentro del directorio /etc/rc[nivel_de_seguridad].d/. Vamos a eliminar en ambos nodos el enlace a mysql-ndb-mgm. El resto de enlaces de los otros servicios los iremos quitando a medida que vayamos viendo sus funciones en los siguientes artculos.

    ~# update-rc.d -f mysql-ndb-mgm remove

    Cuando el sistema est en funcionamiento (nodo HA1 activo y nodo HA2 pasivo), si hacemos la prueba de matar al demonio de Heartbeat en HA1 (~# pkill heartbeat), al visualizar el log de Heartbeat en el nodo HA2 podremos ver los siguientes mensajes:

  • Redes Privadas Virtuales: Alta Disponibilidad con Heartbeat

    http://redes-privadas-virtuales.blogspot.com.es/2009/03/alta-disponibilidad-con-heartbeat.html[24/04/2014 16:51:06]

    Posted by Javier Andrs Alonso at 1:18 PM

    Labels: Clusters, High availability

    root@ha2:~# >/var/log/ha-log ; tail -f /var/log/ha-logWARN: node ha1: is deadinfo: Dead node ha1 gave up resources.info: Resources being acquired from ha1.info: Link ha1:eth0 dead....

    Es decir, podremos apreciar cmo HA2 ha detectado la cada de HA1 y a continuacin este ltimo asumir el rol de activo, levantando las dos direcciones IP virtuales y los servicios gestionados.

    Para iniciar, detener o reiniciar Heartbeat se pueden emplear los siguientes comandos:

    ~# /etc/init.d/heartbeat start~# /etc/init.d/heartbeat stop~# /etc/init.d/heartbeat restart

    No comments:

    Post a Comment

  • Redes Privadas Virtuales: Alta Disponibilidad con Heartbeat

    http://redes-privadas-virtuales.blogspot.com.es/2009/03/alta-disponibilidad-con-heartbeat.html[24/04/2014 16:51:06]

    Newer Post Older PostHome

    Subscribe to: Post Comments (Atom)

    Redes Privadas Virtuales by Javier Andrs Alonso is licensed under a Creative Commons Reconocimiento-Sin obras derivadas 3.0 Espaa License.

    Picture Window template. Powered by Blogger.

    redes-privadas-virtuales.blogspot.com.esRedes Privadas Virtuales: Alta Disponibilidad con Heartbeat

    FkLWNvbi1oZWFydGJlYXQuaHRtbAA=: form1: email: Email address...input1: