buenas soluciones de failover / alta disponibilidad para linux? [cerrado]


9

Tengo varios casos en los que necesito migrar aplicaciones de un servidor a otro en caso de falla (bloqueo o bloqueo del servidor).

En solaris hacemos esto con VCS (Veritas Cluster Server). ¿Qué opciones están disponibles para Linux?

Indique el nivel de esfuerzo para configurar / mantener o el costo (si corresponde) para cada uno.

- Más detalles añadidos -

Para dar una idea del nivel de complejidad:

  • el servidor que falla puede bloquearse o bloquearse sin previo aviso, aún puede ser capaz de hacer ping
  • el servidor de recuperación necesita iniciar sus aplicaciones en failover
  • una vez que el servidor que falla o los ciclos de encendido, se vuelve pasivo para no interferir con el servidor de recuperación.

Este es un nodo de recopilación o cálculo de datos, no una base de datos, por lo que las soluciones más simples podrían funcionar.

- aún más detalles (lo siento) -

El almacenamiento compartido no es una opción, pero no es necesario migrar mucho estado (si lo hay) de un servidor a otro. Mantenemos los dos servidores sincronizados a través de rsync.

Muchas gracias por todas las publicaciones hasta ahora.

Respuestas:


10

http://linux-ha.org/ para todas sus necesidades de alta disponibilidad. Como dice la canción, las mejores cosas de la vida son gratis.


¿me puede recomendar un buen libro?
slf

4

He usado una variedad de soluciones de clúster en Linux. También soy un defensor de la gestión de la configuración, por lo que agregaré un poco sobre eso en mis descripciones (Chef o Puppet, es decir)

Veritas Cluster Server (VCS). Ha pasado un tiempo, pero implementamos algunos clústeres de Linux VCS en RHEL 3.0. Espero que esté disponible en RHEL 5.0. Debe estar familiarizado con la dificultad de configurar esto, ya que es un territorio familiar. Como puede saber, VCS es costoso. Como anécdota, VCS no es adecuado para ser configurado por la administración de configuración.

Hablando de RHEL, Red Hat Cluster Suite ha madurado mucho desde su lanzamiento original con RHEL 2.1. La fase de instalación / configuración es bastante sencilla, y la documentación es muy completa y útil, y al igual que VCS, puede comprar soporte del proveedor. Para productos HA comerciales, RHCS tiene un precio razonable. Solo usaría la gestión de configuración para instalar los paquetes y mantenerlos "a mano" a través de la interfaz web. Además, he oído que algunas personas lo usan en plataformas que no son de Red Hat, aunque no tengo experiencia con eso directamente.

Linux-HA (drbd / heartbeat) también es excelente, aunque desde VCS la configuración puede parecer simplista, pero difícil de manejar. Esto es bastante fácil de automatizar con una herramienta de administración de configuración.

Como prueba de concepto, he instalado un clúster de Linux con HACMP de IBM, su software de agrupación AIX. No recomendaría esto, ya que recuerdo que es más costoso que incluso VCS. IBM tiene procedimientos específicos para instalar y mantener HACMP, no usaría la gestión de configuración aquí.


4

Michael tiene razón en que la comunidad está un poco fracturada en este momento, y la documentación es un poco escasa.

En realidad, está todo ahí, es imposible de entender. Lo que realmente quiere es el libro electrónico "Explicación de la configuración del marcapasos" ... ( Enlace a PDF ). Querrás leerlo una docena de veces, y luego tratar de implementarlo, y luego leerlo una docena de veces para que puedas asimilarlo.

La implementación más compatible de los servicios de clúster para Linux en este momento probablemente sea el SLES11 de Novell y su Extensión de alta disponibilidad (HAE). Acaba de salir hace un mes o dos, y viene con un buen manual grueso de 200 páginas que describe cómo configurarlo y hacer que las cosas funcionen. Novell también ha sido excelente sobre el soporte de configuraciones de marcapasos en varias formas.

Más allá de eso, está la implementación de RHEL5, que tiene el mismo paquete y documentación decente, pero creo que es más costosa que SLES. Al menos, es para nosotros.

Evitaría Heartbeat en este momento e iría con Pacekmaker / OpenAIS porque estarán mucho mejor respaldados en el futuro. SIN EMBARGO, el estado actual de la comunidad es tal que hay algunos expertos, hay algunas personas que lo manejan en producción y hay un montón de personas que no tienen ni idea. Únase a la lista de correo de Marcapasos y preste atención a un hombre llamado Andrew Beekhof.

Editar para proporcionar los detalles solicitados:

Pacemaker / OpenAIS utiliza una operación 'monitor' en un 'recurso primitivo' (por ejemplo, nfs-server) para realizar un seguimiento de lo que está haciendo el recurso. Si el servidor NFS de ejemplo no responde al resto del clúster durante X número de segundos, entonces el clúster ejecutará una operación STONITH (Disparar el otro nodo en la cabeza) para cerrar el nodo primario, promoviendo el nodo secundario a activo. En la configuración, usted decide qué traer a continuación y las acciones asociadas a realizar. Los detalles de implementación a partir de ahí dependen del servicio en el que intente realizar la conmutación por error, las ventanas de ejecución para ciertas operaciones (como la promoción del nodo primario a maestro) y todo es lo más configurable posible.


1

La comunidad de Linux HA está un poco particionada en este momento.

Las herramientas anteriormente conocidas Como Linux HA actualmente son Pacemaker y OpenAIS , se ejecutan con mayor frecuencia en combinación con DRBD cuando se necesita una arquitectura de nada compartido.

Sugiero obtener un buen libro sobre este tema antes de sumergirse, ya que esta es un área bastante completa, y el estado de los proyectos no es necesariamente tan fácil de usar como algunas soluciones de proveedores.

También hay soluciones de Linux de algunos de los proveedores de software de clúster, pero no puedo decir mucho sobre ellas, ya que nunca las he usado yo mismo.


1
¿Podría sugerir un buen libro o dos sobre este tema?
Matt Simmons

1

Con Linux hemos implementado clustering con heartbeat y drbd. Heartbeat verifica el estado del servidor. DRBD se utiliza para la sincronización de datos entre servidores. Tenemos el servicio Oracle ejecutándose en un servidor y Apache en otro servidor. Cuando el servidor que ejecuta Oracle falla, el latido detecta lo mismo y restaura el servicio Oracle en el servidor que ejecuta Apache. y viceversa. He estado usando esta configuración para muchos otros propósitos y he sido confiable hasta la fecha.


1

Red Hat Cluster Suite hará lo que desee para casi todas las aplicaciones posibles. En combinación con GFS y Cluster LVM, puede tener un almacenamiento compartido sólido.

El mantenimiento no es mucho más difícil que mantener en funcionamiento las cajas individuales. La migración de la aplicación hace que sea más fácil, en realidad, parchear los cuadros individuales.

RHCS viene con una interfaz web (Luci) y una interfaz GTK (system-config-cluster) para hacer clic en la configuración y la migración. Le permitirá configurar dominios de conmutación por error por aplicación, políticas de recuperación, cercado, todo desde una consola de administración central basada en web.

Teniendo en cuenta el hecho de que RHCS en realidad tiene una opción de soporte bastante sólida, elegiría RHCS.

No estoy seguro de cuánto le costará esto, pero creo que está en el rango de varios miles de dólares.


1

UltraMonkey , está construido en parte sobre el marco de Linux-HA. Siempre he pensado que es más una solución de equilibrio de carga que un verdadero clúster, pero maneja bien la conmutación por error.


¿Sigue siendo actualizado? el sitio web dice:Copyright © 2000-2005, Horms Last Updated: Sat Mar 4 16:33:57 2006 +0900
NickW

0

Utilizamos Linux Virtual Server y keepalived para nuestra alta disponibilidad. keepalived puede hacer VRRP en los propios hosts (lo que creo depende de la muerte del otro servidor) o puede configurarlo en un host separado para realizar el equilibrio de carga, que puede tener verificaciones de disponibilidad del servicio. Es posible configurar las comprobaciones de servicio en la primera situación, pero no lo he comprobado. La segunda situación es particularmente buena si puede tener ambos servidores ejecutándose al mismo tiempo, de lo contrario puede hacer un cambio manual.


0

Escribí un equilibrador de carga basado en software para TCP que no requiere una máquina separada. Comparte una sola dirección IP al anunciarla en una dirección de nivel de enlace de multidifusión y negociar entre máquinas para evitar que dos máquinas sirvan la misma conexión TCP.

El inconveniente es que no está realmente listo para la producción, pero si desea probarlo en su red de prueba, estaría encantado.

Fluffy cluster está aquí

No necesariamente detecto una situación "viva pero enferma", pero sí balanceo de carga entre los servidores miembros (si el proceso de espacio de usuario muere, los otros nodos notarán y eliminarán el nodo fallido)


0

No es gratis, pero aquellos que no tienen el tiempo o la experiencia para instalar su propia solución HA en Linux, la respuesta está en www.rapidscaleclusters.com. En cuestión de minutos estará en funcionamiento, fácil de instalar y ejecutar, también es compatible.


No estoy seguro de por qué alguien marcó esto ... parece una solución viable (aunque siempre hay problemas técnicos ... al menos esto no parece un 'servicio', que fue mi primera impresión).
ericslaw

0

Estoy trabajando en un administrador de clúster de conmutación por error de código abierto escrito en script de shell. Está en buena forma, incluso si puede perder alguna integración que necesitará. Compruébalo y avísame si faltan algunas funciones que te gustaría ver y usar: https://github.com/nackstein/back-to-work/

si eres bueno en la programación de shell (shell POSIX) puedes unirte al desarrollo del proyecto: D

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.