Glosario de Automatización • Dos servidores vs quórum de tres nodos

Dos servidores SCADA vs tres: la decisión de quórum

Ingeniería Merobix • • 7 min de lectura

Un par SCADA redundante tiene una debilidad escondida: con solo dos votos, los servidores no pueden acordar de forma confiable cuál debe ser el primario cuando el enlace entre ellos se cae. Esta página compara el par simple de dos servidores contra un arreglo de tres nodos, ya sea un tercer servidor completo o un testigo ligero, y le ayuda a decidir cuándo el voto impar vale el equipo extra y cuándo un diseño de dos nodos con un buen desempate es suficiente.

Volver al glosario

Dos servidores vs quórum de tres nodos en una línea: Un par de dos servidores es lo más simple pero no puede romper un empate por sí solo, así que un latido perdido puede disparar un split-brain donde ambos nodos reclaman ser primarios. Agregar un tercer voto, sea un servidor completo o un testigo de quórum ligero, da un número impar que siempre resuelve quién manda. Elija dos nodos más un testigo para la mayoría de los sitios; elija tres servidores completos solo cuando también necesite que el tercer nodo cargue trabajo o sobreviva la pérdida de cualquier máquina.

Entienda por qué dos votos no pueden romper un empate

El problema central de un par a secas es aritmético. Cuando los dos servidores pierden contacto entre sí, cada uno ve la misma situación ambigua: mi compañero está inalcanzable. No puede saber si el compañero está muerto, en cuyo caso debería tomar el mando, o solo inalcanzable a través de un enlace roto, en cuyo caso el compañero quizá ya está sirviendo. Sin una tercera opinión, un par ingenuo puede terminar con ambos nodos activos, la condición de split-brain que corrompe los datos del historiador y confunde a cada cliente aguas abajo sobre a qué servidor creerle.

Un tercer voto elimina la ambigüedad al hacer impar el total de votantes. La partición del sistema que todavía pueda ver una mayoría de los votos tiene permitido ser primaria; el lado minoritario se retira. Ese es el trabajo de un testigo de quórum, que no necesita ser un servidor SCADA completo. Puede ser un servicio pequeño en una máquina o sitio separado cuyo único papel es ser el voto de desempate, de modo que un par de dos servidores gana la contundencia de un clúster de tres nodos sin el costo de un tercer servidor completo.

Compare los tres arreglos prácticos

En realidad hay tres opciones sobre la mesa, no dos, y la variante con testigo es la que los proyectos más pasan por alto.

FactorSolo dos servidoresDos servidores más testigoTres servidores completos
Puede romper un empateNo - necesita una regla de desempateSí - el testigo pone el voto imparSí - mayoría de tres
Riesgo de split-brainAlto si cae el enlaceBajoBajo
Costo de hardwareDos equiposDos equipos más un testigo pequeñoTres equipos completos
Sobrevive perder un nodoSí, si el sobreviviente es el elegido
Sobrevive perder dos nodosNoNoA veces, si uno conserva quórum
Capacidad extra del tercer nodoN/ANinguna - el testigo no carga trabajoSí - el tercer nodo puede servir

La opción del testigo es deliberadamente barata. Como solo vota, puede correr en hardware mucho más pequeño que un servidor SCADA, a menudo en otra ubicación, y su falla no tumba al par; solo elimina el desempate, regresándolo a usted a la situación de dos nodos alrededor de la cual habría diseñado de todos modos.

Tres servidores completos es la respuesta pesada y se justifica cuando el tercer nodo se gana el sustento más allá de votar. Si usted necesita capacidad para repartir carga activo-activo, o debe sobrevivir la pérdida de un nodo entero y aún conservar un par redundante, el tercer servidor hace trabajo real y no solo emite un voto. Si el tercer equipo se quedaría ocioso salvo en tiempo de elección, un testigo entrega el mismo desempate por una fracción del costo.

Cuándo gana cada arreglo

Un par de dos servidores sin tercer voto gana solo cuando el enlace entre los servidores es genuinamente confiable y usted tiene una regla de desempate explícita y probada, como un nodo preferido designado más un recurso compartido que solo uno puede sostener. Esto funciona pero es frágil, y exige que el desempate se ensaye como parte de cada simulacro de failover para que usted sepa que se resuelve como espera ante una falla real del enlace.

Dos servidores más un testigo gana para la gran mayoría de los sitios SCADA redundantes. Da una elección limpia por mayoría con un costo agregado mínimo, y colocar el testigo en infraestructura separada o en otro sitio lo protege de que un solo evento se lleve a la vez un servidor y el desempate. Este es el default pragmático una vez que usted decidió que necesita redundancia en absoluto.

Tres servidores completos gana cuando el nodo extra carga trabajo o cuando su objetivo de disponibilidad exige sobrevivir la pérdida de cualquier nodo individual conservando todavía un par redundante. Las salas de control grandes, las consolidaciones multi-sitio y los sistemas con muchos clientes que se benefician de repartir sesiones son los casos donde el tercer servidor es una decisión de capacidad tanto como de quórum.

Trampas en el diseño de quórum

La trampa más dañina es colocar el testigo en el mismo equipo, hipervisor o alimentación que uno de los servidores. Cuando ese elemento compartido falla, usted pierde un servidor y el desempate a la vez, y el sobreviviente puede no tener mayoría sobre la cual actuar, derrotando el propósito completo. El testigo debe fallar de forma independiente de los nodos que arbitra, lo que normalmente significa hardware separado e idealmente una ubicación separada.

Una segunda trampa es asumir que tres servidores sobreviven automáticamente dos fallas. El quórum necesita mayoría, así que perder dos de tres normalmente deja al último nodo en minoría e incapaz de actuar por su cuenta. Si tolerar dos fallas de nodo es un requisito real, usted necesita cinco miembros votantes, no tres, y la mayoría de los sitios SCADA no lo necesita. La trampa final es tratar el quórum como configuración de una sola vez; la lógica de elección debe ejercitarse en simulacros, porque un testigo que murió en silencio convierte su diseño de tres votos de regreso en el problema de dos votos que usted intentaba evitar.

Preguntas frecuentes

¿Por qué dos servidores SCADA no pueden decidir entre ellos?

Porque cuando el enlace entre ellos se cae, cada servidor solo ve que su compañero está inalcanzable y no puede saber si el compañero está muerto o simplemente cortado. Ambos pueden concluir que deberían ser primarios, produciendo split-brain. Dos votos no pueden formar mayoría, así que no hay forma confiable de que el par solo rompa el empate sin una regla de desempate externa o un tercer voto.

¿Un testigo de quórum es lo mismo que un tercer servidor SCADA?

No. Un testigo solo emite un voto para romper empates; no corre la aplicación SCADA, no carga clientes ni almacena el historiador. Eso le permite correr en hardware mucho más pequeño, a menudo en un sitio separado, por una fracción del costo de un servidor completo. Agregue un tercer servidor completo solo cuando necesite que ese nodo cargue trabajo o sobreviva la pérdida de un nodo entero conservando un par redundante.

¿Tres servidores me dejan sobrevivir dos fallas?

Normalmente no. El quórum requiere mayoría, y perder dos de tres deja a un nodo en minoría, que normalmente se retira en lugar de correr de forma insegura. Sobrevivir la pérdida de cualesquiera dos miembros votantes requiere cinco miembros. Tres nodos toleran bien una falla; si una tolerancia genuina a dos fallas es requerida, dimensione el clúster para ello explícitamente en lugar de asumir que tres bastan.

Fuentes y lecturas

Referencias primarias de los organismos de normas y reguladores que definen este tema:

Más en Fundamentos de SCADA
Par de servidores redundantes  •  Agregar un tag en SCADA  •  Configurar alertas por SMS  •  Configurar una alarma en SCADA  •  Notificación de alarma por correo  •  Todo en Fundamentos de SCADA →
Capacitación SCADA gratuita para operadores
Merobix University - 70 lecciones en video y 261 preguntas de examen, del primer inicio de sesión a los reportes de cumplimiento (contenido en inglés). Sin llamada de ventas.
Comenzar gratis →