Guide du développeur de 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 ressources, la version, la version de l'API, ainsi que les chemins d'accès aux méthodes de rappel. Propriétés des types de ressources répertorie toutes les propriétés de types de ressources.

Les propriétés de ressources, telles que Failover_mode, Thorough_probe_interval et les délais d'attente de la méthode, définissent également la configuration statique de la ressource. Les propriétés de ressources dynamiques, telles que Resource_state et Status, reflètent l'état actif d'une ressource gérée. Propriétés des ressources 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 un service de données. Par exemple, certaines propriétés, telles que Resource_type, 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 à 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 –

Seul un administrateur du cluster peut configurer la propriété de type de ressources Installed_nodes. Vous ne pouvez pas déclarer Installed_nodes dans le fichier RTR.


Syntaxe des déclarations de type de ressources :

property-name = value;

Remarque –

Les noms de propriété des groupes de ressources, des ressources et des types de ressources ne sont pas sensibles à la casse. Vous pouvez associer les majuscules et les minuscules dans le nom des propriétés.


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

# Sun Cluster Data Services Builder template version 1.0
# Enregistrement de données et de ressources for smpl
#
#Remarque : les mots clés sont insensibles à la casse. Cela signifie
#que vous pouvez utiliser les minuscules ou les majuscules au choix.
#
Resource_type = "smpl";
Vendor_id = SUNW;
RT_description = "Exemple de service sur Sun Cluster";

RT_version ="1.0";
API_version = 2;
Failover = TRUE;

Init_nodes = RG_PRIMARIES;

RT_basedir=/opt/SUNWsmpl/bin;

Start           =    smpl_svc_start;
Stop            =    smpl_svc_stop;

Validate        =    smpl_validate;
Update          =    smpl_update;

Monitor_start   =    smpl_monitor_start;
Monitor_stop    =    smpl_monitor_stop;
Monitor_check   =    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 .

Resource_type et Vendor_id

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é Resource_type (smpl ) uniquement ou en utilisant le préfixe Vendor_id suivi d'un point “.” comme séparateur et du nom du type de ressources (SUNW.smpl), comme dans notre exemple. Si vous utilisez Vendor_id, utilisez-le comme symbole boursier de la société qui définit le type de ressources. Le nom du type de ressources doit être unique sur le cluster.


Remarque –

Les noms de type de ressources (vendoridApplicationname) sont traditionnellement utilisés comme nom de package. À commencer par le nom du système d'exploitation Solaris 9, l'association de l'ID fournisseur et du nom de l'application peut dépasser neuf caractères. Toutefois, si vous utilisez une version antérieure du système d'exploitation Solaris, l'association de l'ID fournisseur et du nom de l'application ne doit pas dépasser neuf caractères, 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.


RT_description

Décrit en quelques mots le type de ressources.

RT_version

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

Version_API

Identifie la version de l'interface API. Par exemple, API_version = 2 signifie que le service de données fonctionne sous Sun Cluster, version 3.0. API_version = 5 indique que le service de données fonctionne sous Sun Cluster, à commencer par la version Sun Cluster 3.1 9/04. Toutefois, API_version = 5 indique également que le service de données ne peut pas fonctionner sur n'importe quelle version de Sun Cluster diffusée avant Sun Cluster 3.1 9/04. Cette propriété est décrite en détail sous l'entrée API_version dans Propriétés des types de ressources.

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 nœuds car il s'agit d'un service de données de basculement. Cette propriété est décrite en détail sous l'entrée Failover dans Propriétés des types de ressources.

Start, Stop et Validate

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 RT_basedir.

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

Init_nodes = RG_PRIMARIES

Indique que le gestionnaire RGM n'appelle les méthodes Init, Boot, Fini et Validate que sur les nœuds pouvant gérer le service de données. Les nœuds spécifiés par RG_PRIMARIES constituent un sous-ensemble de tous les nœuds sur lesquels le service de données est installé. Définissez la valeur sur RT_INSTALLED_NODES pour indiquer que le gestionnaire RGM appelle ces méthodes sur tous les nœuds sur lesquels le service de données est installé.

RT_basedir

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.

Start, Stop, et Validate

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 RT_basedir.

Déclaration des propriétés de ressource

Comme pour les propriétés de type de ressources, vous déclarez des propriétés de ressource 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 :

{
    attribute = value;
    attribute = value;
             .
             .
             .
    attribute = value;
}

Vous pouvez modifier, dans le fichier RTR, les attributs spécifiques aux propriétés de ressource 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.

VVous 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. Attributs des propriétés de ressources répertorie les attributs permettant de modifier et de définir des propriétés de ressource. 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 ressources définies par le système indique le délai d'attente des méthodes de rappel.

...

# Resource property declarations appear as a list of bracketed
# entries after the resource type declarations. The property
# name declaration must be the first attribute after the open
# curly bracket of a resource property entry.
#
# Set minimum and default for method timeouts.
{
        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 = Monitor_Check_timeout;
        MIN=60;
        DEFAULT=300;
}

Le premier attribut de chaque déclaration de propriétés de ressource doit être le nom de la propriété (PROPERTY = value). Vous pouvez configurer des propriétés de ressource 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'attributMIN, est de 60 secondes. Reportez-vous à Attributs des propriétés de ressources pour consulter la liste complète des attributs de propriétés de ressource.

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

{
        PROPERTY = Failover_mode;
        DEFAULT=SOFT;
        TUNABLE = ANYTIME;
}
{
        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;
        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;
        MAX=3600;
        DEFAULT=300;
        TUNABLE = ANYTIME;
}

{
        PROPERTY = Network_resources_used;
        TUNABLE = WHEN_DISABLED;
        DEFAULT = "";
}
{
        PROPERTY = Scalable;
        DEFAULT = FALSE;
        TUNABLE = AT_CREATION;
}
{
        PROPERTY = Load_balancing_policy;
        DEFAULT = LB_WEIGHTED;
        TUNABLE = AT_CREATION;
}
{
        PROPERTY = Load_balancing_weights;
        DEFAULT = "";
        TUNABLE = ANYTIME;
}
{
        PROPERTY = Port_list;
        TUNABLE = ANYTIME;
        DEFAULT = ;
}

Ces déclarations de propriétés de ressource créent l'attribut TUNABLE qui restreint les occasions permettant à l'administrateur système de modifier leurs valeurs. Par exemple, la valeur AT_CREATION 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 reporter à 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 nœud en cas d'échec d'une méthode Start ou Stop.

Thorough_probe_interval, Retry_count , et Retry_interval

Propriétés utilisées dans le détecteur de pannes. Tunable et ANYTIME sont identiques de sorte que l'administrateur du cluster peut les ajuster si le détecteur de pannes ne fonctionne pas de façon optimale.

Network_resources_used

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 FALSE pour indiquer que la ressource correspondante n'utilise pas la fonction de gestion de réseaux du cluster (adresse partagée). Si vous réglez cette propriété sur FALSE, la propriété de type de ressources Failover doit être réglée sur TRUE 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 œuvre des méthodes de rappel pour obtenir de plus amples informations sur l'utilisation de cette propriété.

Load_balancing_policy et Load_balancing_weights

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

Port_list

Identifie la liste des ports de réception du serveur. Agent Builder déclare cette propriété, afin que l'administrateur du cluster puisse identifier une liste de ports lorsqu'il configure le 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.

# 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, smpl, specify the path of the configuration file on
# PXFS (typically named.conf).
{
        PROPERTY = Confdir_list;
        EXTENSION;
        STRINGARRAY;
        TUNABLE = AT_CREATION;
        DESCRIPTION = "The Configuration Directory Path(s)";
}

# The following two properties control restart of the fault monitor.
{
        PROPERTY = Monitor_retry_count;
        EXTENSION;
        INT;
        DEFAULT = 4;
        TUNABLE = ANYTIME;
        DESCRIPTION = "Number of PMF restarts allowed for fault monitor.";
}
{
        PROPERTY = Monitor_retry_interval;
        EXTENSION;
        INT;
        DEFAULT = 2;
        TUNABLE = ANYTIME;
        DESCRIPTION = "Time window (minutes) for fault monitor restarts.";
}
# Time out value in seconds for the probe.
{
        PROPERTY = Probe_timeout;
        EXTENSION;
        INT;
        DEFAULT = 120;
        TUNABLE = ANYTIME;
        DESCRIPTION = "Time out value for the probe (seconds)";
}

# Child process monitoring level for PMF (-C option of pmfadm).
# Default of -1 means to not use the -C option of pmfadm.
# A value of 0 or greater indicates the desired level of child-process.
# monitoring.
{
        PROPERTY = Child_mon_level;
        EXTENSION;
        INT;
        DEFAULT = -1;
        TUNABLE = ANYTIME;
        DESCRIPTION = “Child monitoring level for PMF";
}
# User added code -- BEGIN VVVVVVVVVVVV
# User added code -- END   ^^^^^^^^^^^^

Agent Builder crée les propriétés d'extension suivantes, utiles pour la plupart des services de données.

Confdir_list

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 du cluster peut indiquer l'emplacement de ce répertoire lorsqu'il configure le service de données.

Monitor_retry_count, Monitor_retry_interval , et Probe_timeout

Contrôlent les redémarrages du détecteur de pannes et non du démon serveur.

Child_mon_level

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

Vous pouvez créer d'autres propriétés d'extension dans la zone délimitée par les commentaires User added code.