Guide des développeurs pour les services de données Sun Cluster 3.1 10/03

Sortie

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

Fichiers sources et binaires

Le gestionnaire 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. Lorsqu'un événement spécifique se produit, comme un noeud tombant en panne par exemple, le gestionnaire RGM appelle les méthodes du type de ressources de toutes les ressources exécutées sur le noeud défectueux. Par exemple, le gestionnaire RGM appelle la méthode d'Arrêt pour arrêter une ressource fonctionnant sur le noeud défectueux et la méthode de Démarrage de cette ressource pour la lancer sur un autre noeud. (Reportez-vous aux rubriques Modèle RGM et Méthodes de rappel et à la page man rt_callbacks( 1HA) pour de plus amples informations sur ce modèle).

Pour prendre ce modèle en charge, Agent Builder génère (dans le répertoire répertoire_installation/nom_type_res/bin) huit programmes (C) ou scripts (ksh) exécutables servant de méthodes de rappel.


Remarque :

le programme nom_type_res _sonde mettant en oeuvre un système de détection des pannes, n'est pas à proprement parler un programme de rappel. Le gestionnaire RGM n'appelle pas directement nom_type_res _sonde ; il appelle nom_type_res _démarrage_détecteur et nom_type_res _arrêt_détecteur qui exécute et arrête respectivement le système de détection des pannes en appelant nom_type_res_sonde.


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

Reportez-vous à la page man rt_callbacks( 1HA) pour de plus amples informations sur toutes 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.

Avec une sortie ksh, les répertoires répertoire_installation /nom_type_res/bin et répertoire_installation/nom_type_res/src sont identiques. Ils contiennent les huit scripts exécutables correspondant aux sept méthodes de rappel, plus la méthode de SONDE.


Remarque :

la sortie ksh comprend deux programmes utilitaires compilés (gettime et gethostnames) que requièrent certaines méthodes de rappel pour extraire l'heure ou effectuer une détection.


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 faciliter la modification du code source, Agent Builder ajoute des commentaires au code source là où il est pertinent 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 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), qui déclare les propriétés de ressource et de type de ressources disponibles pour le type de ressources cible et initialise les valeurs de propriétés au moment de la mise en ligne d'une ressource sur un cluster (reportez-vous à la rubrique Paramétrage des propriétés de ressources et de types de ressources pour de plus amples informations). Le fichier RTR s'appelle 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 noeuds 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 noeuds, lancez-la de nouveau noeud par noeud, puis sur les noeuds restants.

Fichier rtconfig

Si vous générez un code source C ou ksh, dans le répertoire de travail, Agent Builder génère un fichier de configuration rtconfig contenant les données que vous avez saisies dans les écrans Créer et Configurer. Si vous lancez Agent Builder depuis le répertoire de travail d'un type de ressources existant (ou que vous chargez un type de ressources existant à l'aide de la commande Charger type de ressources du menu Fichier), Agent Builder lit le contenu du fichier rtconfig et renseigne les champs des écrans Créer et Configurer à l'aide des données que vous avez fournies pour le type de ressources existant. Cette fonction s'avère pratique si vous souhaitez cloner le type de ressources existant (reportez-vous à la rubrique Clonage d'un type de ressources existant.