Sun Cluster 3.1 10/03: Guía del desarrollador de los servicios de datos

Implementación de un recurso escalable

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

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

Establezca la propiedad del tipo de recurso booleano Failover en FALSE para permitir que el recurso se configure en un grupo de recursos que pueda estar en línea en varios nodos simultáneamente.

La propiedad de recurso Scalable determina si el recurso utiliza el recurso de dirección compartida del clúster. Establezca esta propiedad en TRUE porque los servicios escalables utilizan los recursos de dirección compartida para que las diversas instancias del servicio escalable aparezcan ante el cliente como un único servicio.

La propiedad de grupo de recursos RG_mode permite al administrador del clúster identificar un grupo de recursos como a prueba de fallos o escalable. Si RG_mode es SCALABLE, RGM permite que Maximum_primaries tenga un valor superior a 1; esto quiere decir que el grupo puede tener varios nodos maestros simultáneamente. RGM permite que un recurso cuya propiedad Failover sea FALSE se lance en un grupo de recursos cuyo RG_mode sea SCALABLE.

El administrador del clúster crea un grupo de recursos escalables para que contenga los recursos de servicio escalables y un grupo de recursos a prueba de fallos independiente para que contenga los recursos de dirección compartida de los que dependerán los recursos escalables.

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 asignen antes de su inicio. Por tanto, el administrador debe establecer la propiedad RG_dependencies (del grupo de recursos que contiene el servicio escalable) para que incluya el grupo de recursos que contiene los recursos de dirección compartida.

Cuando se declara la propiedad escalable en 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 que utiliza este recurso. Esta propiedad acude de modo predeterminado a la secuencia vacía, por lo que el administrador del clúster debe aportar la lista real de direcciones compartidas que usa el servicio escalable cuando cree 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 política de equilibrio de cargas del recurso. Puede establecer explícitamente la política del archivo RTR (o permitir la predeterminada, LB_WEIGHTED). En ambos casos, el administrador del clúster puede modificar el valor al crear el recurso (salvo que se establezca Tunable para Load_balancing_policy en NONE o FALSE en el archivo RTR). Los valores legales son:

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 conecta a una dirección IP de un servicio adherente con comodín, siempre se envía al mismo nodo de clúster, independientemente del número de puerto al que llegue.

Para un servicio escalable con Load_balancing_policy LB_STICKY o LB_STICKY_WILD, cambiar Load_balancing_weights con el servicio en línea puede provocar la puesta a cero de las afinidades existentes del cliente. En ese caso, un nodo diferente puede servir una solicitud posterior de un cliente, aunque antes éste haya sido atendido por otro nodo del clúster.

Del mismo modo, iniciar una nueva instancia del servicio en un clúster puede poner a cero las afinidades existentes del cliente.

Load_balancing_weights

Especifica la carga que se enviará a cada nodo. El formato es peso@nodo,peso@nodo, donde peso es un número entero que refleja la parte relativa de carga distribuida al nodo especificado. 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 1/4 de la carga y el nodo 2, 3/4.

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.

Es posible crear un servicio de datos que el administrador pueda configurar para que sea de tipo escalable o a prueba de fallos. Para ello, declare la propiedad de tipo de recurso Failover y la propiedad de recurso Scalable 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 de propiedad Failover (FALSE) permite que el recurso se configure como grupo de recursos escalables. El administrador puede habilitar direcciones compartidas, cambiando el valor de Scalable a TRUE al crear el recurso, creando así un servicio escalable.

Por otra parte, aunque Failover se establezca en FALSE, el administrador puede configurar el recurso en un grupo de recursos a prueba de fallos para implementar un servicio a prueba de fallos. El administrador no cambia el valor de Scalable, que es FALSE. Para admitir esta contingencia, debe proporcionar una comprobación en el método Validate de la propiedad Scalable. Si Scalable es FALSE, compruebe que el recurso esté configurado como grupo de recursos a prueba de fallos.

Sun Cluster 3.1: Guía de conceptos 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: