Sun Cluster: Guía del desarrollador de los servicios de datos del sistema operativo Solaris

Implementación de un recurso escalable

Un recurso escalable puede estar en línea en más de un nodo simultáneamente. Los recursos escalables incluyen servicios de datos, como Sun Cluster HA para Sun One Web Server y HA-Apache.

RGM proporciona una serie de propiedades que admiten la implementación de un recurso escalable.

Establezca la propiedad booleana Failover del tipo de recurso en TRUE para permitir que un recurso se configure en un grupo de recursos que pueda estar en línea en más de un nodo a la vez.

La propiedad de recurso Scalable determina si el recurso utiliza la función de dirección compartida del clúster. Establezca esta propiedad en TRUE, ya que el servicio escalable utiliza un recurso de dirección de red para hacer que las diversas instancias del servicio aparezcan como un único servicio para el cliente.

La propiedad del grupo de recursos RG_mode permite al administrador del clúster identificar un grupo de recursos como de recuperación ante fallos o escalable. Si RG_mode es SCALABLE, RGM permite que Maximum_primaries tenga un valor superior a 1, por lo que el grupo puede ser controlado por varios nodos simultáneamente. RGM permite que un recurso cuya propiedad Failover sea FALSE cree una instancia en un grupo de recursos cuya propiedad RG_mode sea SCALABLE.

El administrador del clúster crea un grupo de recursos de recursos escalables para incluir los recursos del servicio escalable y un grupo de recursos de recuperación ante fallos independiente para incluir los recursos de dirección compartida de los que depende el recurso escalable.

El administrador del clúster utiliza la propiedad del grupo de recursos RG_dependencies para especificar el orden en el que los grupos de recursos se ponen en línea y fuera de línea, dentro del nodo. Este orden es importante para el servicio escalable, porque los recursos escalables y los de dirección compartida de los que dependen están en grupos de recursos diferentes. Un servicio de datos escalables requiere que los recursos de dirección de red (dirección compartida) se activen antes de su inicio. Por lo tanto, el administrador del clúster debe establecer la propiedad RG_dependencies (del grupo de recursos que contiene el servicio escalable) para incluir el grupo de recursos que contiene los recursos de dirección compartida.

Al declarar la propiedad Scalable el archivo RTR de un recurso, RGM crea automáticamente el siguiente conjunto de propiedades escalables para el recurso.

Network_resources_used

Identifica los recursos de dirección compartida utilizados por este recurso. La propiedad se establece de forma predeterminada en una cadena vacía para que el administrador del clúster pueda proporcionar la lista real de direcciones compartidas que utiliza el servicio escalable al crear el recurso. El comando scsetup y SunPlex Manager proporcionan funciones para configurar automáticamente los recursos y grupos necesarios para los servicios escalables.

Load_balancing_policy

Especifica la directiva de equilibrio de cargas del recurso. Se puede establecer de forma explícita la directiva en el archivo RTR (o permitir el valor predeterminado LB_WEIGHTED). En ambos casos, el administrador del clúster puede cambiar el valor al crear el recurso (a menos que se establezca la propiedad Tunable de Load_balancing_policy en NONE o FALSE en el archivo RTR). Estos son los valores permitidos que puede utilizar:

LB_WEIGHTED

La carga se distribuye entre varios nodos, de acuerdo con los pesos establecidos en la propiedad Load_balancing_weights.

LB_STICKY

Un cliente determinado (identificado por la dirección IP de cliente) del servicio escalable se envía siempre al mismo nodo del clúster.

LB_STICKY_WILD

Un cliente determinado (identificado por la dirección IP de cliente) que se concreta a una dirección IP de un servicio adherente con comodín siempre se envía al mismo nodo del clúster, independientemente del número de puerto de la dirección IP a la que llegue.

En un servicio escalable con una propiedad Load_balancing_policy de LB_STICKY o LB_STICKY_WILD, si se cambia Load_balancing_weights mientras el servicio está en línea puede provocar que se restablezcan las afinidades de cliente existentes. En ese caso, es posible que un nodo diferente deba atender la solicitud de cliente, aunque otro nodo del clúster haya atendido previamente a ese cliente.

Del mismo modo, si se inicia una nueva instancia del servicio en un clúster, es posible que se restablezcan las afinidades de cliente existentes.

Load_balancing_weights

Especifica la carga que se enviará a cada nodo. El formato es weight@node,weight@node, donde weight es un número entero que refleja la parte relativa de la carga distribuida al nodo especificado, node. La fracción de carga distribuida a un nodo es el peso de este nodo dividido entre la suma de todos los pesos de las instancias activas. Por ejemplo, 1@1,3@2 especifica que el nodo 1 recibe un cuarto de la carga y el nodo 2, los restantes tres cuartos.

Port_list

Identifica los puertos en los que recibe el servidor. Esta propiedad acude de modo predeterminado a la secuencia vacía. Puede indicarse una lista de puertos en el archivo RTR. En caso contrario, el administrador del clúster debe suministrar la lista real de puertos al crear el recurso.

Puede crear un servicio de datos que el administrador del clúster puede configurar como escalable o de recuperación ante fallos. Para ello, declare la propiedad Failover del tipo de recurso y la propiedad Scalable del recurso como FALSE en el archivo RTR del servicio de datos. Especifique la propiedad Scalable para que se pueda ajustar en el momento de la creación.

El valor FALSE de la propiedad Failover permite configurar el recurso en un grupo de recursos escalable. El administrador del clúster puede habilitar las direcciones de red cambiando el valor de Scalable a TRUE al crear el recurso para crear un servicio escalable.

Por otro lado, aunque Failover se estableza en FALSE, el administrador del clúster puede configurar el recurso en un grupo de recursos de recuperación ante fallos para implementar un servicio de este tipo. El administrador del clúster no cambia el valor de Scalable, que es FALSE. Para poder llevar a cabo esto, debe proporcionar una comprobación del método Validate en la propiedad Scalable. Si Scalable es FALSE, compruebe que el recurso se ha configurado en un grupo de recursos de recuperación ante fallos.

Sun Cluster: Guía de conceptos para el SO Solaris contiene información adicional sobre los recursos escalables.

Comprobaciones de validación de los servicios escalables

Siempre que se crea o actualiza un recurso con la propiedad escalable fijada en TRUE, RGM valida diversas propiedades de recursos. Si éstas no están debidamente configuradas, RGM rechaza el intento de creación o actualización. RGM realiza las comprobaciones siguientes: