El archivo de registro del tipo de recurso (RTR) de este ejemplo define la configuración estática del tipo de recurso de DNS. Los recursos de este tipo heredan las propiedades definidas en el archivo RTR.
El Gestor de grupos de recursos (RGM) lee la información del archivo RTR cuando el administrador del clúster registra el servicio HA-DNS.
El archivo RTR sigue un formato bien definido. Las propiedades del recurso se definen primero en el archivo; después se definen las propiedades del recurso definidas por el sistema; finalmente, se definen las propiedades de extensión. Consulte la página de comando man rt_reg(4) y Establecimiento del recurso y las propiedades del tipo de recurso para obtener más información.
Las siguientes secciones describen las propiedades específicas del archivo RTR de ejemplo. Estas secciones proporcionan listados de las diferentes partes del archivo. Para obtener una lista completa del contenido del archivo RTR de ejemplo, consulte Listado del archivo de registro del tipo de recurso.
El archivo RTR de ejemplo empieza con comentarios, seguidos de las propiedades del tipo de recurso que definen la configuración de HA-DNS, como se muestra en la lista siguiente.
Los nombres de los tipos de recursos, los recursos y los grupos de recursos no distinguen entre mayúsculas y minúsculas. Puede utilizar cualquier combinación de mayúsculas y minúsculas al especificar los nombres de las propiedades.
# # Copyright (c) 1998-2005 by Sun Microsystems, Inc. # All rights reserved. # # Registration information for Domain Name Service (DNS) # #pragma ident “@(#)SUNW.sample 1.1 00/05/24 SMI” Resource_type = “sample”; Vendor_id = SUNW; RT_description = “Domain Name Service on Sun Cluster”; RT_version =”1.0”; API_version = 2; Failover = TRUE; RT_basedir=/opt/SUNWsample/bin; Pkglist = SUNWsample; Start = dns_svc_start; Stop = dns_svc_stop; Validate = dns_validate; Update = dns_update; Monitor_start = dns_monitor_start; Monitor_stop = dns_monitor_stop; Monitor_check = dns_monitor_check;
Debe declarar la propiedad Resource_type como la primera entrada del archivo RTR, De lo contrario, fallará el registro del tipo de recurso.
La siguiente información describe estas propiedades:
Puede especificar el nombre del tipo de recurso únicamente con la propiedad Resource_type (sample) o utilizando el Id. de proveedor, vendor-id, como prefijo, seguido de un punto (.) y, a continuación, la propiedad del tipo de recurso (SUNW.sample).
Si especifica vendor-id, utilice el símbolo del valor la compañía que define al tipo de recurso. El nombre de éste debe ser exclusivo, dentro del clúster.
La propiedad RT_version identifica la versión del servicio de datos de ejemplo según especifique el proveedor.
La propiedad API_version identifica la versión de Sun Cluster. Por ejemplo, API_version = 2 indica que el servicio de datos puede ejecutarse en cualquier versión de Sun Cluster a partir de Sun Cluster 3.0. API_version = 5 indica que el servicio de datos puede instalarse en cualquier versión de Sun Cluster a partir de la versión 3.1 9/04. Sin embargo, API_version = 5 también indica que el servicio de datos no puede instalarse en cualquier versión de Sun Cluster anterior a la versión 3.1 9/04. Esta propiedad se describe de forma más detallada en la entrada de API_version en Propiedades del tipo de recurso.
Failover = TRUE indica que el servicio de datos no puede ejecutarse en un grupo de recursos que esté en línea simultáneamente en varios nodos.
RT_basedir señala a /opt/SUNWsample/bin como la ruta de directorio que permite completar rutas relativas, por ejemplo, como rutas de métodos de rellamada.
Start, Stop y Validate proporcionan las rutas a los respectivos programas de métodos de rellamada ejecutados por RGM. Estas rutas son relativas en relación con el directorio especificado por RT_basedir.
Pkglist identifica SUNWsample como el paquete que contiene la instalación del servicio de datos de ejemplo.
Las propiedades del tipo de recurso que no se especifiquen en el archivo RTR como, por ejemplo, Single_instance, Init_nodes y Installed_nodes , se establecerán en sus valores predeterminados. Propiedades del tipo de recurso contiene una lista completa de las propiedades de tipos de recursos, incluidos sus valores predeterminados.
El administrador del clúster no puede cambiar los valores de las propiedades de tipos de recursos del archivo RTR.
Por convención, las propiedades del recurso se declaran de acuerdo con las del tipo de recurso del archivo RTR. Entre las propiedades del recurso, se incluyen las propiedades definidas por el sistema que proporciona Sun Cluster y las propiedades de extensión que defina. Para cada tipo, puede especificar una serie de atributos de propiedades proporcionadas por el software de Sun Cluster, como los valores mínimos, máximos y predeterminados
La siguiente lista muestra las propiedades definidas por el sistema en el archivo RTR de ejemplo.
# A list of bracketed resource property declarations follows the # resource type declarations. The property-name declaration must be # the first attribute after the open curly bracket of each entry. # The <method>_timeout properties set the value in seconds after which # the RGM concludes invocation of the method has failed. # The MIN value for all method timeouts is set to 60 seconds. This # prevents administrators from setting shorter timeouts, which do not # improve switchover/failover performance, and can lead to undesired # RGM actions (false failovers, node reboot, or moving the resource group # to ERROR_STOP_FAILED state, requiring operator intervention). Setting # too-short method timeouts leads to a *decrease* in overall availability # of the data service. { PROPERTY = Start_timeout; MIN=60; DEFAULT=300; } { PROPERTY = Stop_timeout; MIN=60; DEFAULT=300; } { PROPERTY = Validate_timeout; MIN=60; DEFAULT=300; } { PROPERTY = Update_timeout; MIN=60; DEFAULT=300; } { PROPERTY = Monitor_Start_timeout; MIN=60; DEFAULT=300; } { PROPERTY = Monitor_Stop_timeout; MIN=60; DEFAULT=300; } { PROPERTY = Thorough_Probe_Interval; MIN=1; MAX=3600; DEFAULT=60; TUNABLE = ANYTIME; } # The number of retries to be done within a certain period before concluding # that the application cannot be successfully started on this node. { PROPERTY = Retry_count; MIN=0; MAX=10; DEFAULT=2; TUNABLE = ANYTIME; } # Set Retry_interval as a multiple of 60 since it is converted from seconds # to minutes, rounding up. For example, a value of 50 (seconds) # is converted to 1 minute. Use this property to time the number of # retries (Retry_count). { PROPERTY = Retry_interval; MIN=60; MAX=3600; DEFAULT=300; TUNABLE = ANYTIME; } { PROPERTY = Network_resources_used; TUNABLE = AT_CREATION; DEFAULT = ““; }
Aunque el software de Sun Cluster proporciona las propiedades definidas por el sistema, puede establecer diferentes valores predeterminados mediante el uso de los atributos de propiedades del recurso. Consulte Atributos de las propiedades de recursos para obtener una lista completa de los atributos disponibles que se pueden aplicar a las propiedades del recurso.
Tenga en cuenta los siguientes puntos sobre las propiedades de recursos definidas por el sistema en el archivo RTR de ejemplo:
Sun Cluster proporciona un valor mínimo (1 segundo) y uno predeterminado (3600 segundos o una hora) para todos los tiempos de espera. El archivo RTR de ejemplo cambia el tiempo de espera mínimo a 60 segundos y el valor predeterminado a 300 segundos. El administrador del clúster puede aceptar este valor predeterminado o cambiar el valor de tiempo de espera por otro, como 60 segundos o más. Sun Cluster no tiene un valor máximo permitido.
El atributo TUNABLE de las propiedades Thorough_probe_interval, Retry_count y Retry_interval se establece en ANYTIME. Esta configuración indica que el administrador del clúster puede cambiar el valor de estas propiedades, aunque se esté ejecutando el servicio de datos. Estas propiedades las utiliza el supervisor de fallos implementado por el servicio de datos de ejemplo que implementa un método Update para detener y reiniciar el supervisor de fallos cuando éstas u otras propiedades de recurso se modifican mediante una acción administrativa. Consulte Funcionamiento del método Update .
Las propiedades del recurso se clasifican de la siguiente forma:
Necesario. El administrador del clúster debe especificar un valor al crear un recurso.
Opcional. Si el administrador del clúster no especifica ningún valor, el sistema proporcionará un valor predeterminado.
Condicional. RGM crea la propiedad sólo si se declara ésta en el archivo RTR.
El supervisor de fallos del servicio de datos de ejemplo utiliza las propiedades condicionales Thorough_probe_interval , Retry_count, Retry_interval y Network_resources_used, por lo que debe declararlas en el archivo RTR. Consulte la página de comando man r_properties(5) o Propiedades de recurso para obtener información sobre cómo se clasifican las propiedades.
Al final del archivo RTR de ejemplo, se encuentran las propiedades de extensión:
# Extension Properties # The cluster administrator must set the value of this property to point to the # directory that contains the configuration files used by the application. # For this application, DNS, specify the path of the DNS configuration file on # PXFS (typically named.conf). { PROPERTY = Confdir; EXTENSION; STRING; TUNABLE = AT_CREATION; DESCRIPTION = “The Configuration Directory Path”; } # Time out value in seconds before declaring the probe as failed. { PROPERTY = Probe_timeout; EXTENSION; INT; DEFAULT = 120; TUNABLE = ANYTIME; DESCRIPTION = “Time out value for the probe (seconds)”; }
El archivo RTR de ejemplo define dos propiedades de extensión, Confdir y Probe_timeout. La propiedad Confdir especifica la ruta al directorio de configuración de DNS, que contiene el archivo in.named, necesario para que DNS funcione satisfactoriamente. Los métodos Start y Validate del servicio de datos de ejemplo utilizan esta propiedad para comprobar que se puede acceder al directorio de configuración y el archivo in.named antes de iniciar DNS.
Cuando el servicio de datos está configurado, el método Validate verifica si el nuevo directorio es accesible.
El método PROBE del servicio de datos de ejemplo no es un método de rellamada de Sun Cluster, sino un método definido por el usuario. Por lo tanto, Sun Cluster no proporciona una propiedad Probe_timeout para éste. Debe definir una propiedad de extensión en el archivo RTR para permitir que el administrador del clúster configure el valor de Probe_timeout.