Capítulo 3. RGManager
RGManager administra y proporciona las capacidades de conmutación para conjuntos de recursos de clúster llamados servicios, grupos de recursos o árboles de recursos. Estos grupos de recursos se estructuran en forma de árbol y tienen dependencia de padre-hijo y relaciones de herencia dentro de cada subárbol.
RGManager permite a los administradores definir, configurar y monitorizar los servicios de clúster. En el evento de que un nodo falle, RGManager reasignará el servicio en clústeres a otro nodo con un mínima interrupción del servicio. Usted puede restringir servicios a ciertos nodos, tales como
httpd
a un grupo de nodos, mientras que mysql
puede restringirse a un conjunto independiente de nodos.
Hay varios procesos y agentes que se combinan para que RGManager funcione. La siguiente lista resume esas áreas:
- Dominios de conmutación - Cómo funciona el sistema de dominio de conmutación de RGManager
- Políticas de servicios - Inicio de servicio de Rgmanager y políticas de recuperación
- Árboles de recursos - Cómo funcionan los árboles de recursos de rgmanager, incluidas órdenes de inicio/detención y herencia
- Conductas operativas de servicios - Cómo funcionan las operaciones de rgmanager y lo que significan los estados
- Conductas de máquinas virtuales - Cosas especiales para recordar al ejecutar máquinas virtuales en un clúster rgmanager
- Acciones de recursos - Las acciones que el agente RGManager utiliza y la forma de personalizar su conducta desde el archivo
cluster.conf
. - Scripting de eventos - Si las políticas de conmutación y recuperación no se ajustan a su entorno, usted puede personalizar su propio entorno mediante el subsistema de scripting.
3.1. Dominios de conmutación
Un dominio de conmutación es un subconjunto de miembros ordenados a los cuales se puede vincular un servicio. Aunque . Los dominios de conmutación son útiles para personalizar el clúster, no se requieren para funcionar.
La lista a continuación presenta la semántica que gobierna las opciones de la forma como las diferentes opciones de configuración afectan la conducta de un dominio de conmutación.
- El nodo o el miembro preferido: El nodo preferido era el miembro designado para ejecutar el servicio si el miembro estaba en línea. Podemos emular esta conducta al especificar un dominio de conmutación desordenado, irrestringido de un miembro.
- Dominio restringido: los servicios vinculados al dominio pueden ejecutarse únicamente en miembros de clúster que también son miembros de un dominio de conmutación. Si no hay miembros de conmutación disponibles, el servicio es puesto en el estado detenido. En un clúster con varios miembros, el uso de un dominio de conmutación restringido puede facilitar la configuración de un servicio de clúster (tal como un httpd), el cual requiere configuración idéntica en todos los miembros que ejecutan el servicio. En lugar de configurar el clúster completo para ejecutar el servicio de clúster, configure únicamente los miembros en el domino de conmutación restringido que usted asocia con el servicio de clúster.
- Dominio irrestringido: La conducta predeterminada, los servicios vinculados a este dominio pueden ejecutarse en todos los miembros de clúster, pero se ejecutan en un miembro de dominio siempre y cuando haya uno disponible. Esto significa que si un servicio está ejecutándose fuera del dominio y un miembro del dominio se conecta, el servicio migrará a ese miembro, a menos que se haya establecido la no recuperación.
- Dominio ordenado: El orden especificado en la configuración dicta el orden de preferencia de los miembros dentro del dominio. El miembro de más alto rango del dominio ejecutará el servicio cuando esté en línea. Esto significa que si el miembro A tiene un rango más alto respecto al miembro B, el servicio migrará a A si estaba ejecutándose en el miembro B, si el miembro A pasa de desconectado a conectado.
- Dominio desordenado: La conducta predeterminada, los miembros del dominio no tienen orden de preferencia; cualquier miembro puede ejecutar el servicio. Los servicios siempre migrarán a miembros del dominio de conmutación siempre que sea posible, no obstante, en un dominio desordenado.
- Recuperación: Los servicios en miembros de un dominio de conmutación ordenado deben volver al nodo que originalmente estaba ejecutándose antes de que el nodo fallara, lo cual es útil para evitar que los nodos que fallan con frecuencia eviten cambios de servicio frecuentes entre el nodo que falla y el nodo de conmutación.
El ordenamiento, la restricción y la no recuperación son indicadores que pueden combinarse en casi cualquier forma (por ejemplo, ordenado + restringido, desordenado + irrestringido, etc). Estas combinaciones afectan ambos servicios donde los servicios inician después de la formación del cuórum inicial y en los que los miembros de clúster se encargarán de los servicios en el evento que el servicio falle.
3.1.1. Ejemplos de conductas
Dado un clúster comprometido de este conjunto de miembros: {A, B, C, D, E, F, G}.
- Dominio de conmutación ordenado, restringido {A, B, C}
- Con no recuperación desconectada: Un servicio 'S' siempre se ejecutará en el miembro 'A' siempre que el miembro 'A' esté en línea y haya cuórum. Si todos los miembros de {A, B, C} están fuera de línea, el servicio no se ejecutará. Si el servicio se ejecuta en 'C' y 'A' pasa a en línea, el servicio migrará a 'A'.Con no recuperación establecida: Un servicio 'S' se ejecutará en el miembro de clúster de prioridad más alta cuando se forme cuórum. Si todos los miembros de {A, B, C} están fuera de línea, el servicio no se ejecutará. Si el servicio se ejecuta en 'C' y 'A' pasa a en línea, el servicio permanecerá en 'C' a menos que 'C' falle, punto en el cual se recuperará a 'A'.
- Dominio de conmutación desordenado, restringido {A, B, C}
- Un servicio 'S' siempre se ejecutará si hay cuórum y si por lo menos un miembro de {A, B, C} está en línea. Si otro miembro del dominio pasa a en línea, el servicio no se reubicará.
- Dominio de conmutación ordenado, irrestringido {A, B, C}
- Con no recuperación sin configurar: Un servicio 'S' se ejecutará cuando haya cuórum. Si un miembro de dominio de conmutación está en línea, el servicio se ejecutará en el miembro de prioridad más alta, de lo contrario, se elegirá un miembro del clúster para ejecutar el servicio. Es decir, el servicio se ejecutará en 'A' siempre que 'A' esté en línea, seguido por 'B'.Con no recuperación configurada: Un servicio 'S' se ejecutará cuando haya cuórum. Si un miembro de dominio de conmutación está en línea en formación de cuórum, el servicio se ejecutará en el miembro de prioridad más alta del dominio de conmutación. Es decir que si 'B' está en línea (pero 'A' no lo está), el servicio se ejecutará en 'B'. Si en un punto más adelante, 'A' se une al clúster, el servicio no se reubicará en 'A''.
- Dominio de conmutación desordenado, irrestringido {A, B, C}
- También denominado como un "Conjunto de miembros preferido". cuando uno o más miebros del dominio de conmutación están en línea el servicio se ejecutará en un miembro en línea no específico del dominio de conmutación. Si otro miembro de dominio de conmutación se tranfiere a en línea, no se reubica el servicio.