Cette rubrique décrit la sortie générée par Agent Builder.
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.
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 :
nom_type_res_contrôle_détecteur ;
nom_type_res_démarrage_détecteur ;
nom_type_res_arrêt_détecteur ;
nom_type_res_sonde ;
nom_type_res_démarrage_svc ;
nom_type_res_arrêt_svc ;
nom_type_res_mise_à_jour ;
nom_type_res_validation.
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) :
un fichier d'en-tête (nom_type_res .h) ;
un fichier source (nom_type_res .c) contenant le code commun à toutes les méthodes. ;
un fichier d'objets (nom_type_res .o) pour le code commun ;
des fichiers sources (*.c) pour chacune des méthodes ;
des fichiers d'objets (*.o) pour chacune des méthodes.
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.
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é.
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 :
Script de démarrage : enregistre le type de ressources et crée les ressources et les groupes de ressources nécessaires. Il crée également les ressources d'adresse réseau (LogicalHostname ou SharedAddress) qui permettent à l'application de communiquer avec les clients sur le réseau.
Script d'arrêt : arrête et désactive la ressource.
Script de suppression : annule le travail du script de démarrage. Il arrête et supprime du système les ressources, les groupes de ressources et le type de ressources cible.
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 |
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.
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 :
Exécutez le script removenom_type_res sur l'un des noeuds du cluster avant d'exécuter pkgrm sur un autre noeud.
Exécutez pkgrm sur l'un des noeuds du cluster (cette commande veille à éliminer toutes les données superflues), puis exécutez-la sur les noeuds restants, simultanément au besoin.
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.
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.