Guide du développeur de services de données Sun Cluster pour SE Solaris

Sortie d'Agent Builder

Fichiers sources et binaires

Le gestionnaire (RGM) gère les groupes de ressources et, en définitive, les ressources sur un cluster. Il utilise un modèle de rappel. Lorsque des événements spécifiques se produisent, tels qu'un échec de noeud, le RGM appelle les méthodes du type de chacune des ressources fonctionnant sur le noeud affecté. Par exemple, le RGM appelle la méthode Stop pour arrêter une ressource fonctionnant sur le noeud affecté et appelle la méthode Start de cette ressource pour la lancer sur un autre noeud. Pour en savoir plus sur ce modèle, reportez-vous aux pages de manuel Modèle du gestionnaire de groupes de ressources, Méthodes de rappel et rt_callbacks(1HA).

Pour prendre en charge ce modèle, Agent Builder génère huit programmes C exécutables ou scripts korn shell dans le répertoire install-directory/rt-name/bin. Ces programmes ou scripts de shell servent de méthodes de rappel.


Remarque –

Le programme rt-name_probe, qui implémente un détecteur de pannes, n'est pas un programme de rappel à proprement parler. Le RGM n'appelle pas directement rt-name_probe : il appelle rt-name_monitor_start et rt-name_monitor_stop. Ces méthodes démarrent et arrêtent le détecteur de pannes en appelant rt-name _probe.


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

Pour plus d'informations sur ces méthodes, reportez-vous à la page de manuel rt_callbacks(1HA).

Dans le répertoire install-directory/rt-name/src (sortie C), Agent Builder génère les fichiers suivants :

Agent Builder lie le fichier rt-name.o à chacun des fichiers de méthode .o pour créer les fichiers exécutables dans le répertoire install-directory/rt-name/bin.

Pour la sortie de korn shell, les répertoires install-directory/rt-name/bin et install-directory/rt-name/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 de korn shell comprend deux utilitaires compilés, gettime et gethostnames. Les méthodes de rappel particulières utilisent ces méthodes pour obtenir du temps et pour procéder à l'analyse.


Vous pouvez modifier le code source, exécuter la commande make pour recompiler le code et, lorsque vous avez terminé, 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 aux endroits où vous devez ajouter du code dans le code source. Voir Édition du code source généré.

Scripts d'utilitaire et pages de manuel créées par Sun Agent Builder

Une fois que vous avez généré un type de ressource et installé son package sur un cluster, vous devez encore exécuter une instance (ressource) du type de ressource fonctionnant sur un cluster. Normalement, pour exécuter une instance, vous devez utiliser les commandes administratives ou SunPlex Manager. Toutefois, pour faciliter les choses, Agent Builder génère un script d'utilitaire personnalisé à cette fin, ainsi que des scripts permettant d'arrêter et de supprimer une ressource du type de ressource cible. Ces trois scripts, qui se trouvent dans le répertoire install-directory/rt-name/util, effectuent les opérations suivantes :


Remarque –

Vous ne pouvez utiliser que le script de suppression avec une ressource qui a été démarrée par le script de démarrage correspondant, 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 de l'application est ftp, les scripts sont appelés startftp, stopftp et removeftp.

Agent Builder fournit des pages de manuel dans le répertoire install-directory/rt-name/man/man1m pour chaque script d'utilitaire. Nous vous conseillons de les lire avant de démarrer ces scripts, car elles donnent des explications sur les arguments à transférer au script.

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


% man -M install-directory/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 de manuel portant sur les scripts d'utilitaire sont placées dans le répertoire /opt/rt-name/man. Par exemple, entrez la commande suivante pour afficher la page de manuel startftp(1M) :


% man -M /opt/SUNWftp/man startftp

Fichiers de prise en charge créés par Agent Builder

Agent Builder place les fichiers de prise en charge, tels que pkginfo, postinstall, postremove et preremove, dans le répertoire install-directory/rt-name/etc. Ce répertoire contient également le fichier d'enregistrement du type de ressource (RTR). Le fichier RTR déclare les propriétés de ressource et de type de ressource qui sont disponibles pour le type de ressource cible et initialise les valeurs de propriété au moment où une ressource est enregistrée avec un cluster. Pour en savoir plus, voir Paramétrage des propriétés de ressources et de types de ressources. Le nom du fichier RTR suit le modèle vendor-name.resource-type-name, 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. En revanche, vous devez reconstruire le package à l'aide de la commande make pkg.

Répertoire de package créé par Agent Builder

Le répertoire install-directory/rt-name/pkg contient un package Solaris. Le nom du package est une concaténation du nom du fournisseur et du nom de l'application, par exemple SUNWftp. Le fichier makefile qui se trouve dans le répertoire install-directory/rt-name/src prend en charge la création d'un nouveau package. Par exemple, si vous modifiez les fichiers source et recompilez le code, ou si vous modifiez les scripts d'utilitaire du package, utilisez la commande make pkg pour créer un nouveau package.

Lorsque vous supprimez un package d'un cluster, la commande pkgrm peut échouer si vous tentez de l'exécuter en même temps à partir de plusieurs noeuds. Vous pouvez pallier ce problème de l'une des deux façons suivantes :

Si pkgrm échoue car vous tentez de l'exécuter en même temps à partir de plusieurs noeuds, exécutez la commande à nouveau à partir d'un seul noeud. Exécutez ensuite la commande à partir des autres noeuds.

Fichier rtconfig

Si vous générez du code source en shell C ou korn shell dans le répertoire de travail, Agent Builder génère un fichier de configuration appelé rtconfig. Ce fichier contient les informations que vous avez spécifiées sur les écrans Créer et Configurer. Si vous lancez Agent Builder à partir du répertoire de travail pour un type de ressource existant, Agent Builder lit le fichier rtconfig. Agent Builder se sert des informations que vous avez fournies pour le type de ressource existant pour compléter les écrans Créer et Configurer. Agent Builder fonctionne de la même manière si vous chargez un type de ressource existant en sélectionnant l'option correspondante du menu déroulant Fichier. Cette fonction est particulièrement utile lorsque vous souhaitez cloner un type de ressources existant. Voir Réutilisation du code créé avec Agent Builder .