Proxy Heartbeat basado en CentOS

Proxy Heartbeat basado en CentOS

Estoy pensando en configurar la conmutación por error automática para Apache y MySQL. Estoy pensando en poner un pequeño servidor proxy delante de dos cajas Apache y dos cajas MySQL. Apache sincronizará los datos del maestro -> esclavo de vez en cuando, y MySQL se configurará en Maestro/Esclavo para la replicación. En caso de falla, las cajas de respaldo podrían tomar el control hasta que se reconstruya el maestro.

El servidor proxy en frente simplemente se ejecutará como un policía de tráfico con algún tipo de software de latido (no estoy buscando equilibrio de carga en este momento). De esta manera no tengo que preocuparme por cambiar nuestro firewall en caso de que las cajas principales se caigan. EsLinux-HA¿La mejor opción o hay alguna sugerencia?

Respuesta1

Linux HA es un buen conjunto de herramientas. Si quieres algo simple, elige el latido 1; heartbeat 2 fue a clústeres de más de 2 nodos y configuración XML. 1 es suficiente para la mayoría de los casos simples de 2 nodos.

Pero si bien estoy de acuerdo en que tener un proxy frente a su aplicación siempre es una buena idea (ejecutar múltiples servidores como si vinieran de un servidor virtual, etc.), su configuración, tal como la describe, suena como la introducción de un nuevo SPF: el proxy.

Lo que probablemente sería mejor hacer en su caso sería ejecutar ambos servidores en una configuración activo-activo, incluido el servicio web completo y el servicio proxy completo en ambos (!).

Simplemente configure el latido para que se haga cargo de tres IP: la del servidor MySQL activo, la del servidor web activo y la del proxy activo (solo la última debe ser pública).

Luego configure el proxy para que vaya siempre a la IP interna del "servidor web activo" y el servidor web para que vaya a la IP del "servidor de base de datos activo".

Cuando esté listo para realizar una configuración de equilibrio de carga, sólo tiene que dejar de cambiar la IP del servidor web y, en su lugar, colocar ambos servidores web en el grupo de servidores back-end de su proxy.

La configuración inicial podría verse así:

   Server A (Apache on Port 80)   Server A (Apache Port 8080)    Server A MySQL <-----------
              |                \           |                 \        |                      \
Web <-> Public Proxy IP         >-> Shared Private Web IP     >--> Shared Private MySQL IP    | Mysql Synchronization Link
              |                /           |                 /        |                      /
   Server B (Apache on Port 80)   Server B (Apache Port 8080)    Server B MySQL <-----------

Luego, podrá pasar sin problemas al equilibrio de carga real (como se mencionó para la web) y a la agrupación en clústeres de MySQL cuando esté listo y listo, sin cambios visibles para el usuario.

Lo mejor de todo: seguir colocando su aplicación detrás del proxy inmediatamente (incluso si los proxies son "realmente" los mismos servidores) expondrá muchos errores en sus aplicaciones web (suposiciones sobre nombres de host y rutas en la creación de enlaces, etc.) tempranamente.

Respuesta2

http://studyhat.blogspot.com/2009/11/clustering-linux-ha.html

El enlace de arriba le ayuda a configurar Linux HA.

información relacionada