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

Sortie d'Agent Builder

Cette rubrique décrit la sortie générée par Agent Builder.

Fichiers sources et binaires

Le RGM (Resource Group Manager) permet de gérer les groupes de ressources et, en définitive, les ressources sur un cluster. Il utilise pour ce faire un modèle de rappel (callback). Lorsqu'un événement spécifique se produit, comme un nœud tombant en panne par exemple, le RGM appelle les méthodes du type de ressources de toutes les ressources exécutées sur le nœud défectueux. Par exemple, le RGM appelle la méthode Stop pour arrêter une ressource exécutée sur le nœud défectueux, puis il appelle la méthode Start de cette ressource pour la lancer sur un autre nœud. Voir les rubriques Modèle RGM, Méthodes de rappel et la page rt_callbacks(1HA) pour obtenir plus d'informations sur le modèle.

Pour prendre en charge ce modèle, Agent Builder génère huit scripts korn shell ou programmes C exécutables dans le répertoire répertoire_installation/ nom_type_res/bin utilisés comme méthodes de rappel.


Remarque –

Le programme nom_type_res _probe mettant en œuvre un système de détection des pannes, n'est pas à proprement parler un programme de rappel. Le RGM n'appelle pas directement nom_type_res _probe ; il appelle nom_type_res _monitor_start ou nom_type_res _monitor_stop qui exécute ou arrête respectivement le système de détection des pannes en appelant nom_type_res_probe.


Les huit méthodes générées par Agent Builder sont les suivantes :

Reportez-vous à la page man rt_callbacks( 1HA) pour de plus amples informations sur chacune de ces méthodes.

Agent Builder génère les fichiers suivants dans le répertoire répertoire_installation/ nom_type_res/src (sortie C) :

Agent Builder lie le fichier nom_type_res .o à chaque fichier .o de méthode pour créer les exécutables dans le répertoire répertoire_installation/ nom_type_res/bin.

Dans le cadre d'une sortie korn shell, les répertoires répertoire_installation /nom_type_res/bin et répertoire_installation/nom_type_res/src sont identiques. Chacun d'eux comporte huit scripts d'exécution correspondant aux sept méthodes de rappel et à la méthode Probe.


Remarque –

La sortie korn shell comprend deux programmes utilitaires compilés (gettime et gethostnames) requis par certaines méthodes de rappel pour obtenir l'heure ou effectuer une analyse.


Vous pouvez éditer le code source, exécuter la commande make pour recompiler le code, puis exécuter la commande make pkg pour générer un nouveau package. Pour permettre la modification du code source, Agent Builder insère des commentaires dans le code source aux emplacements auxquels il est possible d'ajouter du code. Reportez-vous à la rubrique Édition du code source généré.

Scripts d'utilitaire et pages man

Vous avez généré un type de ressources et installé le package correspondant sur un cluster. Vous devez encore exécuter une instance (ressource) du type de ressources sur un cluster à l'aide, en règle générale, de commandes administratives ou de SunPlex Manager. Pourtant, par souci de simplicité, Agent Builder génère à cet effet un script d'utilitaire personnalisé (le script de démarrage), ainsi que des scripts d'arrêt et de suppression d'une ressource du type de ressources cible. Ces trois scripts, disponibles dans le répertoire répertoire_installation/nom_type_res/util, ont les fonctions suivantes :


Remarque –

vous ne pouvez utiliser le script de suppression qu'avec une ressource exécutée à l'aide du script de démarrage car ces scripts utilisent des conventions internes pour nommer les ressources et les groupes de ressources.


Agent Builder attribue un nom à ces scripts en ajoutant le nom d'application aux noms de script. Par exemple, si le nom d'application est ftp , les scripts sont appelés startftp, stopftp et removeftp.

Agent Builder contient des pages man dans le répertoire répertoire_installation/nom_type_res/man/man1m de chaque script d'utilitaire. Vous devez les lire avant de lancer ces scripts car elles présentent les paramètres qu'il vous faut fournir au script.

Pour consulter ces pages man, indiquez le chemin d'accès au répertoire correspondant en utilisant l'option -M avec la commande man. Par exemple, si le nom du fournisseur est SUNW et le nom d'application ftp, utilisez la commande suivante pour afficher la page man startftp (1M) :


% man -M répertoire_installation/SUNWftp/man startftp

Les scripts d'utilitaire des pages man sont également disponibles auprès de l'administrateur du cluster. Lorsqu'un package généré par Agent Builder est installé sur un cluster, les pages man des scripts d'utilitaire sont placées dans le répertoire /opt/ nom_type_res/man. Par exemple, utilisez la commande suivante pour afficher la page man de startftp(1M) :


% man -M /opt/SUNWftp/man startftp

Fichiers de prise en charge

Agent Builder place les fichiers de prise en charge, comme pkginfo, postinstall, postremove et preremove, dans le répertoire répertoire_installation/nom_type_res/etc. Ce répertoire contient également le fichier RTR (Resource Type Registration), déclarant les propriétés de ressources et de type de ressources disponibles pour le type de ressources cible et initialisant les valeurs de propriétés lors de l'enregistrement d'une ressource sur un cluster. Pour plus d'informations, voir la rubrique Paramétrage des propriétés de ressources et de types de ressources. Le nom du fichier RTR est créé de la manière suivante : nom_fournisseur.nom_type_ressources, par exemple SUNW.ftp.

Vous pouvez modifier ce fichier à l'aide d'un éditeur de texte standard et apporter des modifications sans recompiler votre code source. Vous devez, cependant, reconstituer le package avec la commande make pkg.

Répertoire du package

Le répertoire répertoire_installation/nom_type_res/pkg contient un package Solaris. Le nom du package est une concaténation du nom du fournisseur et du nom d'application, par exemple SUNWftp. Le fichier Makefile situé dans le répertoire répertoire_installation/nom_type_res/src prend en charge la création d'un nouveau package. Par exemple, si vous modifiez les fichiers sources et recompilez le code ou si vous modifiez les scripts d'utilitaire du package, vous devez utiliser la commande make pkg pour créer un nouveau package.

La commande pkgrm peut échouer lors de la suppression d'un package d'un cluster si vous tentez de l'exécuter sur plusieurs nœuds simultanément. Vous pouvez pallier ce problème de l'une des deux façons suivantes :

Si la commande pkgrm échoue car vous tentez de l'exécuter simultanément sur plusieurs nœuds, lancez-la de nouveau nœud par nœud, puis sur les nœuds restants.

Fichier rtconfig

Si vous générez un code source C ou korn shell dans le répertoire de travail, Agent Builder génère un fichier de configuration rtconfig contenant les informations que vous avez entrées dans les écrans Créer et Configurer. Si vous lancez Agent Builder à partir du répertoire de travail d'un type de ressources existant (ou si vous chargez un type de ressources existant en sélectionnant l'option Charger type de ressources dans le menu déroulant Fichier), Agent Builder lit le fichier rtconfig et remplit les champs des écrans Créer et Configurer avec les informations indiquées pour le type de ressources existant. Cette fonction est particulièrement utile lorsque vous souhaitez cloner un type de ressources existant. Voir la rubrique Clonage d'un type de ressources existant.