Guía de administración y planificación de servicios de datos de Oracle® Solaris Cluster

Salir de la Vista de impresión

Actualización: Septiembre de 2014
 
 

Cómo forzar la colocación de un grupo de recursos con otro grupo de recursos

Un servicio que está representado por un grupo de recursos puede depender fuertemente de un servicio de un segundo grupo de recursos, de manera que ambos servicios deben ejecutarse en el mismo nodo. Por ejemplo, una aplicación compuesta por varios daemons de servicio independientes puede requerir que todos los daemons se ejecuten en el mismo nodo.

En esta situación, fuerce el grupo de recursos del grupo de recursos del servicio dependiente para que se coloque con el grupo de recursos del otro servicio. Para forzar la colocación de un grupo de recursos con otro grupo de recursos, declare en el grupo de recursos una afinidad positiva fuerte por el otro grupo de recursos.

# clresourcegroup set|create -p RG_affinities=++target-rg source-rg
source-rg

Especifica el grupo de recursos que actúa como origen de la afinidad positiva fuerte. Este grupo de recursos es el grupo en el que se declara una afinidad positiva fuerte para otro grupo de recursos.

-p RG_affinities=++target-rg

Especifica el grupo de recursos que actúa como destino de la afinidad positiva fuerte. Este grupo de recursos es el grupo para el que se declara una afinidad positiva fuerte.

Un grupo de recursos sigue al grupo para el cual tiene una afinidad positiva fuerte. Si el grupo de recursos de destino se reubica en otro nodo, el grupo de recursos de origen cambia automáticamente al mismo nodo que el destino. No obstante, se impide el failover de un grupo de recursos que declara una afinidad positiva fuerte en un nodo en el que aún no se ejecuta el destino de la afinidad.


Notas -  Solo se impiden los failovers iniciados por un supervisor de recursos. Si se produce un error en un nodo en el que se ejecutan los grupos de recursos de origen y de destino, ambos grupos realizan un failover en el mismo nodo superviviente.

Por ejemplo, un grupo de recursos rg1 declara una afinidad positiva fuerte para el grupo de recursos rg2. Si se produce el failover de rg2 en otro nodo, rg1 también realiza un failover en ese nodo. Este failover se produce incluso si todos los recursos de rg1 están en funcionamiento. Sin embargo, si un recurso de rg1 intenta realizar un failover de rg1 en un nodo en el que no se ejecuta rg2, este intento se bloquea.

El origen de una afinidad positiva fuerte puede estar fuera de línea en todos los nodos cuando se pone en línea el destino de la afinidad positiva fuerte. En esta situación, el origen de la afinidad positiva fuerte se pone en línea automáticamente en el mismo nodo que el destino.

Por ejemplo, un grupo de recursos rg1 declara una afinidad positiva fuerte para el grupo de recursos rg2. Ambos grupos de recursos están inicialmente fuera de línea en todos los nodos. Si un administrador pone en línea rg2 en un nodo, rg1 se pone en línea automáticamente en el mismo nodo.

Puede utilizar el comando clresourcegroup suspend para evitar que un grupo de recursos se ponga en línea automáticamente debido a afinidades fuertes o la reconfiguración de un cluster.

Si necesita que se permita el failover de un grupo de recursos que declara una afinidad positiva fuerte, debe delegar el failover. Para obtener más información, consulte Delegación del failover o switchover de un grupo de recursos.

Ejemplo 2-48  Cómo forzar la colocación de un grupo de recursos con otro grupo de recursos

En este ejemplo, se muestra el comando para modificar el grupo de recursos rg1 a fin de declarar una afinidad positiva fuerte para el grupo de recursos rg2. Como resultado de esta relación de afinidad, rg1 solo se pone en línea en los nodos donde se ejecuta rg2. En este ejemplo, se asume que existen ambos grupos de recursos.

# clresourcegroup set -p RG_affinities=++rg2 rg1