systemadmin.es > Clustering > Alta disponibilidad: cluster Activo-Activo y Activo-Pasivo

Alta disponibilidad: cluster Activo-Activo y Activo-Pasivo

En encuentros con comerciales estoy harto de escuchar los mismos “errores” sobre el tipo de alta disponibilidad de los equipos referente a si son activo-activo o activo-pasivo.

Podemos hablar de varias configuraciones de cluster, pero en general nos podemos quedar con dos de básicas:

  • Activo-Activo: Todos los nodos dels cluster reciben una parte de la misma carga.
  • Activo-Pasivo: La carga la asume uno de los nodos y en caso de caída se traspasa a otro nodo

Muchas veces se abusa de estas definiciones quizá demasiado amplias para vender la moto. Suponemos un cluster así:

Cluster MySQL PostgreSQL

Cluster MySQL PostgreSQL

Este cluster evidentemente están los dos haciendo cosas, por lo que en cualquier presentación hecha por un comercial tendría muchos números de escuchar que es un “activo-activo“.

Entiendo que quieran decir que no hay un nodo desaprovechado, pero desde el punto de vista más estricto el servicio esta activo siempre en solo uno de los dos, por lo que el servicio es activo-pasivo.

Para hablar de uno activo-activo deberíamos hablar de al menos dos equipos con el mismo servicio que los clientes puedan conectar a ellos indistintamente. Un ejemplo muy claro sería un conjunto de frontales que sirven el mismo contenido indistintamente:

Cluster de Apaches activo-activo

Cluster de Apaches activo-activo

12 comments to “Alta disponibilidad: cluster Activo-Activo y Activo-Pasivo”

  1. Hola,
    y si corres unos servicios en uno y otros servicios en el otro ?

    se considera activo-activo ?

    Saludos.

    Santi.

    PD: excelente web

  2. Muchas gracias.

    Tienes que verlo desde el punto de vista de un servicio: ¿Esta en todos los nodos respondiendo a peticiones? Entonces es activo-activo, sino activo-pasivo

    Puedes tener varios servicios repartidos entre varios nodos, pero todos son activo-pasivo

    saludos!

  3. ok,

    no lo veía desde ese punto de vista.

    Salu2

  4. El problema de concepto, al menos para mi, es diferenciar el cluster activo-activo del balanceo de carga. ¿Cuando hablamos de una cosa y cuando de otra?

  5. Hombre eso es sencillo. En un sistema de balanceo de carga cada ejecucion es individual y por ejemplo en un balanceo de carga de apache, cada maquina o servicio es individual del servicio o maquina de al lado, no sabe lo que hace si siquiera sabe de su existencia. Mientras que en un cluster si comparten datos y son el mismo servicio realmente. Como una base de datos, la base es unica pero el servicio lo dan todos los nodos activos del cluster…

    Una mezcla interesante de este concepto es un cluster de tomcat con balanceo de carga. Cada tomcat se ejecuta en individual pero saben las sesiones que abre el tomcat de al lado, cada uno tiene su ip propia y delante de ellos se monta un balanceador de carga que se encarga de distribuir las peticiones. si uno de ellos cae el otro sabe las sesiones que tenia abiertas y les puede seguir dando servicio.
    Tambien hay que tener claro que un cluster puede ser de OS o de aplicación … en fin son concepto que aunque se mezclan son sencillos de diferenciar.

  6. @josemaria: Balanceo de carga es el sistema con el que repartes las peticiones entre los nodos, por lo que realmente son cosas diferentes.

    Entre apaches puedes hacer simplemente un round-robin DNS o bien con un balanceado como LVS

    saludos!

  7. Hola,

    Me parece muy interesante lo que comentáis, ahora mismo estoy empezando a mirar temas de alta disponibilidad, y tengo la intención de poder hacer alta disponbiilidad con apache, postgresql y algún que otro serrvidor de aplicaciones, …

    Mirando he visto que con apache, cómo ya comentáis hay la opción de por DNS, … y alguna que otra más pero de postgres activo-activo veo que la cos está más díficil, en todo caso creo que es más factible activo-pasivo, o no?

    Me podéis recomendar alguna web o documentación ineteresante sobre éste mundillo

    Gracias y felicidades por el blog

  8. Tienes opciones parecidas al MySQL, lo puedes encontrar en la wiki de PostgreSQL. En la última versión creo recordar que puedes tener replicación sin usar software de terceros, pero creo que no ha salido la versión final aún.

  9. disculpen, y para replicar los archivos del sitio (el documentroot del virtual host) como lo recomiendan? con un servidor nfs?, replicando con rsync?, ….. manualmente subiendo a cada nodo los archivos?…..alguna otra forma?

  10. Depende del número de nodos, para un entorno pequeño con rsync no se hace pesado de mantener. Para entornos más grandes con NFS para la configuración puede resultar más cómodo

  11. Y yo aún lo resumiría en dos partes:

    Alta disponibilidad: activo – pasivo

    Alto rendimiento: activo – activo

  12. Justo! Es un buen resumen

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>