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.
RGM lee la información del archivo RTR cuando el administrador de clúster registra el servicio de datos de 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 drt_reg(4) y Establecimiento del recurso y las propiedades del tipo de recurso para obtener más información.
Esta sección describe las propiedades específicas del archivo RTR de ejemplo. Proporciona listados de partes diferentes del archivo. Para un listado completo 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.
# # Copyright (c) 1998-2004 by Sun Microsystems, Inc. # Reservados todos los derechos. # # Información de registro del servicio de nombres de dominio (DNS) # #pragma ident “@(#)SUNW.sample 1.1 00/05/24 SMI” RESOURCE_TYPE = “sample”; VENDOR_ID = SUNW; RT_DESCRIPTION = “Servicio de nombres de dominio en 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, el registro del tipo de recurso no será satisfactorio.
RGM no diferencia entre mayúsculas y minúsculas en los nombres de las propiedades. La convención para las propiedades en los archivos RTR suministrados por Sun, salvo los nombres de métodos, es la utilización de mayúscula en el inicio del nombre y minúscula en el resto. Los nombres de métodos (y los atributos de las propiedades) contienen sólo mayúsculas.
A continuación se incluye alguna información sobre estas propiedades.
El nombre del tipo de recurso se puede especificar sólo con la propiedad Resource_type (sample) o con Vendor_id como un prefijo con “.” que lo separe del tipo de recurso (SUNW.sample).
Si utiliza Vendor_id, use el símbolo bursátil de la empresa que define el 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 se ejecuta en Sun Cluster, versión 3.0.
Failover = TRUE indica que el servicio de datos no se puede ejecutar en un grupo de recursos que pueda estar en línea en varios nodos simultáneamente.
RT_basedir apunta a /opt/SUNWsample/bin como la ruta del directorio para completar las rutas relativas, como las rutas de los métodos de rellamada.
Start, Stop, Validate, etc., proporcionan las rutas a los programas de método de rellamada respectivos, invocados por RGM. Estas rutas son relativas al directorio que especifica 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 especifican en este archivo RTR, como Single_instance, Init_nodes y Installed_nodes tienen su valor predeterminado. Propiedades del tipo de recurso contiene una lista completa de las propiedades del tipo de recurso, incluidos sus valores predeterminados.
El administrador del clúster no puede cambiar los valores especificados para las propiedades del tipo de recurso en el archivo RTR.
Por convención, las propiedades del recurso se declaran de acuerdo con las del tipo de recurso del archivo RTR; incluyen las propiedades definidas por el sistema, proporcionadas por Sun Cluster, y las propiedades de extensión definidas por el usuario. Para ambos tipo se pueden especificar varios atributos de propiedad proporcionados por Sun Cluster, como valores mínimo, máximo y predeterminado.
La lista siguiente muestra las propiedades definidas por el sistema en el archivo RTR de ejemplo.
# Una lista de declaraciones de propiedades del recurso entre llaves # sigue a las declaraciones del tipo de recurso. La declaración del nombre de propiedad # debe ser el primer atributo tras la llave abierta de cada entrada. # Las propiedades <method>_timeout establecen el valor en segundos tras el cual # RGM determina que la llamada del método no ha sido satisfactoria. # El valor MIN para todos los tiempos de espera de los métodos es de 60 segundos. # Así se impide que los administradores definan tiempos de espera menores, que no mejoran # el rendimiento de las operaciones de conmutación/recuperación de fallos y pueden provocar # acciones indeseadas de RGM (recuperaciones de fallos falsas, rearranque de nodo o # desplazamiento del grupo de recursos a un estado ERROR_STOP_FAILED que requiera la # intervención de un operador). Definir tiempos de espera demasiado cortos provoca una # *disminución* en la disponibilidad global del servicio de datos. { 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; } # El número de reintentos que se va a realizar en un determinado periodo antes de # determinar que la aplicación no se puede iniciar satisfactoriamente en este nodo. { PROPERTY = Retry_Count; MIN=0; MAX=10; DEFAULT=2; TUNABLE = ANYTIME; } # Definir Retry_Interval como múltiplo de 60, porque se convierte de segundos # a minutos, en un redondeo. Por ejemplo, un valor de 50 (segundos) # se convierte en 1 minuto. Utilizar esta propiedad para cronometrar el número # de reintentos (Retry_Count). { PROPERTY = Retry_Interval; MIN=60; MAX=3600; DEFAULT=300; TUNABLE = ANYTIME; } { PROPERTY = Network_resources_used; TUNABLE = AT_CREATION; DEFAULT = ““; }
Aunque Sun Cluster proporciona las propiedades definidas por el sistema, es posible definir diferentes valores predeterminados con los atributos de propiedades del recurso. Consulte Atributos de las propiedades de recursos para ver una lista completa de los atributos disponibles para aplicarlos a las propiedades del recurso.
Tenga presente lo siguiente sobre las propiedades de los recursos definidas por el sistema en el archivo RTR de ejemplo:
Sun Cluster proporciona un valor mínimo (1 segundo) y un valor predeterminado (3600 segundos) para todos los tiempos de espera. El archivo RTR de ejemplo cambia el mínimo a 60 y establece el valor predeterminado en 300 segundos. Un administrador del clúster puede aceptar este valor predeterminado o cambiar el valor del tiempo de espera (60 o superior). Sun Cluster no tiene un valor máximo permitido.
Las propiedades Thorough_Probe_Interval, Retry_count y Retry_interval tienen el atributo TUNABLE definido en ANYTIME. Esto significa que el administrador del clúster puede cambiar el valor de estas propiedades, aunque el servicio de datos esté en ejecución. 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 Método Update.
Las propiedades de recurso se clasifican como
necesarias: el administrador del clúster debe especificar un valor cuando cree un recurso;
opcionales: si el administrador no especifica ningún valor, el sistema proporciona un valor predeterminado
condicionales: RGM crea la propiedad sólo si está declarada 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 el desarrollador 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:
# Propiedades de extensión # El administrador del clúster debe definir el valor de esta propiedad para que apunte al # directorio que contiene los archivos de configuración que utiliza la aplicación. # Para esta aplicación, DNS, la ruta del archivo de configuración de DNS se especifica en # PXFS (normalmente, named.conf). { PROPERTY = Confdir; EXTENSION; STRING; TUNABLE = AT_CREATION; DESCRIPTION = “La ruta al directorio de configuración”; } # Valor de tiempo de espera en segundos, antes de declarar que el análisis no ha sido # satisfactorio. { PROPERTY = Probe_timeout; EXTENSION; INT; DEFAULT = 120; TUNABLE = ANYTIME; DESCRIPTION = “Valor de tiempo de espera del análisis (segundos)”; }
El archivo RTR de ejemplo define dos propiedades de extensión, Confdir y Probe_timeout. La primera especifica la ruta al directorio de configuración de DNS que contiene el archivo in.named necesario para que el DNS funcione satisfactoriamente. Los métodos Start y Validate del servicio de datos de ejemplo utilizan esta propiedad para verificar que el directorio de configuración y el archivo in.named sean accesibles antes de iniciar el 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 tanto, Sun Cluster no proporciona una propiedad Probe_timeout para él. El desarrollador ha definido una propiedad de extensión en el archivo RTR para permitir que un administrador del clúster configure un valor Probe_timeout.