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

Chapitre 9 SunPlex Agent Builder

Ce chapitre décrit SunPlex Agent Builder et le module Cluster Agent pour Agent Builder. Ces deux outils automatisent la création de types de ressources ou de services de données, qui fonctionnent sous le contrôle du Gestionnaire de groupe de ressources (RGM). Un type de ressource est un wrapper autour d'une application, qui lui permet de fonctionner dans un environnement clusterisé, sous le contrôle du RGM.

Ce chapitre contient les rubriques suivantes :

Présentation d'Agent Builder

Agent Builder fournit une interface utilisateur graphique (GUI) qui vous permet de préciser des informations concernant des applications et le type de ressource que vous souhaitez créer. Agent Builder prend en charge aussi bien des applications reconnaissant le réseau que celles ne le reconnaissant pas. Les premières utilisent le réseau pour communiquer avec les clients. Les secondes sont des applications autonomes.


Remarque –

Si la version de l'interface utilisateur graphique de Agent Builder n'est pas accessible, vous pouvez accéder à Agent Builder via l'interface de ligne de commande. Voir Utilisation de la version de ligne de commande d'Agent Builder .


Selon les informations que vous spécifiez, Agent Builder génère les logiciels suivants :

Agent Builder vous permet également de générer un type de ressources pour une application possédant plusieurs arborescences de processus indépendantes que la fonction PMF (Process Monitor Facility) doit surveiller et redémarrer individuellement.

Avant d'utiliser Agent Builder

Avant d'utiliser Agent Builder, vous devez savoir comment créer des types de ressource avec plusieurs arborescences de processus indépendantes.

Agent Builder peut créer des types de ressource pour des applications comportant plusieurs arborescences de processus indépendantes. Ces arborescences sont indépendantes dans la mesure où la fonction PMF les surveille et les démarre individuellement, et ce avec leur propre balise.


Remarque –

Agent Builder vous permet de créer des types de ressources avec plusieurs arborescences de processus indépendantes, uniquement si le code source généré que vous indiquez est de type C ou GDS. Vous ne pouvez pas utiliser Agent Builder pour créer ces types de ressources avec le code source korn shell. Pour créer ces types de ressource pour le korn shell, vous devez écrire le code manuellement.


Dans le cadre d'une application de base contenant plusieurs arborescences de processus indépendantes, la spécification d'une ligne de commande unique ne suffit pas pour démarrer l'application. Dans ce cas, vous devez créer un fichier texte dont chaque ligne indique le chemin d'accès complet à une commande permettant de démarrer l'une des arborescences de processus de l'application. Ce fichier ne doit pas contenir de lignes vides. Vous devez le spécifier dans le champ Commande de démarrage de l'écran de configuration de Agent Builder.

Vérifiez que le fichier ne contient aucun droit d'exécution pour que Agent Builder puisse le reconnaître. Ce fichier permet de démarrer plusieurs arborescences de processus à partir d'un seul script exécutable contenant plusieurs commandes. Si ce fichier texte dispose de droits d'exécution, les ressources s'affichent correctement sur le cluster, mais toutes les commandes sont exécutées sous une seule balise PMF. La fonction PMF est alors incapable de surveiller et de redémarrer les arborescences de processus individuellement.

Utilisation d'Agent Builder

Cette section explique comment utiliser Agent Builder. Elle indique aussi les tâches que vous devez effectuer avant de pouvoir utiliser Agent Builder. Vous y découvrirez également comment profiter de cet outil après avoir généré le code du type de ressources.

Les rubriques traitées sont les suivantes :

Analyse de l'application

Avant d'utiliser Agent Builder, vous devez déterminer si l'application que vous souhaitez rendre hautement disponible ou évolutive répond aux critères requis. Agent Builder ne peut pas réaliser cette analyse qui s'appuie uniquement sur les caractéristiques du temps d'exécution de l'application. Pour plus d'informations à ce sujet, voir Analyse du caractère approprié de l'application.

Agent Builder ne sera peut-être pas toujours en mesure de créer un type de ressource complet pour votre application. Toutefois, dans la plupart des cas, Agent Builder fournit au moins une solution partielle. Les applications plus complexes nécessitent parfois du code supplémentaire, que Agent Builder ne génère pas par défaut, comme le code qui permet d'ajouter des marques de validation pour les propriétés supplémentaires ou de régler les paramètres que Agent Builder n'affiche pas. Le cas échéant, vous devez apporter des modifications au code source généré ou au fichier RTR. Agent Builder est spécialement conçu pour fournir ce type de flexibilité.

Agent Builder place des commentaires en des endroits bien précis du code source généré, où vous pouvez ajouter votre propre code de type de ressource. Une fois le code source modifié, vous pouvez utiliser le fichier makefile généré par Agent Builder pour recompiler le code source et générer de nouveau le package de type de ressources.

Même si vous écrivez tout votre code de type de ressource sans utiliser de code généré par Agent Builder, vous pouvez utiliser le fichier makefile et la structure fournis par Agent Builder pour créer le package Solaris pour votre type de ressource.

Installation et configuration d'Agent Builder

Agent Builder ne nécessite aucune installation particulière. Agent Builder est inclus dans le package SUNWscdev, qui est installé par défaut avec le logiciel Sun Cluster. Pour plus d'informations, voir Guide d’installation du logiciel Sun Cluster pour SE Solaris.

Avant d'utiliser Agent Builder, vérifiez les points suivants :


Remarque –

Avec Agent Builder, vous pouvez utiliser un autre compilateur que le compilateur standard cc. Pour ce faire, créez un lien symbolique dans $PATH de cc vers un autre compilateur, tel que gcc. Vous pouvez également changer le compilateur spécifié dans le fichier makefile (actuellement CC=cc) en saisissant le chemin complet d'un autre compilateur. Par exemple, dans le fichier makefile généré par Agent Builder, remplacez CC=cc par CC=pathname/gcc. Si vous procédez à cette modification, vous ne pouvez pas exécuter Agent Builder directement. Au lieu de cela, vous devez utiliser les commandes make et make pkg pour générer du code de service de données et le package.


Écrans d'Agent Builder

Agent Builder est un assistant en deux étapes, chacune d'elles disposant d'un écran. Agent Builder comprend les deux écrans suivants qui vous guident tout au long du processus de création d'un nouveau type de ressource :

  1. L'écran Créer. Cet écran vous permet d'entrer des informations de base sur le type de ressource à créer, telles que son nom et le répertoire de travail où placer les fichiers générés. Le répertoire de travail constitue l'emplacement de création et de configuration du modèle de type de ressource. Vous pouvez également préciser les informations suivantes :

    • Le type de ressource à créer (évolutive ou de basculement)

    • Si l'application de base reconnaît le réseau (c'est-à-dire si elle utilise le réseau pour communiquer avec les clients)

    • Le type de code à générer (C, korn shell (ksh) ou GDS)

    Pour plus d'informations sur GDS, voir Chapitre 10, Services de données génériques. Vous devez remplir tous les champs d'information de cet écran et sélectionner Créer pour générer la sortie correspondante. Ensuite, vous pouvez afficher l'écran Configurer.

  2. L'écran Configurer. Sur cet écran, vous devez spécifier la ligne de commande complète qui peut être transmise à un shell UNIX pour démarrer votre application de base. Si vous le souhaitez, vous pouvez fournir des commandes permettant d'arrêter et d'analyser l'application. Si vous ne spécifiez pas ces deux commandes, la sortie générée utilise des signaux pour arrêter l'application et propose un mécanisme de sonde par défaut. Voir la description de la commande de la sonde à la section Utilisation de l'écran Configurer. L'écran Configurer vous permet également de modifier les valeurs de délai d'attente pour chacune de ces trois commandes : démarrage, arrêt, sonde.

Démarrage de Agent Builder


Remarque –

Si la version d'interface utilisateur graphique de Agent Builder n'est pas accessible, vous pouvez accéder à Agent Builder via l'interface de ligne de commande. Voir Utilisation de la version de ligne de commande d'Agent Builder .


Si vous lancez Agent Builder à partir d'un répertoire de travail pour un type de ressource existant, Agent Builder initialise les écrans de création et de configuration en fonction des valeurs de ce type de ressource.

Lancez Agent Builder en entrant la commande suivante :


% /usr/cluster/bin/scdsbuilder

L'écran Créer apparaît.

Figure 9–1 Écran Créer de Agent Builder

Boîte de dialogue intitulée SunPlex Agent Builder présentant l'écran principal d'Agent Builder

Navigation dans Agent Builder

Procédez de la manière suivante pour entrer des informations sur les écrans de création et de configuration :

Les boutons en bas de chaque écran vous permettent de terminer la tâche, de passer à l'écran suivant ou précédent ou de quitter Agent Builder. Agent Builder fait ressortir ces boutons ou les grise, le cas échéant.

Par exemple, lorsque vous avez rempli les champs et sélectionné les options de votre choix sur l'écran Créer, cliquez sur Créer en bas de l'écran. Les options Précédent et Suivant sont grisées car il n'existe aucun écran précédent et vous ne pouvez pas passer à l'étape suivante avant d'avoir effectué celle-ci.

Panneau en bas de l'écran affichant les commandes Créer, Précédent, Suivant et Annuler

Agent Builder affiche des messages de progression dans la zone Journal de sortie située en bas de l'écran. Lorsque l'opération est terminée, il affiche un message de réussite ou un avertissement. Le bouton Suivant est activé ou, s'il s'agit du dernier écran, seul le bouton Annuler est mis en surbrillance.

Vous pouvez cliquer sur Annuler à tout moment pour quitter Agent Builder.

Commande Parcourir

Certains champs Agent Builder vous permettent d'entrer des informations. D'autres champs vous invitent à cliquer sur Parcourir pour naviguer dans une arborescence et sélectionner un fichier ou un répertoire.

Commande Parcourir

Lorsque vous cliquez sur Parcourir, un écran semblable à celui-ci apparaît.

Écran de recherche comportant une liste de fichiers

Double-cliquez sur un dossier pour l'ouvrir. Lorsque vous déplacez le curseur sur un fichier, son nom apparaît dans le champ correspondant au nom de fichier. Après avoir localisé le fichier souhaité et pointé le curseur dessus, cliquez sur Sélectionner.


Remarque –

Si vous recherchez un répertoire, positionnez le curseur sur le répertoire souhaité et cliquez sur Ouvrir. Si le répertoire ne contient aucun sous-répertoire, Agent Builder ferme la fenêtre du navigateur et place le nom du répertoire sur lequel vous avez déplacé le curseur dans le champ approprié. S'il contient des sous-répertoires, cliquez sur Fermer pour faire disparaître la fenêtre et revenir à l'écran précédent. Agent Builder place le nom du répertoire sur lequel vous avez placé le curseur dans le champ approprié.


Les icônes situées dans le coin supérieur droit de l'écran Parcourir permettent d'effectuer les opérations suivantes :

Icône 

Objet 

Icône comportant une flèche vers le haut

Cette icône permet de monter d'un niveau dans la structure de répertoire. 

Icône comportant une maison

Cette icône permet de revenir au dossier personnel. 

Icône comportant un nouveau dossier

Cette icône crée un nouveau dossier sous le dossier actuellement sélectionné. 

Icône servant à basculer l'affichage

Cette icône permet de basculer entre différents affichages. Elle est dédiée à une utilisation ultérieure.  

Menus de Agent Builder

Agent Builder propose les menus déroulants Fichier et Édition.

Menu Fichier de Agent Builder

Le menu Fichier contient deux options :

Menu Édition de Agent Builder

Le menu Édition contient deux options :

Utilisation de l'écran Créer

Pour créer un type de ressource, vous devez en premier lieu remplir les champs de l'écran Créer, qui apparaît lorsque vous démarrez Agent Builder. La capture suivante représente l'écran Créer une fois que vous avez entré les informations dans les champs.

Figure 9–2 Écran Créer de Agent Builder, une fois que vous avez entré les informations

Boîte de dialogue qui représente l'écran Créer une fois que vous avez entré les informations

L'écran Créer contient les champs, les cases d'option et les cases à cocher suivantes :


Remarque –

Si le compilateur cc n'est pas inclus dans votre variable $PATH, Agent Builder grise le bouton radio C et vous permet de sélectionner le bouton ksh. Pour spécifier un autre compilateur, reportez-vous à la remarque à la fin de la section Installation et configuration d'Agent Builder.


Une fois que vous avez entré les informations requises, cliquez sur Créer. Située en bas de l'écran, la zone Journal de sortie montre les actions effectuées par Agent Builder. Vous pouvez choisir l'option Enregistrer journal du menu Éditer pour enregistrer les informations dans le journal.

Une fois l'opération terminée, Agent Builder affiche un message indiquant qu'elle a été correctement effectuée ou un avertissement.


Remarque –

Bien que la génération d'un type de ressource complet se fasse en deux étapes, vous pouvez quitter Agent Builder après la première étape (création) sans perdre les informations que vous avez entrées, ni le travail effectué par Agent Builder. Voir Réutilisation du code créé avec Agent Builder .


Utilisation de l'écran Configurer

L'écran Configurer, représenté sur la capture suivante, apparaît une fois que Agent Builder a terminé de créer le type de ressource et que vous avez cliqué sur Suivant sur l'écran Créer. Vous ne pouvez pas accéder à l'écran Configurer avant d'avoir créé le type de ressources.

Figure 9–3 Écran Configurer de Agent Builder

Boîte de dialogue présentant l'écran Configurer

L'écran Configurer contient les champs suivants :

Utilisation de la variable $hostnames basée sur le korn shell de Agent Builder

Pour de nombreuses applications, en particulier celles qui reconnaissent le réseau, le nom d'hôte sur lequel l'application écoute et les requêtes des clients de services doivent être transmis à l'application sur la ligne de commande. Par conséquent, le nom d'hôte est généralement un paramètre que vous devez indiquer sur l'écran Configurer pour les commandes de démarrage, d'arrêt et de sonde du type de ressource cible. Le nom d'hôte d'écoute de l'application est propre au cluster. Le nom d'hôte est déterminé lorsque la ressource est exécutée sur un cluster. Il ne peut pas être déterminé lorsque Agent Builder génère votre code de type de ressource.

Pour résoudre ce problème, Agent Builder fournit la variable $hostnames, que vous pouvez spécifier sur la ligne de commande pour les commandes de démarrage, d'arrêt et de sonde.


Remarque –

La variable $hostnames n'est prise en charge que lorsqu'elle est utilisée avec les services korn shell. Elle ne peut pas être utilisée avec les services C et GDS.


Vous spécifiez la variable $hostnames exactement comme vous indiqueriez un nom d'hôte réel. Exemple :


% /opt/network_aware/echo_server -p port-no -l $hostnames

Lorsqu'une ressource du type de ressource cible est exécutée sur un cluster, le nom d'hôte LogicalHostname ou SharedAddress qui est configuré pour cette ressource est remplacé par la valeur de la variable $hostnames. Le nom d'hôte est configuré pour cette ressource dans la propriété Network_resources_used de la ressource.

Si vous configurez la propriété Network_resources_used avec plusieurs noms d'hôte, la variable $hostnames contient tous les noms d'hôte, séparés par une virgule.

Utilisation des variables de propriété

Vous pouvez également récupérer les valeurs des propriétés d'un type de ressource, d'une ressource et d'un groupe de ressources Sun Cluster, sélectionnées à partir de la structure RGM à l'aide de variables de propriété. Agent Builder recherche les variables de propriété dans vos chaînes de commande de démarrage, d'arrêt ou de sonde et les remplace par leurs valeurs avant que Agent Builder n'exécute la commande.


Remarque –

Les variables de propriété ne peuvent pas être utilisées avec des services korn shell.


Liste des variables de propriété

Cette section répertorie les variables de propriété que vous pouvez utiliser. Les propriétés du type de ressource, de la ressource et du groupe de ressources Sun Cluster sont décrites à la section Annexe A, Propriétés standard.

Variables des propriétés de ressource

Variables de propriétés du type de ressource

Variables de propriété du groupe de ressources

Syntaxe des variables de propriété

Vous devez ajouter le symbole du pourcentage (%) avant un nom de propriété pour indiquer la présence d'une variable de propriété, comme dans l'exemple suivant :

/opt/network_aware/echo_server -t %RS_STOP_TIMEOUT -n %RG_NODELIST

Si l'on prend cet exemple, Agent Builder pourrait interpréter ces variables de propriété et lancer le script echo_server avec les valeurs suivantes :

/opt/network_aware/echo_server -t 300 -n phys-node-1,phys-node-2,phys-node-3

Interprétation et remplacement des variables de propriété par Agent Builder

Agent Builder interprète les types de variable de propriété de la manière suivante :

Réutilisation du code créé avec Agent Builder

Agent Builder vous permet de réutiliser un travail terminé de plusieurs façons :

ProcedureClonage d'un type de ressources existant

Appliquez la procédure suivante pour cloner un type de ressource existant généré par Agent Builder.

Étapes
  1. Chargez un type de ressources existant dans Agent Builder, de l'une des manières suivantes :

    • Lancez Agent Builder à partir du répertoire de travail pour un type de ressource existant créé avec Agent Builder. Vérifiez que ce répertoire contient le fichier rtconfig. Agent Builder charge les valeurs du type de ressources sur les écrans Créer et Configurer.

    • Utilisez l'option de chargement du type de ressource du menu déroulant Fichier.

  2. Modifiez le répertoire de travail dans l'écran Créer.

    Vous devez utiliser l'option Parcourir pour sélectionner un répertoire. La saisie d'un nouveau nom de répertoire est insuffisante. Une fois le répertoire sélectionné, Agent Builder active de nouveau le bouton Créer.

  3. Apportez les changements souhaités au type de ressource existant.

    Vous pouvez avoir à modifier le type de code généré pour le type de ressource. Par exemple, si vous créez une version korn shell d'un type de ressource et si vous vous apercevez ensuite que vous avez besoin d'une version C, procédez comme suit :

    • Chargez le type de ressource existant en version korn shell.

    • Paramétrez le langage de sortie sur C.

    • Cliquez sur Créer pour que Agent Builder crée une version C du type de ressource.

  4. Créez le clone du type de ressources.

    1. Cliquez sur Créer pour créer le type de ressources.

    2. Cliquez sur Suivant pour afficher l'écran Configurer.

    3. Cliquez sur Configurer pour configurer le type de ressource, puis sur Annuler pour terminer l'opération.

Édition du code source généré

Pour simplifier le processus de création d'un type de ressource, Agent Builder limite la quantité d'informations que vous pouvez spécifier, ce qui limite obligatoirement l'étendue du type de ressource généré. Par conséquent, pour ajouter des fonctionnalités plus sophistiquées, vous devez modifier le code source généré ou le fichier RTR. Exemple de fonctionnalité supplémentaire : le code qui permet d'ajouter des marques de validation pour les propriétés supplémentaires ou qui permet de régler les paramètres non affichés par Agent Builder.

Les fichiers source se trouvent dans le répertoire install-directory/rt-name/src. Agent Builder intègre les commentaires dans le code source pour que vous puissiez y ajouter le code. Exemple (pour un code C) :

/* User added code -- BEGIN vvvvvvvvvvvvvvv */
/* User added code -- END   ^^^^^^^^^^^^^^^ */

Remarque –

Ces commentaires sont identiques dans le code source korn shell, si ce n'est que la marque de commentaire (#) indique le début d'un commentaire.


Par exemple, rt-name.h indique toutes les fonctions d'utilitaire utilisées par les différents programmes. Des commentaires sont placés à la fin de cette liste pour vous permettre d'indiquer les autres fonctions que vous pouvez avoir ajoutées à votre code.

Agent Builder génère également le fichier makefile dans le répertoire install-directory/rt-name/src avec les cibles appropriées. Utilisez la commande make pour recompiler le code source. Utilisez la commande make pkg pour regénérer le package du type de ressource.

Le fichier RTR se trouve dans le répertoire install-directory/rt-name/etc. Vous pouvez le modifier à l'aide d'un éditeur de texte standard. Pour plus d'informations sur le fichier RTR, voir Paramétrage des propriétés de ressources et de types de ressources. Pour en savoir plus sur les propriétés, voir Annexe A, Propriétés standard.

ProcedureUtilisation de la version de ligne de commande d'Agent Builder

La version de ligne de commande de Agent Builder suit la même procédure de base que l'interface utilisateur graphique. Toutefois, au lieu de saisir des informations dans l'interface utilisateur graphique, vous pouvez transmettre les arguments aux commandes scdscreate et scdsconfig. Pour en savoir plus, reportez-vous aux pages de manuel scdscreate(1HA) et scdsconfig(1HA).

Procédez aux étapes suivantes pour utiliser la version de ligne de commande de Agent Builder.

Étapes
  1. Utilisez la commande scdscreate pour créer un modèle de type de ressources Sun Cluster permettant de concevoir une application hautement disponible ou évolutive.

  2. Utilisez la commande scdsconfig pour configurer le modèle de type de ressources créé avec scdscreate.

    Vous pouvez indiquer des variables de propriété, Les variables de propriété sont décrites à la section Utilisation des variables de propriété.

  3. Remplacez les répertoires par le sous-répertoire pkg dans le répertoire de travail.

  4. Utilisez la commande pkgadd pour installer les packages créés avec scdscreate.

    • Dans un environnement à zones sous Solaris 10, entrez la commande suivante en tant qu'administrateur global dans la zone globale :


      # pkgadd -G -d . package-name
      

      Le package que vous avez spécifié est ajouté à la zone globale, à condition que le contenu du package n'affecte aucune des parties de la zone globale partagées avec une zone non globale.

    • Pour toute autre version du système d'exploitation Solaris ou pour Solaris 10 dans un environnement sans zones, tapez la commande suivante :


      # pkgadd -d . package-name
      
  5. (Facultatif) Modifiez le code source généré.

  6. Exécutez le script de démarrage.

Structure de répertoire créée par Agent Builder

Agent Builder crée une structure de répertoire pour stocker tous les fichiers qu'il crée pour le type de ressource cible. Le répertoire de travail est défini à partir de l'écran Créer. Vous devez indiquer des répertoires d'installation distincts pour chaque type de ressources que vous développez. Dans le répertoire de travail, Agent Builder crée un sous-répertoire dont le nom est une concaténation du nom du fournisseur et du nom du type de ressource. Par exemple, si vous spécifiez le nom de fournisseur SUNW et créez un type de ressource appelé ftp, Agent Builder crée un répertoire nommé SUNWftp dans le répertoire de travail.

Dans ce sous-répertoire, Agent Builder crée et alimente les répertoires répertoriés dans le tableau suivant.

Nom du répertoire 

Contenu 

bin

Pour la sortie C, contient les fichiers binaires compilés à partir des fichiers source. Spécifique à une sortie korn shell. Contient les mêmes fichiers que le répertoire src.

etc

Contient le fichier RTR. Agent Builder concatène le nom du fournisseur et le nom d'application, en les séparant d'un point (.), afin de constituer le nom du fichier RTR. Par exemple, si le nom du fournisseur est SUNW et celui du type de ressource, ftp, le nom du fichier RTR sera SUNW.ftp.

man

Contient les pages de manuel personnalisées pour les scripts d'utilitaire start, stop et remove, par exemple startftp(1M), stopftp(1M) et removeftp(1M).

 

Pour pouvoir afficher ces pages de manuel, indiquez-en le chemin à l'aide de l'option man -M. Exemple :


% man -M install-directory/SUNWftp/man removeftp

pkg

Contient le dernier package Solaris qui inclut le service de données créé. 

src

Contient les fichiers sources générés par Agent Builder. 

util

Contient les scripts d'utilitaire start, stop et remove, générés par Agent Builder. Voir Scripts d'utilitaire et pages de manuel créées par Sun Agent Builder. Agent Builder ajoute le nom de l'application à chacun de ces noms de script, par exemple startftp, stopftp et removeftp.

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 .

Module Cluster Agent pour Agent Builder

Le module Cluster Agent pour Agent Builder est un module NetBeansTM. Ce module fournit une interface utilisateur graphique qui vous permet de créer des types de ressource pour le logiciel Sun Cluster en utilisant Sun Java Studio (anciennement Sun ONE Studio).


Remarque –

La documentation de Sun Java Studio explique comment installer, configurer et utiliser Sun Java Studio. Elle est disponible à l'adresse http://wwws.sun.com/software/sundev/jde/documentation/index.html.


ProcedureInstallation et configuration du module Cluster Agent

Le module Cluster Agent s'installe en même temps que le logiciel Sun Cluster. L'outil d'installation de Sun Cluster place le fichier du module Cluster Agent scdsbuilder.jar dans /usr/cluster/lib/scdsbuilder. Pour utiliser le module Cluster Agent avec le logiciel Sun Java Studio, vous devez créer un lien symbolique vers ce fichier.


Remarque –

Les logiciels Sun Cluster, Sun Java Studio et Java 1.4 doivent être installés et accessibles sur le système sur lequel vous envisagez d'exécuter le module Cluster Agent.


Étapes
  1. Configurez un accès multi-utilisateur ou mono-utilisateur au module Cluster Agent.

    • Pour permettre à tous les utilisateurs d'accéder au module Cluster Agent, connectez-vous en tant que superutilisateur, ou avec un rôle équivalent, et créez un lien symbolique dans le répertoire global du module :


      # cd /opt/s1studio/ee/modules
      # ln -s /usr/cluster/lib/scdsbuilder/scdsbuilder.jar
      

      Remarque –

      Si vous avez installé le logiciel Sun Java Studio dans un autre répertoire que /opt/s1studio/ee, remplacez ce chemin d'accès par le chemin que vous avez utilisé.


    • Pour être le seul à pouvoir accéder au module, créez le lien symbolique dans votre sous-répertoire modules.


      % cd ~your-home-dir/ffjuser40ee/modules
      % ln -s /usr/cluster/lib/scdsbuilder/scdsbuilder.jar
      
  2. Fermez et relancez le logiciel Sun Java Studio.

ProcedureDémarrage du module Cluster Agent

La procédure suivante décrit comment démarrer le module Cluster Agent à partir du logiciel Sun Java Studio.


Remarque –

La documentation de Sun Java Studio explique comment installer, configurer et utiliser Sun Java Studio. Elle est disponible à l'adresse http://wwws.sun.com/software/sundev/jde/documentation/index.html.


Étapes
  1. À partir du menu Fichier de Sun Java Studio, sélectionnez Nouveau, ou dans la barre d'outils, cliquez sur l'icône illustrée ci-dessous :

    Graphique présentant l'icône Nouveau dans la barre d'outils de Sun Java Studio

    L'écran Assistant Nouveau apparaît.

    Boîte de dialogue présentant l'écran Assistant Nouveau
  2. Faites défiler la liste (si nécessaire) dans la fenêtre de sélection du modèle, puis cliquez sur la clé en regard du dossier Autre.

    Graphique intégré présentant la clé du dossier Autre

    Le dossier Autre s'ouvre.

    Illustration présentant le menu développé du dossier Autre
  3. Dans le dossier Autre, sélectionnez Sun Cluster Agent Builder, puis cliquez sur Suivant.

    Le module Cluster Agent pour Sun Java Studio démarre. Le premier écran Assistant Nouveau - Sun Cluster Agent Builder apparaît.

    Boîte de dialogue présentant l'écran Assistant Nouveau - Sun Cluster Agent Builder lors de son premier affichage

Utilisation du module Cluster Agent

Utilisez le module Cluster Agent de la même façon que le logiciel Agent Builder. Leurs interfaces sont identiques. Par exemple, les illustrations suivantes montrent que l'écran Créer du logiciel Agent Builder et le premier écran Assistant Nouveau - Sun Cluster Agent Builder du module Cluster Agent contiennent les mêmes champs et sélections.

Figure 9–4 Écran Créer du logiciel Agent Builder

Boîte de dialogue présentant l'écran Créer une fois les champs renseignés

Figure 9–5 Écran Assistant Nouveau - Sun Cluster Agent Builder du module Cluster Agent

Boîte de dialogue présentant l'écran Assistant Nouveau - Sun Cluster Agent Builder une fois les champs renseignés

Différences entre le module Cluster Agent et Agent Builder

Il existe des différences mineures entre le module Cluster Agent et Agent Builder :