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

Propiedades de recurso

Esta sección describe las propiedades de recurso que define Sun Cluster. Los valores de propiedad están divididos en categorías como sigue (en Categoría):

Ajustable especifica si las propiedades de los recursos se pueden actualizar, de la siguiente forma:

NONE o FALSE

Nunca 

TRUE o ANYTIME

En cualquier momento 

AT_CREATION

Al agregar el recurso al clúster 

WHEN_DISABLED

Al desactivar el recurso 

Los nombres de las propiedades aparecen primero, seguidos de la descripción correspondiente.

Affinity_timeout (entero )

Tiempo, en segundos, durante el cual las conexiones de una dirección IP de un cliente a cualquier servicio del recurso se enviarán al mismo nodo del servidor.

Esta propiedad sólo es importante cuando Load_balancing_policy es Lb_sticky o Lb_sticky_wild. Además, Weak_affinity se debe establecer en FALSE (el valor predeterminado).

Esta propiedad se utiliza solamente en servicios escalables.

Categoría:

Opcional

Valor predeterminado:

Valor no predeterminado

Ajustable:

ANYTIME

Cheap_probe_interval (entero)

El número de segundos entre llamadas de un análisis rápido de fallos del recurso. Esta propiedad sólo la crea RGM y sólo está disponible para el administrador si se declara en el archivo RTR.

Esta propiedad es opcional si se especifica un valor predeterminado en el archivo RTR. Si el atributo Tunable no se especifica en el archivo de tipo de recurso, el valor Tunable de la propiedad será WHEN_DISABLED.

Esta propiedad es necesaria si el atributo Default no se especifica en la declaración de propiedades del archivo RTR.

Categoría:

Condicional

Valor predeterminado:

Valor no predeterminado

Ajustable:

WHEN_DISABLED

Propiedades de extensión

Las propiedades de extensión, como se declaran en el archivo RTR del tipo de recurso. La implementación del tipo de recurso define estas propiedades. Atributos de las propiedades de recursos contiene información acerca de los atributos individuales que se pueden definir para las propiedades de extensión.

Categoría:

Condicional

Valor predeterminado:

Valor no predeterminado

Ajustable:

Depende de la propiedad en cuestión

Failover_mode (enum.)

NONE, SOFT y HARD afectan sólo al comportamiento a prueba de fallos cuando falla el método Start ( Prenet_start o Start). Sin embargo, una vez que los recursos se han iniciado correctamente, NONE, SOFT y HARD no tienen efecto en los siguientes reinicios de los recursos ni en la conducta de conmutación que el supervisor de recursos inicia con scha_control(1HA) o scha_control(3HA). NONE (valor predeterminado) indica que RGM se utiliza para definir el estado del recurso en el fallo del método y espera a que intervenga el usuario. SOFT indica que, si falla el método Start, RGM debe reubicar el grupo de recursos en un nodo diferente. Si falla el método Stop o Monitor_stop, RGM establece el recurso en el estado Stop_failed y el grupo de recursos en el estado Error_stop_failed. RGM espera entonces la intervención del usuario. En el caso de que se produzcan fallos en Stop o Monitor_stop, NONE y SOFT son iguales. HARD indica que, si falla el método Start, RGM debe reubicar el grupo. Si falla el método Stop o el método Monitor_stop, RGM debe detener el recurso anulando el nodo del clúster. HARD, NONE y SOFT afectan a la conducta de recuperación ante fallos en caso de que los métodos Start o Prenet_start fallen.

A diferencia de NONE, SOFT y HARD, RESTART_ONLY y LOG_ONLY afectan a toda la conducta de recuperación ante fallos, incluidos aspectos como los reinicios de recursos y de grupos de recursos (scha_control ) iniciados mediante el supervisor y las conmutaciones iniciadas por el supervisor de recursos (scha_control). RESTART_ONLY indica que el supervisor puede ejecutar scha_control para reiniciar un recurso, pero los intentos por llevar a cabo un reinicio del grupo de recursos o una conmutación con scha_control fallan uno tras otro. RGM permite realizar reinicios Retry_count en Retry_interval . Si se supera Retry_count, no se permitirá ningún reinicio de recursos. Si Failover_mode se establece en LOG_ONLY , no se permitirá ningún reinicio ni ninguna conmutación de recursos. Establecer Failover_mode en LOG_ONLY tiene el mismo efecto que definir Failover_mode en RESTART_ONLY con Retry_count establecido en cero. Si el método Start falla, RESTART_ONLY y LOG_ONLY son iguales que NONE: no se produce ninguna recuperación ante fallos y el recurso pasa al estado Start_failed.

Categoría:

Opcional

Valor predeterminado:

Valor no predeterminado

Ajustable:

ANYTIME

Load_balancing_policy (cadena)

Una cadena que define la política de equilibrio de cargas que se está utilizando. Esta propiedad sólo se usa para servicios escalables. RGM crea automáticamente esta propiedad si la propiedad Scalable está declarada en el archivo RTR. Load_balancing_policy puede adoptar los siguientes valores:

Lb_weighted (el predeterminado). 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. Una dirección IP concreta de un cliente que conecta con 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.

Categoría:

Condicional/Opcional

Valor predeterminado:

Lb_weighted

Ajustable:

AT_CREATION

Load_balancing_weights (matriz de cadenas)

Sólo para recursos escalables. RGM crea automáticamente esta propiedad si la propiedad Scalable está declarada en el archivo RTR. El formato es peso@nodo,peso@nodo, donde peso es un número entero que refleja la parte relativa de la 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. Por ejemplo, 1@1,3@2 especifica que el nodo 1 recibe 1/4 de la carga y el nodo 2, 3/4. La cadena vacía (“”), la predeterminada, establece una distribución uniforme. Cualquier nodo que no tenga un peso asignado, recibe un peso predeterminado de 1.

Si el atributo Tunable no se especifica en el archivo de tipo de recurso, el valor Tunable de la propiedad es ANYTIME. Cualquier cambio en esta propiedad revisa sólo la distribución de nuevas conexiones

Categoría:

Condicional/Opcional

Valor predeterminado:

La cadena vacía (“”)

Ajustable:

ANYTIME

método_timeout para cada método de rellamada en el tipo (entero)

Un margen de tiempo, en segundos, pasado el cual RGM concluye que la invocación del método ha fallado.

Categoría:

Condicional/Opcional

Valor predeterminado:

3.600 (una hora) si el método en sí está declarado en el archivo RTR.

Ajustable:

ANYTIME

Monitored_switch (enum.)

RGM lo establece en Enabled o Disabled si el administrador del clúster habilita o inhabilita el supervisor con una utilidad administrativa. Si es Disabled, no se invoca el método Start del supervisor hasta que se vuelva a habilitar. Si el recurso no tiene un método de rellamada del supervisor, la propiedad no existirá.

Categoría:

Sólo consulta

Valor predeterminado:

Valor no predeterminado

Ajustable:

Nunca

Network_resources_used (matriz de cadenas)

Una lista de recursos de red de nombre lógico de servidor o dirección compartida que utiliza el recurso. Para los servicios escalables, esta propiedad se debe referir a recursos de dirección compartida existentes en un grupo de recursos aparte. En el caso de servicios a prueba de fallos, esta propiedad se refiere a recursos de nombre lógico de servidor o dirección compartida existentes en el mismo grupo de recursos. RGM crea automáticamente esta propiedad si la propiedad Scalable está declarada en el archivo RTR. Si la propiedad Scalable no está declarada en el archivo RTR, Network_resources_used no estará disponible, salvo que se declare específicamente en el archivo RTR.

Si el atributo Tunable no se especifica en el archivo de tipo de recurso, el valor Tunable de la propiedad será AT_CREATION.


Nota –

En la página del comando man de SUNW.Event(5) se describe cómo se configura esta propiedad para CRNP.


Categoría:

Condicional/Necesario

Valor predeterminado:

Valor no predeterminado

Ajustable:

AT_CREATION

Num_resource_restarts en cada nodo de clúster (entero)

Esta propiedad no se puede definir directamente, ya que la establece RGM según el número de llamadas scha_control , Resource_restart o Resource_is_restarted que se hayan efectuado para este recurso en este nodo en los últimos n segundos. n es el valor de la propiedad Retry_interval del recurso. El contador de reinicios del recurso lo restablece RGM en cero RGM cada vez que este recurso realiza una conmutación scha_control, independientemente de si la conmutación tiene éxito o falla.

Si un tipo de recurso no declara la propiedad Retry_interval, entonces la propiedad Num_resource_restarts no está disponible para recursos de ese tipo.

Categoría:

Sólo consulta

Valor predeterminado:

Valor no predeterminado

Ajustable:

No

Num_rg_restarts en cada nodo del clúster (entero)

No se puede establecer directamente esta propiedad, ya que la ajusta RGM según el número de llamadas de scha_control Restart que haya efectuado este recurso para el grupo de recursos que contiene este nodo en los últimos n segundos. n hace referencia al valor de la propiedad Retry_interval del recurso. Si un tipo de recurso no declara la propiedad Retry_interval, entonces, la propiedad Num_rg_restarts no estará disponible para los recursos de este tipo.

Categoría:

Consulte la descripción

Valor predeterminado:

Valor no predeterminado

Ajustable:

No

On_off_switch (enum.)

RGM lo establece en Enabled o Disabled si el administrador del clúster habilita o inhabilita el recurso con una utilidad administrativa. Si se inhabilita, el recurso pasa a estar fuera de línea y no se producirán rellamadas hasta que se habilite de nuevo.

Categoría:

Sólo consulta

Valor predeterminado:

Valor no predeterminado

Ajustable:

Nunca

Port_list (matriz de cadenas)

Una lista de números de puerto en los que recibe el servidor. Cada número de puerto cuenta con una barra oblicua (/) seguida del protocolo que se usa para dicho puerto, por ejemplo, Port_list=80/tcp o Port_list=80/tcp6,40/udp6. Se pueden especificar los siguientes valores de protocolo:

  • tcp, para TCP IPv4

  • tcp6, para TCP IPv6

  • udp, para UDP IPv4

  • udp6, para UDP IPv6

Si la propiedad Scalable está declarada en el archivo RTR, RGM crea automáticamente Port_list. En caso contrario, esta propiedad no estará disponible salvo que se declare explícitamente en el archivo RTR.

La configuración de esta propiedad para Apache se detalla en Sun Cluster Data Service for Apache Guide for Solaris OS.

Categoría:

Condicional/Necesario

Valor predeterminado:

Valor no predeterminado

Ajustable:

AT_CREATION

R_description (cadena)

Una descripción breve del recurso.

Categoría:

Opcional

Valor predeterminado:

La cadena vacía

Ajustable:

ANYTIME

Resource_dependencies (matriz de cadenas)

Una lista de los recursos en el mismo grupo o en uno diferente con respecto al cual el recurso tiene una dependencia fuerte. Este recurso no se puede iniciar si alguno de los recursos de la lista no está en línea. Si este recurso y alguno de los recursos de la lista se inician al mismo tiempo, RGM espera hasta que el recurso de la lista se inicie, antes de que RGM inicie este recurso. Si el recurso de esta lista Resource_dependencies del recurso no se inicia, este recurso permanecerá también fuera de línea. El recurso de esta lista de recursos puede que no se inicie porque el grupo de recursos del recurso de la lista permanezca fuera de línea o porque el recurso de la lista esté en estado Start_failed . Si este recurso permanece fuera de línea debido a que existe una dependencia de otro recurso de un grupo de recursos diferente que falla al iniciarse, este grupo de recursos pasará al estado Pending_online_blocked.

Si este recurso pasa a estar fuera de línea al mismo tiempo que los recursos de la lista, dicho recurso se detiene antes que los de la lista. Sin embargo, si este recurso permanece en línea o falla al detenerse, un recurso de la lista que esté en un grupo de recursos diferente se detendrá de todos modos. Los recursos de la lista no se pueden inhabilitar a menos que este recurso se inhabilite en primer lugar.

Por defecto, en un grupo de recursos, los recursos de aplicaciones tienen una dependencia fuerte implícita con respecto a los recursos de las direcciones de red. Implicit_network_dependencies en Propiedades del grupo de recursos contiene más información.

En un grupo de recursos, los métodos Prenet_start se ejecutan en orden de dependencia antes que los métodos Start. Los métodos Postnet_stop se ejecutan en orden de dependencia después de los métodos Stop. En diferentes grupos de recursos, el elemento dependiente espera a que el recurso del que depende finalice Prenet_start y Start antes de ejecutar Prenet_start. El recurso del que depende el otro elemento espera a que el recurso dependiente finalice Stop y Postnet_stop antes de ejecutar Stop.

Categoría:

Opcional

Valor predeterminado:

La lista vacía

Ajustable:

ANYTIME

Resource_dependencies_restart ( matriz de cadenas)

Una lista de los recursos en el mismo grupo o en uno diferente con respecto al cual el recurso tiene una dependencia de inicio.

Esta propiedad actúa al igual que Resource_dependencies, exceptuando que, si se reinicia algún recurso de la lista de dependencias de reinicio, el recurso en cuestión se reiniciará también. El reinicio de este recurso se produce después de que el recurso de la lista vuelva a estar en línea.

Categoría:

Opcional

Valor predeterminado:

La lista vacía

Ajustable:

ANYTIME

Resource_dependencies_weak (matriz de cadenas)

Una lista de los recursos en el mismo grupo o en uno diferente con respecto al cual el recurso tiene una dependencia débil. Una dependencia débil determina el orden de las llamadas de los métodos. RGM ejecuta los métodos Start de los recursos de esta lista antes que el método Start de este recurso. RGM ejecuta los métodos Stop de este recurso antes que los métodos Stop de los recursos de la lista. El recurso tiene opciones de iniciarse si los de la lista fallan al iniciarse o permanecen fuera de línea.

Si este recurso y otro de la lista Resource_dependencies_weak se inician simultáneamente, RGM espera a que el recurso de la lista se inicie antes de que RGM inicie este recurso. Si el recurso de la lista no se inicia —por ejemplo, si el grupo de recursos del recurso de la lista permanece fuera de línea o si el recurso de la lista está en estado Start_failed — se iniciará este recurso. El grupo de recursos de este recurso puede pasar al estado Pending_online_blocked temporalmente a medida que se inician los recursos de esta lista Resource_dependencies_weak del recurso. Cuando todos los recursos de la lista se hayan iniciado (o no se hayan iniciado correctamente), este recurso se iniciará y su grupo entrará en el estado Pending_online.

Si este recurso pasa a estar fuera de línea al mismo tiempo que los recursos de la lista, dicho recurso se detiene antes que los de la lista. Si este recurso permanece en línea o no se detiene correctamente, un recurso de la lista se detendrá de todos modos. No es posible inhabilitar los recursos de la lista a menos que este recurso se inhabilite primero.

En un grupo de recursos, los métodos Prenet_start se ejecutan en orden de dependencia antes que los métodos Start. Los métodos Postnet_stop se ejecutan en orden de dependencia después de los métodos Stop. En diferentes grupos de recursos, el elemento dependiente espera a que el recurso del que depende finalice Prenet_start y Start antes de ejecutar Prenet_start. El recurso del que depende el otro elemento espera a que el recurso dependiente finalice Stop y Postnet_stop antes de ejecutar Stop.

Categoría:

Opcional

Valor predeterminado:

La lista vacía

Ajustable:

ANYTIME

Resource_name (cadena)

El nombre de la instancia del recurso. Este nombre debe ser único en la configuración del clúster y no se puede cambiar después de su creación.

Categoría:

Necesaria

Valor predeterminado:

Valor no predeterminado

Ajustable:

Nunca

Resource_project_name (cadena)

El nombre de proyecto Solaris asociado al recurso. Esta propiedad permite que los servicios de datos del clúster accedan al uso de las características de gestión de recursos de Solaris, como la CPU y la agrupación de recursos. Cuando RGM pone en línea los recursos, inicia los procesos relacionados bajo este nombre de proyecto. Si la propiedad no está especificada, el nombre del proyecto se obtendrá de la propiedad RG_project_name del grupo de recursos que contiene el recurso (consulte rg_properties [5]). Si no se especifica ninguna propiedad, RGM utilizará el nombre de proyecto predefinido default. El nombre de proyecto especificado debe existir en la base de datos de proyectos y el usuario root se debe configurar como miembro del proyecto nombrado. Esta propiedad se admite sólo en Solaris 9 y en versiones posteriores de Solaris.


Nota –

Los cambios que se efectúen en esta propiedad surten efecto la próxima vez que se inicie el recurso.


Categoría:

Opcional

Valor predeterminado:

Nulo

Ajustable:

ANYTIME

Resource_state en cada nodo del clúster (enum.)

El estado determinado por RGM del recurso en cada nodo del clúster. Los estados posibles son Online, Offline, Start_failed, Stop_failed, Monitor_failed, Online_not_monitored, Starting y Stopping.

Esta propiedad no se puede configurar.

Categoría:

Sólo consulta

Valor predeterminado:

Valor no predeterminado

Ajustable:

Nunca

Retry_count (entero)

Las veces que el monitor intenta reiniciar un recurso si éste falla. Esta propiedad sólo la crea RGM y sólo está disponible para el administrador si se declara en el archivo RTR. Retry_count es optativo si se especifica un valor predeterminado en el archivo RTR.

Si el atributo Tunable no se especifica en el archivo de tipo de recurso, el valor Tunable de la propiedad es WHEN_DISABLED.

Esta propiedad es necesaria si el atributo Default no se especifica en la declaración de propiedades del archivo RTR.

Categoría:

Condicional

Valor predeterminado:

Valor no predeterminado

Ajustable:

WHEN_DISABLED

Retry_interval (entero)

Los segundos que transcurren entre cada intento de reiniciar un recurso que ha fallado. El supervisor de recursos utiliza esta propiedad junto con Retry_count. Esta propiedad sólo la crea RGM y sólo está disponible para el administrador si se declara en el archivo RTR. Retry_interval es optativo si se especifica un valor predeterminado en el archivo RTR.

Si el atributo Tunable no se especifica en el archivo de tipo de recurso, el valor Tunable de la propiedad es WHEN_DISABLED.

Esta propiedad es necesaria si el atributo Default no se especifica en la declaración de propiedades del archivo RTR.

Categoría:

Condicional

Valor predeterminado:

Valor no predeterminado

Ajustable:

WHEN_DISABLED

Scalable (booleano)

Indica si el recurso es escalable, es decir, si el recurso utiliza funciones de equilibrado de carga de Sun Cluster.

Si esta propiedad se declara en el archivo RTR, RGM crea automáticamente las siguientes propiedades de servicio escalables para recursos de ese tipo: Affinity_timeout, Load_balancing_policy, Load_balancing_weights, Network_resources_used, Port_list, UDP_affinity y Weak_affinity . Estas propiedades tienen valores predeterminados si no se declaran explícitamente en el archivo RTR. El valor predeterminado de Scalable (cuando se declara en el archivo RTR) es TRUE.

Si esta propiedad se declara en el archivo RTR, no se permite que se le asigne un valor Tunable distinto de AT_CREATION.

Si esta propiedad no se declara en el archivo RTR, el recurso no será escalable, no será posible ajustar esta propiedad y RGM no establecerá ninguna propiedad de servicio escalable. Sin embargo, se pueden declarar explícitamente las propiedades Network_resources_used y Port_list en el archivo RTR, si se desea, porque pueden ser útiles en servicios no escalables y escalables.

Esta propiedad se utiliza junto con la propiedad de tipo de recurso Failover , de la siguiente manera:

El uso de esta propiedad de recurso junto con la propiedad de tipo de recurso Failover se describe detalladamente en r_properties (5).

Categoría:

Opcional

Valor predeterminado:

Valor no predeterminado

Ajustable:

AT_CREATION

Status en cada nodo de clúster (enum.)

La define el supervisor de recursos con scha_resource_setstatus(1HA) o scha_resource_setstatus(3HA). Los valores posibles son OK, degraded, faulted, unknown y offline. Cuando un recurso se pone en línea o fuera de línea, RGM define automáticamente el valor Status en caso de que el valor Status no haya sido definido por el supervisor del recurso o los métodos.

Categoría:

Sólo consulta

Valor predeterminado:

Valor no predeterminado

Ajustable:

Nunca

Status_msg en cada nodo del clúster ( string)

Establecido por el supervisor de recursos al mismo tiempo que la propiedad Status. Cuando un recurso se pone en línea o fuera de línea, RGM restablece automáticamente esta propiedad a una cadena vacía, en caso de que esta propiedad no haya sido definida por los métodos del recurso.

Categoría:

Sólo consulta

Valor predeterminado:

Valor no predeterminado

Ajustable:

Nunca

Thorough_probe_interval (entero)

Los segundos que transcurren entre las invocaciones a una sonda de fallos de alta sobrecarga del recurso. Esta propiedad sólo la crea RGM y sólo está disponible para el administrador si se declara en el archivo RTR. Thorough_probe_interval es optativo si se especifica un valor predeterminado en el archivo RTR.

Si el atributo Tunable no se especifica en el archivo de tipo de recurso, el valor Tunable de la propiedad es WHEN_DISABLED.

Esta propiedad es necesaria si el atributo Default no se especifica en la declaración de propiedades del archivo RTR.

Categoría:

Condicional

Valor predeterminado:

Valor no predeterminado

Ajustable:

WHEN_DISABLED

Type (cadena)

El tipo de recurso del cual este recurso es una instancia.

Categoría:

Necesaria

Valor predeterminado:

Valor no predeterminado

Ajustable:

Nunca

Type_version (cadena)

Indica la versión del tipo de recurso actualmente asociada al recurso. RGM crea automáticamente esta propiedad, que no se puede declarar en el archivo RTR. El valor de esta propiedad es el mismo que el de la propiedad RT_version del tipo de recurso. Cuando se crea un recurso, la propiedad Type_version no se especifica explícitamente, aunque puede parecer como un sufijo del nombre del tipo de recurso. Cuando se edita un recurso, Type_version puede cambiar a un valor nuevo.

La posibilidad de ajustar esta propiedad se deriva de las siguientes fuentes:

  • La versión actual del tipo de recurso

  • La directiva #$upgrade_from del archivo RTR

Categoría:

Consulte la descripción

Valor predeterminado:

Valor no predeterminado

Ajustable:

Consulte la descripción

UDP_affinity (booleano)

Si es verdadero, todo el tráfico de UDP de un cliente determinado se envía al mismo nodo de servidor que gestiona actualmente todo el tráfico de TCP del cliente.

Esta propiedad sólo es importante cuando Load_balancing_policy es Lb_sticky o Lb_sticky_wild. Además, Weak_affinity se debe establecer en FALSE (el valor predeterminado).

Esta propiedad se utiliza solamente en servicios escalables.

Categoría:

Opcional

Valor predeterminado:

Valor no predeterminado

Ajustable:

WHEN_DISABLED

Weak_affinity (booleano)

En caso de ser true, habilita la forma débil de afinidad del cliente. La forma débil de la afinidad del cliente permite que las conexiones procedentes de un cliente determinado se envíen al mismo nodo del servidor, excepto cuando se producen las siguientes condiciones:

  • Se inicia una escucha del servidor como respuesta, por ejemplo, a un reinicio no satisfactorio del supervisor, a un fallo de conmutación de un recurso o a la unión de un nodo con un clúster después de que se haya producido un fallo.

  • Load_balancing_weights del recurso escalable cambia debido a una acción administrativa.

La afinidad débil proporciona una alternativa de baja sobrecarga a la forma predeterminada, tanto en consumo de memoria como en ciclos de procesador.

Esta propiedad sólo es importante cuando Load_balancing_policy es Lb_sticky o Lb_sticky_wild.

Esta propiedad se utiliza solamente en servicios escalables.

Categoría:

Opcional

Valor predeterminado:

Valor no predeterminado

Ajustable:

WHEN_DISABLED