¿Cómo construir un clúster personal?

9

Tengo un servidor Debian que ejecuta algunos servicios (correo, web, git, mysql ...). Pero está solo, lo que significa que si se rompe, tengo que repararlo para acceder a mis servicios.

Me gustaría poner un segundo servidor para que si el primero muere, el segundo esté automáticamente listo para funcionar. No quiero que ninguno de estos servidores sea maestro y el otro esclavo. La idea es evitar fallas de hardware de cualquiera de los dos servidores.

Encontré mucha información sobre cómo crear algunos clústeres grandes, pero no he encontrado nada que implique solo dos servidores.

Clement Roblot
fuente
Esta es una buena pregunta, pero puede obtener una mejor respuesta del sitio Server Fault SE.
n0pe
@MaxMackie La parte "personal" parecería hacer esta pregunta fuera de tema en SF.
un CVn
1
para configuraciones, le recomiendo que usepuppet
ixtmixilix

Respuestas:

7

Crear un entorno ha tiene muchas advertencias y es complicado, y muchas veces depende del software real (por ejemplo, crear un entorno maestro-esclavo para mysql es diferente que para postfix0

Si quieres comenzar y solo quieres tener dos sistemas y no tienes tiempo para configurar todos tus demonios en consecuencia, deberías echar un vistazo a drbd , raid-1 a través de la red. Con eso, todo el contenido del dispositivo de bloque se replicará en su otro sistema. Combine eso con algo como corosynco heartbeaty puede hacer que el otro sistema se haga cargo automáticamente.

En general se reduce a:

  1. Tener algún tipo de almacenamiento compartido, ya sea SAN, drbd, etc. o tener soporte del sistema del servidor
  2. Detecte automáticamente una interrupción de un sistema y asuma la responsabilidad (por ejemplo, IP o elimínelo del clúster)

Si no tiene un sistema de almacenamiento compartido, normalmente debe tener soporte en su aplicación, tales sistemas son, por ejemplo, cassandra, mongodb, etc.

Ulrich Dangel
fuente
1
Hay un buen conjunto de documentos en linuxvirtualserver.org sobre cómo proporcionar un front-end HA para cualquier servicio replicado.
Matt
1
@mindthemonkey los ejemplos parecen ser todos específicos de http / application. pero sí, el principio subyacente, el almacenamiento compartido, el sistema de monitoreo, etc. también existe linux-ha.org, que proporciona una introducción a los diferentes componentes de software.
Ulrich Dangel
1

Los latidos del corazón están en desuso.

Use Pacemaker + Corosync para clústeres 1 + 1, N + 1, N + N

RAM
fuente