¿Servidor Linux con carga equilibrada a través de Internet?

¿Servidor Linux con carga equilibrada a través de Internet?

Estoy investigando la configuración de una solución de servidor con carga equilibrada que consta de tres cajas CentOS 5.4. Dos de estas cajas residirán en una instalación, mientras que una tercera residirá en una instalación diferente.

Actualmente estoy trabajando para configurar heartbeat, ldirectord, ipvsadm para equilibrar la carga de las máquinas, pero no estoy seguro de que funcione con

No estoy muy familiarizado con los detalles detrás de cómo funcionan todos estos, pero ¿funcionará correctamente el equilibrio de carga cuando estos servidores no estén todos en la misma LAN? No estoy seguro de si Heartbeat usa SNMP para enviar señales o no, lo que solo funcionaría a través de una LAN. ¿Alguien ha probado esto o ha encontrado una solución diferente?

Respuesta1

Este es un tema extenso que se complica rápidamente. Elteorema de la PACes un buen punto de partida, ya que identifica las decisiones de nivel superior que deben tomarse.

Cuando se trata de una aplicación web con mucha escritura, resulta más difícil distribuir la carga a través de Internet manteniendo la integridad de los datos. Las aplicaciones centradas en lectura (¡búsqueda!) son más fáciles de distribuir, ya que no es necesario preocuparse por la logística de escribir los datos.

ipvspermite que Linux se convierta esencialmente en un conmutador de capa 4. He tenido mayor éxito usándolo en la capa 2 (ARP/ethernet - capa de enlace) y esa sería mi primera opción, pero puede ser factible usar algo comoLVS-Tunpara servidores geográficamente separados que no tienen una conexión en la capa de transmisión. Tenga en cuenta que ipvsadm es la herramienta de usuario para ipvs y ldirectord es un demonio para administrar los recursos de ipvs.

el latido del corazón ha sido efectivamente reemplazado pormarcapasos. Para monitorear el otro servidor, es esencial tener múltiples enlaces. El riesgo de no tener una conexión física serial o redundante entre los servidores es sustancialmente mayor. Incluso varias conexiones a Internet físicamente distintas que monitorean los latidos del corazón entre los dos sitios están obligadas a fallar. Aquí es donde entra en juego el riesgo de los datos, ya que la conmutación por error automática corre el riesgo de que los datos se corrompan por el cerebro dividido. No existe un método ideal para mitigar este riesgo.

Podría inyectar más lógica en el proceso de conmutación por error. Por ejemplo:

Si la ruta 1 está inactiva, la ruta 2 está inactiva, este proceso no se está ejecutando y no puedo hacer esto, entonces conmuta por error.

Esto reduce el riesgo, pero aun así no necesariamente hasta el punto de poder conectar físicamente los servidores a corta distancia.

Con contenido estático, es fácil emplear el uso de unRed de distribución de contenidos.

El equilibrio de carga y la conmutación por error simples se pueden lograr usandoDNS por turnos, que es más falible.

Protocolo de puerta de enlace fronterizaes un protocolo de red que puede permitir una alta disponibilidad en la capa de red.

En última instancia, con suficiente dinero (tiempo/recursos) se puede desarrollar un SLA apropiado para permitir un alto grado de disponibilidad. Su presupuesto será su máxima limitación. Defina sus requisitos y luego vea qué puede lograr dentro de su presupuesto, ya que habrá concesiones.

A menudo he descubierto que tiene más sentido, al menos en el caso de aplicaciones con mucha escritura, habilitar la alta disponibilidad y la conmutación por error automática dentro de la misma premisa física. Como parte del plan de recuperación ante desastres y el SLA, tener un proceso de conmutación por error manual en un sitio físicamente separado, lo que permite mantener la integridad de los datos y al mismo tiempo mantener un nivel de servicio de calidad.

Respuesta2

Tener diferentes servidores en diferentes ubicaciones no debería ser un problema, hasta que puedan comunicarse entre sí.
El problema sería el ancho de banda entre ellos y lo que haces fluir por él.
Heartbeat no usa snmp y puede ser multidifusión, unidifusión o transmisión. Es un protocolo específico (de todos modos, snmp funciona entre redes LAN porque es un protocolo udp).
¿Qué tipo de servicio están intentando equilibrar la carga?

Respuesta3

Otra idea sería alguna implementación de DRBD con alta disponibilidad. Mira este sitiohttp://www.drbd.org/home/what-is-drbd/

información relacionada