
El esgrimido es el proceso de aislar un nodo de un clúster de computadoras o proteger los recursos compartidos cuando un nodo parece estar funcionando mal. [ 1 ] [ 2 ]
A medida que aumenta el número de nodos en un clúster, también aumenta la probabilidad de que alguno falle. El nodo averiado puede controlar recursos compartidos que deben recuperarse, y si su comportamiento es errático, es necesario proteger el resto del sistema. Por lo tanto, el aislamiento puede deshabilitar el nodo o impedir el acceso al almacenamiento compartido, garantizando así la integridad de los datos.
Conceptos básicos
Una barrera de nodos (o barrera de E/S) es una "barrera" virtual que separa los nodos que no deben tener acceso a un recurso compartido de dicho recurso. Puede separar un nodo activo de su respaldo. Si el respaldo cruza la barrera y, por ejemplo, intenta controlar la misma matriz de discos que el nodo principal, puede producirse un riesgo de pérdida de datos. Mecanismos como STONITH están diseñados para prevenir esta situación.
Aislar un nodo significa asegurar que ya no se puedan realizar operaciones de entrada/salida desde él. El aislamiento se realiza normalmente de forma automática mediante infraestructuras de clúster, como sistemas de archivos de disco compartido , para proteger los procesos de otros nodos activos que puedan modificar los recursos durante fallos en los nodos. Los mecanismos para soportar el aislamiento, como el mecanismo de reserva/liberación de SCSI, existen al menos desde 1985. [ 3 ]
Es necesario establecer un sistema de aislamiento porque es imposible distinguir entre un fallo real y un bloqueo temporal . Si el nodo defectuoso está realmente caído, no puede causar ningún daño, por lo que, en teoría, no sería necesario tomar ninguna medida (simplemente podría reintegrarse al clúster mediante el proceso de unión habitual). Sin embargo, dado que existe la posibilidad de que un nodo defectuoso considere que el resto del clúster es el que está fallando, podría producirse una condición de división de clúster y causar corrupción de datos . Por lo tanto, el sistema debe asumir el peor escenario y establecer siempre un sistema de aislamiento en caso de problemas.
Enfoques para la construcción de cercas
Existen dos clases de métodos de aislamiento: uno que desactiva el nodo en sí mismo y otro que impide el acceso a recursos como discos compartidos. [ 1 ] En algunos casos, se asume que si un nodo no responde después de un umbral de tiempo determinado, puede considerarse que no está operativo, aunque existen contraejemplos, como una larga saturación de paginación. [ 1 ]
El método STONITH significa "Dispara al otro nodo en la cabeza", lo que implica que el nodo sospechoso se desactiva o se apaga. Por ejemplo, el sistema de aislamiento de energía utiliza un controlador de energía para apagar un nodo inoperable. El nodo puede reiniciarse y unirse al clúster posteriormente. Sin embargo, existen enfoques en los que se informa a un operador sobre la necesidad de reiniciar manualmente el nodo. [ 1 ]
El enfoque de restricción de recursos impide el acceso a los recursos sin apagar el nodo. Esto puede incluir:
- El sistema de reserva persistente utiliza las reservas persistentes SCSI3 para bloquear el acceso al almacenamiento compartido.
- El vallado de Fibre Channel desactiva el puerto de Fibre Channel .
- El sistema de bloqueo de red global (GNBD) impide el acceso al servidor GNBD.
Cuando el clúster tiene solo dos nodos, el método de reserva/liberación puede usarse como un STONITH de dos nodos. Al detectar que el nodo B ha fallado, el nodo A emitirá la reserva y obtendrá todos los recursos (por ejemplo, el disco compartido) para sí mismo. El nodo B se deshabilitará si intenta realizar operaciones de entrada/salida (en caso de que se haya bloqueado temporalmente). En el nodo B, el fallo de entrada/salida activa un código que lo detiene.
La reserva persistente se basa esencialmente en la coincidencia de una clave, de modo que el nodo que posee la clave correcta puede realizar operaciones de entrada/salida; de lo contrario, estas fallan. Por lo tanto, basta con cambiar la clave en caso de fallo para garantizar el comportamiento adecuado. Sin embargo, no siempre es posible cambiar la clave en el nodo que ha fallado.
STONITH es un método más fácil y sencillo de implementar en múltiples clústeres, mientras que los diversos enfoques para el cercado de recursos requieren enfoques de implementación específicos para cada implementación de clúster. [ 1 ]
STONITH
STONITH ( disparar al otro nodo en la cabeza o disparar al nodo infractor en la cabeza ), a veces llamado STOMITH ( disparar al otro miembro/máquina en la cabeza ), es una técnica para aislar clústeres de computadoras . La documentación para desarrolladores de lenguaje inclusivo de Google desaconseja el uso de este término y recomienda reemplazarlo por el término " aislar nodos fallidos" . [ 4 ]
El aislamiento de nodos consiste en proteger un nodo averiado para evitar interrupciones en un clúster informático. Como su nombre indica, STONITH aísla los nodos averiados reiniciándolos o apagándolos.
La contención propensa a errores en múltiples nodos de un clúster puede tener consecuencias catastróficas, como cuando ambos nodos intentan escribir en un recurso de almacenamiento compartido. STONITH proporciona una protección eficaz, aunque bastante drástica, contra estos problemas.
Los sistemas de nodo único utilizan un mecanismo similar llamado temporizador de vigilancia . Este temporizador reinicia el nodo si este no le indica al circuito de vigilancia que está funcionando correctamente. Una decisión de STONITH puede basarse en diversas decisiones, que pueden ser complementos específicos del cliente.
Véase también
Referencias
- 1 2 3 4 5 "Alan Robertson. Delimitación de recursos mediante STONITH" (PDF) . Centro de Investigación de Linux de IBM . Archivado del original (PDF) el 5 de enero de 2021.
- ↑ Entorno del cúmulo solar: Sun Cluster 2.2 por Enrique Vargas, Joseph Bianco, David Deeths 2001 ISBN página 58
- ↑ "Interfaz de estándares para computadoras pequeñas" . ANSI X3.131-1986 .
- ↑ "Escribir en lenguaje inclusivo" . Documentación para desarrolladores de Google . Consultado el 11 de junio de 2025 .
Enlaces externos
- Red Hat GFS 6.0: Guía del administrador - Uso del sistema de delimitación
- Preguntas frecuentes de OCFS2 - Quórum y cercado
- Cluster computing
- Fault-tolerant computer systems