Guide des développeurs pour les services de données Sun Cluster pour SE Solaris

Définition du fichier d'enregistrement du type de ressource

Le fichier d'enregistrement du type de ressource (RTR) de cet exemple définit la configuration statique du type de ressource DNS. Les ressources de ce type héritent des propriétés définies dans le fichier RTR.

Les informations contenues dans le fichier RTR sont lues par le RGM lorsque l'administrateur du cluster enregistre le service de données HA-DNS.

Présentation du fichier RTR

Le fichier RTR suit un format bien défini. Les propriétés du type de ressources sont définies en premier lieu dans le fichier, suivent les propriétés de ressource définies par le système, puis les propriétés d'extension. Reportez-vous à la page man rt_reg(4) et à la rubrique Paramétrage des propriétés de ressources et de types de ressources pour de plus amples informations.

Cette rubrique décrit les propriétés spécifiques du fichier RTR modèle. Elle fournit également une liste des différentes parties du fichier. Pour obtenir une liste complète du contenu de ce fichier, reportez-vous à la rubrique Liste de code du fichier RTR.

Propriétés du type de ressource dans le fichier RTR modèle

Le fichier RTR modèle commence par des commentaires, suivis des propriétés du type de ressource définissant la configuration de HA-DNS, comme vous pouvez le voir dans la liste suivante :

#
# Copyright (c) 1998-2003 by Sun Microsystems, Inc.
# Tous droits réservés
#
# Informations relatives à l’enregistrement du service DNS (Domain Name Service)
#

#pragma ident   “@(#)SUNW.sample   1.1   00/05/24 SMI”

RESOURCE_TYPE = “sample”;
VENDOR_ID = SUNW;
RT_DESCRIPTION = “Service DNS sur 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;

Astuce –

la propriété Resource_type doit être déclarée en tant que première entrée dans le fichier RTR. Dans le cas contraire, l'enregistrement du type de ressources échoue.



Remarque –

le RGM est insensible à la casse dans les noms de propriété. Les fichiers RTR fournis par Sun sont basés sur la convention suivante : la première lettre du nom est en majuscules tandis que toutes les autres sont en minuscules. Cette convention s'applique aux noms de propriété mais pas aux noms de méthode. Les noms de méthodes et les attributs de propriété sont en majuscules.


Vous trouverez présentées ci-dessous des informations sur ces propriétés :

Les propriétés du type de ressource non spécifiées dans ce fichier RTR, par exemple Single_instance, init_nodes et Installed_nodes, reçoivent leur valeur par défaut. La rubrique Propriétés des types de ressources présente la liste complète des propriétés de type de ressources avec leur valeur par défaut.

L'administrateur du cluster ne peut pas modifier les valeurs spécifiées pour les propriétés du type de ressource dans le fichier RTR.

Propriétés de ressource dans le fichier RTR modèle

Par convention, déclarez les propriétés de ressource selon les propriétés du type de ressource dans le fichier RTR. Les propriétés de ressource comprennent les propriétés définies par le système et fournies par Sun Cluster, ainsi que les propriétés d'extension définies par l'utilisateur. Pour chaque type, vous pouvez spécifier un nombre d'attributs de propriété fournis par Sun Cluster, telles que des valeurs minimum et maximum ainsi que des valeurs par défaut.

Propriétés définies par le système dans le fichier RTR

La liste énumérée ci-dessous présente les propriétés définies par le système dans le fichier RTR.

# Une liste des déclarations de propriétés de ressources entre crochets suit les
# déclarations relatives au type de ressource. La déclaration du nom de la propriété doit
# être le premier attribut après le crochet ouvrant de chaque entrée.

# Les propriétés <méthode>_timeout définissent le délai (en secondes) après lequel
# le RGM conclut que l’appel de la méthode a échoué

# La valeur MIN de tous les délais impartis de la méthode est définie à 60 secondes. Ceci
# évite que les administrateurs définissent des délais plus courts qui non seulement
# n’améliorent pas les performances de basculement, mais peuvent générer des actions
# non souhaitées de la part du RGM (basculements erronés, réinitialisation de nœuds
# ou passage du groupe de ressources à l’état ERROR_STOP_FAILED, requérant une intervention
# de l’opérateur). La définition de délais trop courts pour la méthode entraîne une
# *diminution* de la disponibilité générale du service de données.
{  
   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;
}

# Le nombre de nouvelles tentatives à effectuer au cours d’une période donnée avant de conclure
# que l’application ne peut pas démarrer correctement sur ce nœud.
{
        PROPERTY = Retry_Count;
        MIN=0;
        MAX=10;
        DEFAULT=2;
        TUNABLE = ANYTIME; 
}

# Définissez une valeur multiple de 60 pour Retry_interval, étant donné que
# cette valeur est convertie de secondes en minutes, avec arrondissement au chiffre supérieur.
# Par exemple, une valeur de 50 (secondes) est convertie en 1 minute. Utilisez cette propriété
# pour établir le délai séparant les nouvelles tentatives (Retry_count).
{
        PROPERTY = Retry_Interval;
        MIN=60;
        MAX=3600;
        DEFAULT=300;
        TUNABLE = ANYTIME;
}

{
       PROPERTY = Network_resources_used;
        TUNABLE = AT_CREATION;
        DEFAULT = ““;
}

Bien que Sun Cluster fournisse les propriétés définies par le système, vous pouvez définir d'autres valeurs par défaut à l'aide des attributs de propriété de ressource. Reportez-vous à la rubrique Attributs des propriétés de ressources pour une liste complète des attributs disponibles pour une application aux propriétés de ressource.

Remarquez les points suivants sur les propriétés de ressource définies par le système dans le fichier RTE modèle :

Propriétés d'extension dans le fichier RTR

Les propriétés d'extension se trouvent à la fin du fichier RTR modèle, comme le montre la liste suivante :

# Propriétés d’extension

# L’administrateur du cluster doit définir la valeur de cette propriété afin qu’elle pointe vers
# le répertoire contenant les fichiers de configuration utilisés par l’application.
# Pour cette application, DNS, spécifiez le chemin du fichier de configuration DNS sur
# PXFS (généralement named.conf).
{
   PROPERTY = Confdir;
   EXTENSION;
   STRING;
   TUNABLE = AT_CREATION;
   DESCRIPTION = “Chemin du répertoire de configuration”;
}

# Délai en secondes avant la déclaration d’un échec de la sonde.
{
        PROPERTY = Probe_timeout;
        EXTENSION;
        INT;
        DEFAULT = 120;
        TUNABLE = ANYTIME;
        DESCRIPTION = “Délai imparti pour la sonde (secondes)”;
}

Le fichier RTR modèle définit deux propriétés d'extension, Confdir et Probe_timeout. Confdir spécifie le chemin vers le répertoire de configuration DNS. Ce répertoire contient le fichier in.named requis par le DNS pour fonctionner correctement. Les méthodes Start et Validate du service de données modèle utilisent cette propriété pour vérifier que le répertoire de configuration et le fichier in.named sont accessibles avant de démarrer le DNS.

Lorsque le service de données est configuré, la méthode Start vérifie que le nouveau répertoire est accessible.

La méthode PROBE du service de données modèle n'est pas une méthode de rappel de Sun Cluster, mais une méthode définie par l'utilisateur. C'est la raison pour laquelle Sun Cluster ne propose aucune propriété Probe_timeout pour celle-ci. Le développeur a défini une propriété d'extension dans le fichier RTR afin de permettre à un administrateur de cluster de configurer une valeur Probe_timeout.