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.
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.
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;
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.
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 :
Le nom du type de ressources peut être spécifié par la propriété Resource_type seule (sample) ou en utilisant l’Vendor_id comme préfixe avec un “.” le séparant du type de ressources (SUNW.sample).
Si vous utilisez Vendor_id, définissez le type de ressources à l'aide du symbole boursier de l'entreprise. Le nom du type de ressources doit être unique sur le cluster.
La propriété RT_version identifie la version du service de données modèle, telle qu'indiquée par le fournisseur.
La propriété API_version identifie la version de Sun Cluster. Par exemple, API_version = 2 indique que le service de données tourne sous Sun Cluster version 3.0.
Failover = TRUE indique que le service de données ne peut pas tourner dans un groupe de ressources susceptible d'être en ligne sur plusieurs nœuds à la fois.
RT_basedir pointe vers /opt/SUNWsample/bin comme le chemin de répertoire permettant de compléter les chemins relatifs, tels que les chemins de méthode de rappel.
Start, Stop, Validate, etc. proposent les chemins pointant vers les programmes de méthode rappel respectifs appelés par le RGM. Ces chemins d'accès dépendent du répertoire spécifié par RT_basedir.
Pkglist identifie SUNWsample comme le package contenant l'installation du service de données modèle.
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.
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.
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 :
Sun Cluster fournit une valeur minimale (1 seconde) et une valeur par défaut (3 600 secondes) pour tous les dépassements de délais impartis. Le fichier RTR modèle modifie le minimum à 60 et fait passer la valeur par défaut à 300 secondes. Un administrateur de clusters peut accepter cette valeur par défaut ou modifier la valeur du délai imparti (à 60 ou plus). Sun Cluster n'impose pas de valeur maximale autorisée.
Les propriétés Thorough_Probe_Interval, Retry_count et Retry_interval ont la valeur ANYTIME pour l'attribut TUNABLE. Ce paramètre signifie que l'administrateur du cluster peut modifier la valeur de ces propriétés, même lorsque le service de données tourne. Celles-ci sont utilisées par le détecteur de pannes mis en œuvre par le service de données modèle. Le service de données modèle met en œuvre une méthode Update pour arrêter et redémarrer le détecteur de pannes lors de la modification de ces propriétés de ressource ou d'autres par l'administrateur. Reportez-vous à la rubrique Méthode Update.
Les propriétés de ressource sont classifiées comme :
requises : l'administrateur du cluster doit spécifier une valeur à la création d'une ressource.
optionnelles : si l'administrateur ne spécifie pas de valeur, le système en renseigne une par défaut.
conditionnelles : le RGM ne crée la propriété que si elle est déclarée dans le fichier RTR.
Le détecteur de pannes du service de données modèle utilise les propriétés conditionnelles Thorough_probe_interval, Retry_count, Retry_interval et Network_resources_used, de telle manière que le développeur a dû les déclarer dans le fichier RTR. Reportez-vous à la page man r_properties(5) ou à la rubrique Propriétés des ressources pour obtenir des informations sur la manière dont les propriétés sont classifiées.
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.