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

Paramétrage des propriétés de ressources et de types de ressources

Sun Cluster propose un ensemble de propriétés de ressources et de types de ressources servant à définir la configuration statique d'un service de données. Les propriétés de types de ressources spécifient le type de ressource, la version, la version de l'interface API, etc., ainsi que les chemins d'accès aux méthodes de rappel. Le Tableau A–1 répertorie toutes les propriétés de types de ressources.

Les propriétés de ressources, telles que Mode_basculement et Intervalle_sonde_complet et les délais d'attente de la méthode définissent également la configuration statique de la ressource. Les propriétés de ressource dynamique, comme État_ressource et Statut, reflètent l'état actif d'une ressource gérée. Le Tableau A–2 présente les propriétés de ressources.

Vous déclarez les propriétés de ressources et de types de ressources dans le fichier RTR. Ce fichier est un élément indispensable d'un service de données. Le fichier RTR définit la configuration d'origine du service de données au moment où l'administrateur du cluster l'enregistre sous Sun Cluster.

Nous vous recommandons d'utiliser Agent Builder pour générer le fichier RTR de votre service de données car cette application déclare l'ensemble des propriétés qui sont à la fois utiles et requises pour n'importe quel service de données. Par exemple, certaines propriétés (comme Type_ressource) doivent être déclarées dans le fichier RTR car, dans le cas contraire, l'enregistrement du service de données échoue. Bien que cela ne soit pas indispensable, d'autres propriétés ne seront pas accessibles par l'administrateur système si vous ne les déclarez pas dans le fichier RTR tandis que d'autres propriétés sont disponibles que vous les déclariez ou non car le gestionnaire RGM les définit et leur octroie une valeur par défaut. Pour éviter de gérer un tel niveau de complexité, il vous suffit d'utiliser Agent Builder pour garantir la génération d'un fichier RTR correct que vous pouvez éditer ultérieurement pour modifier des valeurs spécifiques si nécessaire.

À la fin de cette rubrique, vous trouverez un modèle de fichier RTR créé par Agent Builder.

Déclaration des propriétés de type de ressources

L'administrateur du cluster ne peut pas configurer les propriétés de type de ressources que vous déclarez dans le fichier RTR. Ces propriétés font partie intégrante de la configuration permanente du type de ressources.


Remarque :

seule une propriété de type de ressources, Noeuds_installés est configurable par l'administrateur système. En fait, elle ne peut être configurée que par un administrateur système. Vous ne pouvez pas la déclarer dans le fichier RTR.


Syntaxe de déclaration des types de ressources :


nom_propriété = valeur;

Remarque :

le gestionnaire RGM est insensible à la casse dans les noms de propriétés. 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.


Voici les déclarations de type de ressources contenues dans le fichier RTR d'un service de données (smpl) échantillon :

# Sun Cluster Data Services Builder template version 1.0
# Enregistrement de données et de ressources pour smpl
#
#REMARQUE : les mots clés sont insensibles à la casse. Cela signifie
que vous pouvez utiliser les minuscules
#ou les majuscules au choix.
#
Type_ressource = "smpl";
id_fournisseur = SUNW;
Description_TR = "Sample Service on Sun Cluster";

Version_RT ="1.0";
Version_API = 2;
Basculement = VRAI;

noeuds_init = Éléments_principaux_GR;

rép_base_TR=/opt/SUNWsmpl/bin;

Démarrage = smpl_svc_start;
Arrêt = smpl_svc_stop;

Validation = smpl_validate;
Mise_à_jour = smpl_update;

Démarrage_détecteur = smpl_monitor_start;
Arrêt_détecteur = smpl_monitor_stop;
Contrôle_détecteur = smpl_monitor_check;

Astuce :

la propriété Type_ressource 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 premier ensemble de déclarations de type de ressources fournit des informations élémentaires sur le type de ressources :

Type_ressource et id_fournisseur

Indique le nom du type de ressources. Vous pouvez spécifier le nom du type de ressources de deux façons : au moyen de la propriété Type_ressources (smpl) uniquement ou en utilisant le préfixe id_fournisseur suivi d'un point “.” comme séparateur et du nom du type de ressources (SUNW.smpl), comme dans notre exemple. Si vous utilisez id_fournisseur, 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.


Remarque :

les noms de types de ressources (Type_ressourcesId_fournisseur) sont traditionnellement utilisés comme nom de package. Les noms de package ne peuvent pas contenir plus de 9 caractères. C'est pourquoi il est préférable de limiter le nombre total de caractères à 9 maximum lorsque vous attribuez un nom à ces deux propriétés bien que le gestionnaire RGM n'impose pas cette restriction. Par contre, comme Agent Builder génère explicitement le nom du package à partir du nom du type de ressources, il impose cette restriction.


Version_RT

Identifie la version du service de données échantillon.

Version_API

Identifie la version de l'interface API. Par exemple, Version_API = 2 signifie que le service de données fonctionne sous Sun Cluster, version 3.0.

Basculement = VRAI

Indique qu'il est impossible d'exécuter le service de données dans un groupe de ressources pouvant être en ligne simultanément sur plusieurs noeuds car il s'agit d'un service de données de basculement. Reportez-vous à la rubrique Transfert d'un service de données sur un cluster pour de plus amples informations.

Démarrage, Arrêt, Validation, etc.

Indiquent les chemins d'accès aux programmes de méthode de rappel correspondants que le gestionnaire RGM appelle. Ces chemins d'accès dépendent du répertoire spécifié par rép_base_TR.

Les autres déclarations de type de ressources fournissent des informations sur la configuration :

noeuds_init = Éléments_principaux_GR

Indique que le gestionnaire RGM n'appelle les méthodes Init, Initialisation, Fini et Validation que sur les noeuds pouvant gérer le service de données. Les noeuds spécifiés par Éléments_principaux_GR constituent un sous-ensemble de tous les noeuds sur lesquels le service de données est installé. Définissez la valeur sur noeuds_installés_TR pour indiquer que le gestionnaire RGM appelle ces méthodes sur tous les noeuds sur lesquels le service de données est installé.

Rép_base_TR

Sélectionnez le chemin d'accès au répertoire /opt/SUNWsample/bin pour compléter les chemins relatifs, comme les chemins d'accès aux méthodes de rappel.

Démarrage, Arrêt, Validation, etc.

Indiquent les chemins d'accès aux programmes de méthode de rappel correspondants que le gestionnaire RGM appelle. Ces chemins d'accès dépendent du répertoire spécifié par rép_base_TR.

Déclaration des propriétés de ressources

Comme pour les propriétés de type de ressources, vous déclarez des propriétés de ressources dans le fichier RTR. Les déclarations de propriétés de ressources suivent traditionnellement les déclarations de type de ressources dans le fichier RTR. Les déclarations de ressource sont rédigées sous la forme d'un ensemble de paires de valeur d'attribut entre crochets :


{
    Attribut = Valeur;
    Attribut = Valeur;
             .
             .
             .
    Attribut = Valeur;
}

Vous pouvez modifier, dans le fichier RTR, les attributs spécifiques aux propriétés de ressources fournies par Sun Cluster et appelées propriétés définies par le système. Par exemple, Sun Cluster fournit des propriétés de délai d'attente pour chaque méthode de rappel en précisant des valeurs par défaut. Vous pouvez modifier ces valeurs dans le fichier RTR.

Vous pouvez également y définir de nouvelles propriétés de ressource, appelées propriétés d'extension, à l'aide d'un ensemble d'attributs de propriété fourni par Sun Cluster. Le Tableau A–4 répertorie les attributs permettant de modifier et de définir des propriétés de ressources. Les déclarations de propriété d'extension suivent les déclarations de propriété définies par le système dans le fichier RTR.

Le premier ensemble de propriétés de ressource définies par le système indique le délai d'attente des méthodes de rappel :

...

# Les déclarations de propriétés de ressource apparaissent sous
# la forme d'une liste d'entrées entre crochets après les déclarations
# de type de ressources. Le premier attribut suivant le crochet
# d'ouverture d'une entrée de propriété de ressource doit être la
# déclaration du nom de la propriété.
#
# Définissez les délais d'attente minimum et par défaut de la méthode.
{
        PROPRIÉTÉ = Délai_démarrage;
MIN=60;
PAR DÉFAUT=300;
}
{
PROPRIÉTÉ = Délai_arrêt;
MIN=60;
PAR DÉFAUT=300;
}
{
PROPRIÉTÉ = Délai_validation;
MIN=60;
PAR DÉFAUT=300;
}
{
PROPRIÉTÉ = Délai_mise_à_jour;
MIN=60;
PAR DÉFAUT=300;
}
{
PROPRIÉTÉ = Délai_démarrage_détecteur;
MIN=60;
PAR DÉFAUT=300;
}
{
        PROPRIÉTÉ = Délai_arrêt_détecteur;
MIN=60;
PAR DÉFAUT=300;
{
PROPRIÉTÉ = Délai_contrôle_détecteur;
MIN=60;
PAR DÉFAUT=300;
}

Le premier attribut de chaque déclaration de propriétés de ressources doit être le nom de la propriété (PROPRIÉTÉ = valeur). Vous pouvez configurer des propriétés de ressources conformément aux limites définies par les attributs de propriété figurant dans le fichier RTR. Par exemple, le délai d'attente par défaut de chaque méthode est de 300 secondes dans notre exemple. Un administrateur peut modifier cette valeur,sachant cependant que la valeur minimum autorisée, conformément à l'attribut MIN, est de 60 secondes. Reportez-vous au Tableau A–4 pour consulter la liste complète des attributs de propriétés de ressources.

L'ensemble de propriétés de ressources suivant définit les propriétés ayant une utilisation spécifique dans le service de données.

{
        PROPRIÉTÉ = Mode_basculement;
PAR DÉFAUT=LOGICIEL;
RÉGLABLE = À_TOUT_MOMENT;
}
{
PROPRIÉTÉ = Intervalle_sonde_complet;
MIN=1;
MAX=3600;
PAR DÉFAUT=60;
RÉGLABLE = À_TOUT_MOMENT;
}

#Nombre de tentatives à exécuter dans une période donnée avant de conclure
# qu'il est impossible de démarrer l'application avec succès sur ce noeud.
{
PROPRIÉTÉ = Nombre_nouvelles_tentatives;
MAX=10;
PAR DÉFAUT=2;
RÉGLABLE = À_TOUT_MOMENT;
}

# Configurez Intervalle_nouvelles_tentatives sur un multiple de 60 car ce paramètre est
# arrondi lors du convertissement des secondes en minutes. Par exemple, 50 secondes
# sera arrondi à 1 minute. Cette propriété vous permet de minuter le nombre
# de tentatives (Nombre_nouvelles_tentatives).
{
PROPRIÉTÉ = Intervalle_nouvelles_tentatives;
MAX=3600;
PAR DÉFAUT=300;
RÉGLABLE = À_TOUT_MOMENT;
}

{
PROPRIÉTÉ = Ressources_réseau_utilisées;
RÉGLABLE = LORSQU'ELLE EST DÉSACTIVÉE;
PAR DÉFAUT = "";
}
{
PROPRIÉTÉ = Évolutivité;
PAR DÉFAUT = FAUX;
RÉGLABLE = À_LA_CRÉATION;
}
{
PROPRIÉTÉ = Règle_équilibrage_charge;
PAR DÉFAUT = Équilibrage_charge_pondéré;
RÉGLABLE = À_LA_CRÉATION;
}
{
PROPRIÉTÉ = Poids_équilibrage_charge;
PAR DÉFAUT = "";
RÉGLABLE = À_TOUT_MOMENT;
}
{
PROPRIÉTÉ = Liste_ports;
RÉGLABLE = À_LA_CRÉATION;
PAR DÉFAUT = ;
}

Ces déclarations de propriétés de ressources créent l'attribut RÉGLABLE, qui restreint les occasions permettant à l'administrateur système de modifier leurs valeurs. À_LA_CRÉATION signifie que l'administrateur ne peut spécifier la valeur qu'à la création de la ressource et qu'il ne pourra pas la modifier ultérieurement.

Vous pouvez accepter les valeurs par défaut qu'Agent Builder génère pour la plupart de ces propriétés à moins d'avoir une raison de les modifier. Vous trouverez ci-après de plus amples informations sur ces propriétés (vous pouvez également vous reportez à la rubrique Propriétés des ressources ou à la page de manuel r_properties(5)) :

Mode_basculement

Indique si le gestionnaire RGM doit relocaliser le groupe de ressources ou arrêter le noeud en cas d'échec d'une méthode Démarrage ou Arrêt.

Intervalle_sonde_complet, Nombre_nouvelles_tentatives, Intervalle_nouvelles_tentatives

Propriétés utilisées dans le système de détection des pannes. Réglable et À_tout_moment sont identiques de sorte que l'administrateur système peut les ajuster si le système de détection des pannes ne fonctionne pas de façon optimale.

Ressources_réseau_utilisées

Liste des ressources (noms d'hôte logique et adresses partagées) utilisées par le service de données. Agent Builder déclare cette propriété, afin qu'un administrateur système puisse spécifier une liste de ressources, le cas échéant, lors de la configuration du service de données.

Évolutivité

Définissez cette propriété sur FAUX pour indiquer que la ressource correspondante n'utilise pas la fonction de gestion de réseaux du cluster (adresse partagée). Ce paramétrage est compatible avec la propriété de type de ressources Basculement définie sur VRAI pour indiquer qu'il s'agit d'un service de basculement. Reportez-vous aux rubriques Transfert d'un service de données sur un cluster et Mise en oeuvre des méthodes de rappel pour de plus amples informations sur l'utilisation de cette ressource.

Règle_équilibrage_charge, Poids_équilibrage_charge

Déclarent automatiquement ces propriétés, sinon elles ne sont pas utilisées dans un type de ressources de basculement.

Liste_ports

Identifie la liste des ports de réception du serveur. Agent Builder déclare cette propriété, afin qu'un administrateur système puisse identifier une liste de ports lors de la configuration du service de données.

Déclaration des propriétés d'extension

Les propriétés d'extension se trouvent à la fin du fichier RTR échantillon, comme indiqué dans la liste ci-après.

# Propriétés d'extension #

# L'administrateur du cluster doit définir la valeur de cette propriété pour désigner
# le répertoire contenant les fichiers de configuration utilisés par l'application.
# Pour cette application, smpl, indiquez le chemin d'accès du fichier de configuration sur
# PXFS (généralement named.conf).
{
PROPRIETE = Liste_répconf;
EXTENSION;
TABLEAU DE CHAÎNES DE CARACTÈRES;
RÉGLABLE = À_LA_CRÉATION;
DESCRIPTION = "Chemin(s) Répertoire de Configuration";
}
 # Les deux propriétés suivantes contrôlent le redémarrage du système de détection des pannes.
{
PROPRIÉTÉ = Nombre_nouvelles_tentatives_détecteur;
EXTENSION;
INT;
PAR DÉFAUT = 4;
RÉGLABLE = À_TOUT_MOMENT;
DESCRIPTION = "Nombre de redémarrages de PMF autorisé par le détecteur de panne.";
}
{
PROPRIÉTÉ = Intervalle_nouvelles_tentatives_détecteur;
EXTENSION;
INT;
PAR DÉFAUT = 2;
RÉGLABLE = À_TOUT_MOMENT;
DESCRIPTION = "Fenêtre de temps (en minutes) relative au redémarrage du détecteur de pannes.";
}
# Délai d'attente en seconde pour la détection.
{
PROPRIÉTÉ = Délai_test;
EXTENSION;
INT;
PAR DÉFAUT = 120;
RÉGLABLE = À_TOUT_MOMENT;
DESCRIPTION = "Valeur du délai imparti au test (en secondes)";
}
# Niveau de contrôle du processus enfant de PMF (option -C de pmfadm).
# La valeur par défaut -1 signifie qu'il ne faut pas utiliser l'option -C de pmfadm.
# Une valeur égale ou supérieure à 0 indique le niveau souhaité de contrôle
# du processus enfant.
{
PROPRIÉTÉ = Niveau_de_contrôle_enfant;
EXTENSION;
INT;
PAR DÉFAUT = -1;
RÉGLABLE = À_TOUT_MOMENT;
DESCRIPTION = “Niveau de contrôle enfant pour PMF";
}
# Code utilisateur ajouté -- DÉBUT VVVVVVVVVVVV
# Code utilisateur ajouté -- FIN  ^^^^^^^^^^^^

Agent Builder crée quelques propriétés d'extension qui sont utiles à la plupart des services de données. Les voici :

Liste_rép_conf

Indique le chemin d'accès au répertoire de configuration de l'application. Cette information est utile pour la plupart des applications. L'administrateur peut indiquer l'emplacement de ce répertoire lors de la configuration du service de données.

Nombre_nouvelles_tentatives_détecteur, Intervalle_nouvelles_tentatives_détecteur, Délai_test

Contrôlent les redémarrages du système de détection des pannes et non du démon du serveur.

Niveau_de_contrôle_enfant

Définit le niveau de contrôle que la fonction PMF doit effectuer. Reportez-vous à pmfadm(1M) pour de plus amples informations.

Vous pouvez créer d'autres propriétés d'extension dans les emplacements délimités par les commentaires Code ajouté par l'utilisateur.