Sun Cluster Entwicklerhandbuch Datendienste für Solaris OS

Verwenden von Agent Builder

Dieser Abschnitt beschreibt, wie Agent Builder verwendet wird, einschließlich der Aufgaben, die vor dem Einsatz von Agent Builder ausgeführt werden müssen. Der Abschnitt erläutert auch, auf welche Arten Agent Builder nach dem Generieren des Ressourcentypcodes eingesetzt werden kann.

Folgende Themen werden behandelt:

Analysieren der Anwendung

Bevor Sie Agent Builder verwenden, müssen Sie entscheiden, ob die Anwendung den Kriterien für hohe Verfügbarkeit bzw. Skalierbarkeit entspricht. Agent Builder kann diese Analyse nicht ausführen, die lediglich auf den Laufzeiteigenschaften der Anwendung basiert. Analysieren der Eignung einer Anwendung enthält weitere Informationen zu diesem Thema.

Agent Builder ist möglicherweise nicht immer in der Lage, einen vollständigen Ressourcentyp für Ihre Anwendung zu erstellen. In den meisten Fällen kann Agent Builder jedoch zumindest eine Teillösung liefern. Kompliziertere Anwendungen benötigen zum Beispiel eventuell zusätzlichen Code, den Agent Builder nicht standardmäßig generiert, wie Code zum Hinzufügen von Validierungsprüfungen für zusätzliche Eigenschaften oder zum Einstellen von Parametern, die Agent Builder nicht vorgibt. In diesen Fällen müssen Sie Änderungen an dem generierten Quellcode oder an der RTR-Datei vornehmen. Agent Builder ist für diese flexible Arbeitsweise besonders geeignet.

Agent Builder fügt an bestimmten Stellen des generierten Quellcodes Kommentare ein. Hier können Sie Ihren eigenen spezifischen Ressourcentypcode hinzufügen. Nachdem Sie den Quellcode geändert haben, können Sie das von Agent Builder generierte Makefile verwenden, um den Quellcode neu zu kompilieren und das Ressourcentyppaket neu zu generieren.

Selbst wenn Sie den gesamten Ressourcentypcode selbst schreiben und keinen von Agent Builder generierten Code verwenden, können Sie das von Agent Builder bereitgestellte Makefile und die Struktur zum Erstellen eines Solaris-Pakets für Ihren Ressourcentyp nutzen.

Installieren und Konfigurieren von Agent Builder

Agent Builder muss nicht eigens installiert werden. Agent Builder ist im SUNWscdev-Paket enthalten, das im Rahmen einer Standardinstallation der Sun Cluster Software standardmäßig installiert wird. Weitere Informationen hierzu finden Sie im Sun Cluster Handbuch Softwareinstallation für Solaris OS.

Vor der Verwendung von Agent Builder sollte Folgendes überprüft werden.


Hinweis –

Mit Agent Builder kann auch ein anderer Compiler als der cc-Standard-Compiler verwendet werden. Zur Verwendung eines anderen Compilers müssen Sie in $PATH von cc eine symbolische Verknüpfung zu einem anderen Compiler wie gcc erstellen. Es kann auch die Compiler-Spezifikation im Makefile (aktuell CC=cc) in den vollständigen Pfad für einen anderen Compiler geändert werden. Ändern Sie zum Beispiel im von Agent Builder generierten Makefile den Eintrag CC=cc in CC=Pfadname/gcc . In diesem Fall können Sie Agent Builder nicht direkt ausführen, sondern müssen die Befehle make und make pkg ausführen, um Datendienstcode und ein Paket zu generieren.


Bildschirme in Agent Builder

Agent Builder ist ein Assistent, der zwei Arbeitsschritte mit jeweils einem Bildschirm umfasst. Agent Builder verfügt über die folgenden zwei Bildschirme, die Sie durch die Erstellung eines neuen Ressourcentyps führen:

  1. Create. In diesem Bildschirm geben Sie grundlegende Informationen über den zu erstellenden Ressourcentyp wie dessen Namen und das Arbeitsverzeichnis für die erzeugten Dateien ein. Im Arbeitsverzeichnis wird die Ressourcentypvorlage erstellt und konfiguriert. Hier wird auch festgelegt, welche Art Ressource erstellt wird (Scalable oder Failover), ob die Basisanwendung Netzwerkunterstützung hat (das heißt, ob sie das Netzwerk für die Kommunikation mit den Clients verwendet), sowie der zu generierende Codetyp (C, Korn-Shell (ksh) oder GDS). Informationen zum GDS finden Sie unter Kapitel 10, Generische Datendienste. Sie müssen alle erforderlichen Informationen in diesen Bildschirm eingeben und dann auf "Create" klicken, um die entsprechende Ausgabe zu erzeugen. Anschließend können Sie den Bildschirm "Configure" anzeigen.

  2. Configure. In diesem Bildschirm müssen Sie die vollständige Befehlszeile angeben, die zum Starten Ihrer Basisanwendung an eine UNIX®-Shell übergeben werden soll. Optional können Sie auch Befehle zum Stoppen und Testen der Anwendung angeben. Wenn Sie diese Befehle nicht angeben, verwendet die erzeugte Ausgabe Signale zum Stoppen der Anwendung und stellt einen Standardtestmechanismus bereit. Eine Beschreibung des Befehls "Probe" finden Sie unter Verwenden des Bildschirms "Configure". Über diesen Bildschirm können auch die Zeitüberschreitungswerte für jeden dieser drei Befehle geändert werden.

Starten von Agent Builder


Hinweis –

Wenn die grafische Benutzeroberfläche von Agent Builder nicht verfügbar ist, können Sie über eine Befehlszeilenoberfläche auf Agent Builder zugreifen. Siehe So verwenden Sie die Befehlszeilenversion von Agent Builder.



Hinweis –

Wenn Sie Agent Builder vom Arbeitsverzeichnis für einen vorhandenen Ressourcentyp aus starten, initialisiert Agent Builder die Bildschirme "Create" und "Configure" mit den Werten des vorhandenen Ressourcentyps.


Agent Builder wird durch die Eingabe des folgenden Befehls gestartet:


% /usr/cluster/bin/scdsbuilder

Der Bildschirm "Create" wird angezeigt.

Abbildung 9–1 Bildschirm "Create"

Dialogfeld mit dem Titel "SunPlex Agent Builder", das den Hauptbildschirm von Agent Builder anzeigt

Navigieren in Agent Builder

In die Bildschirme "Create" und "Configure" können Informationen auf folgende Weisen eingegeben werden:

Mit den Optionen unten auf jedem Bildschirm können Sie die Aufgabe beenden, zum nächsten bzw. vorherigen Bildschirm gehen oder Agent Builder beenden. Agent Builder kennzeichnet die jeweils verfügbaren Optionen durch Hervorhebung. Nicht verfügbare Optionen werden abgeblendet dargestellt.

Wenn Sie zum Beispiel die Felder ausgefüllt und die gewünschten Optionen im Bildschirm "Create" aktiviert haben, klicken Sie unten im Bildschirm auf "Create". Die Schaltflächen "Previous" und "Next" sind abgeblendet dargestellt, da kein vorheriger Bildschirm vorhanden ist und Sie nicht zum nächsten Schritt weitergehen können, bevor dieser Schritt beendet ist.

Unterer Fensterbereich, in dem die Befehle "Create", "Previous", "Next" und "Cancel" zu sehen sind

Agent Builder zeigt Fortschrittsmeldungen im Ausgabeprotokollbereich unten auf dem Bildschirm an. Wenn Agent Builder die Ausführung fertig gestellt hat, wird eine Erfolgsmeldung angezeigt, bzw. eine Warnmeldung, die zum Einsehen des Ausgabeprotokolls auffordert. Die Option "Next" ist hervorgehoben. Falls es sich um den letzten Bildschirm handelt, ist jedoch nur "Cancel" hervorgehoben.

Sie können jederzeit "Cancel" wählen, um Agent Builder zu beenden.

Auswählen

In bestimmte Agent Builder-Felder können Sie Informationen eingeben oder auf die Schaltfläche "Browse" klicken, um die Verzeichnisstruktur zu durchsuchen und eine Datei oder ein Verzeichnis auszuwählen.

Der Befehl "Browse"

Wenn Sie auf "Browse" klicken, wird ein Bildschirm entsprechend der folgenden Abbildung angezeigt.

Bildschirm "Browse" mit einer Dateiliste

Doppelklicken Sie auf einen Ordner, um ihn zu öffnen. Wenn Sie mit dem Cursor auf eine Datei zeigen, wird der Name der Datei im Feld "File Name" angezeigt. Klicken Sie auf "Select", wenn Sie die gewünschte Datei gefunden haben und mit dem Cursor darauf zeigen.


Hinweis –

Wenn Sie nach einem Verzeichnis suchen, zeigen Sie mit dem Cursor auf das gewünschte Verzeichnis und klicken Sie dann auf "Open". Wenn keine Unterverzeichnisse vorhanden sind, schließt Agent Builder das Suchfenster und setzt den Namen des Verzeichnisses, auf dem sich der Cursor befindet, in das entsprechende Feld. Wenn das Verzeichnis Unterverzeichnisse hat, klicken Sie auf "Close", um das Suchfenster zu schließen und zum vorherigen Bildschirm zurückzukehren. Agent Builder setzt den Namen des Verzeichnisses, auf dem sich der Cursor befindet, in das entsprechende Feld.


Die Symbole in der oberen rechten Ecke des Bildschirms haben folgende Funktionen:

Symbol mit Pfeil nach oben

 

Dieses Symbol führt Sie in der Verzeichnisstruktur eine Ebene nach oben. 

Home-Symbol

 

Dieses Symbol führt Sie zum Home-Ordner zurück. 

Symbol Neuer Ordner

 

Dieses Symbol erstellt einen neuen Ordner unter dem aktuell ausgewählten Ordner. 

Symbol zum Wechseln der Ansicht

 

Dieses Symbol, das zum Umschalten zwischen verschiedenen Ansichten dient, wird für spätere Verwendung vorbehalten. 

Menüs

Agent Builder verfügt über die Pulldown-Menüs "File" und "Edit".

Menü "File"

Das Menü "File" enthält zwei Optionen:

Menü "Edit"

Das Menü "Edit" enthält die folgenden zwei Optionen:

Verwenden des Bildschirms "Create"

Bildschirm "Create"

Als erster Schritt für die Erstellung eines Ressourcentyps muss der Bildschirm "Create" ausgefüllt werden. Dieser Bildschirm wird beim Starten von Agent Builder angezeigt. Die folgende Abbildung zeigt den Bildschirm "Create" nach der Eingabe von Informationen in die Felder.

Abbildung 9–2 Bildschirm "Create"

Dialogfeld, das den Bildschirm "Create" nach Eingabe von Informationen anzeigt

Der Bildschirm "Create" enthält die folgenden Felder, Optionsfelder und Kontrollkästchen:


Hinweis –

Wenn sich der cc-Compiler nicht in Ihrem $PATH befindet, wird das Optionsfeld "C" abgeblendet dargestellt und Sie können das Optionsfeld "ksh" auswählen. Informationen zum Angeben eines anderen Compilers finden Sie im Hinweis am Ende von Installieren und Konfigurieren von Agent Builder.


Klicken Sie nach Eingabe der erforderlichen Informationen auf "Create". Das Ausgabeprotokollfenster unten im Bildschirm zeigt an, welche Aktionen Agent Builder ausführt. Sie können im Menü "Edit" den Befehl "Save Output Log" verwenden, um die Informationen im Ausgabeprotokoll zu speichern.

Nach Abschluss des Vorgangs zeigt Agent Builder entweder eine Erfolgsmeldung oder eine Warnmeldung an.


Hinweis –

Obwohl sich der Prozess zum Generieren eines vollständigen Ressourcentyps aus zwei Schritten zusammensetzt, können Sie Agent Builder nach Beenden des ersten Schritts (Create) beenden, ohne die eingegebenen Informationen oder die von Agent Builder geleistete Arbeit zu verlieren. Siehe Wiederverwenden fertiger Arbeiten.


Verwenden des Bildschirms "Configure"

Bildschirm "Configure"

In der folgenden Abbildung wird der Bildschirm "Configure" gezeigt. Dieser Bildschirm wird angezeigt, nachdem Agent Builder die Erstellung des Ressourcentyps beendet hat und Sie im Bildschirm "Create" auf "Next" geklickt haben. Auf den Bildschirm "Configure" kann erst dann zugegriffen werden, wenn der Ressourcentyp erstellt worden ist.

Abbildung 9–3 Bildschirm "Configure"

Dialogfeld, das den Bildschirm "Configure" zeigt

Der Bildschirm "Configure" enthält folgende Felder:

Verwenden der Korn-Shell-basierten $hostnames-Variablen in Agent Builder

Bei zahlreichen Anwendungen, besonders bei Anwendungen mit Netzwerkunterstützung, muss der Name des Hosts, auf dem die Anwendung Kundenanforderungen empfängt und beantwortet, an die Anwendung in der Befehlszeile übergeben werden. Daher ist der Hostname in vielen Fällen ein Parameter, der für Start-, Stopp- und Testsignal-Befehle für den Zielressourcentyp angegeben werden muss (im Bildschirm "Configure"). Der Name des Hosts, auf dem eine Anwendung Anforderungen empfängt, ist jedoch Cluster-spezifisch. Der Hostname wird bestimmt, wenn die Ressource in einem Cluster ausgeführt wird, und kann nicht bestimmt werden, wenn Agent Builder Ihren Ressourcentypcode erzeugt.

Zum Beheben dieses Problems stellt Agent Builder die $hostnames-Variable bereit, die Sie an der Befehlszeile für die Start-, Stopp- und Testsignal-Befehle angeben können.


Hinweis –

Die $hostnames-Variable wird ausschließlich für die Verwendung mit Korn-Shell-basierten Diensten unterstützt. Für die Verwendung mit C- und GDS-basierten Diensten wird die $hostnames-Variable nicht unterstützt.


Sie geben die $hostnames-Variable genau so an, wie Sie dies mit einem tatsächlichen Hostnamen tun würden, zum Beispiel:


% /opt/network_aware/echo_server -p Port-Nummer -l $hostnames

Wenn eine Ressource des Zielressourcentyps auf einem Cluster ausgeführt wird, ersetzt der für diese Ressource konfigurierte LogicalHostname bzw. SharedAddress-Hostname für die Ressource (in der Ressourceneigenschaft Network_resources_used der Ressource) den Wert der $hostnames-Variablen.

Wenn Sie die Eigenschaft Network_resources_used mit mehreren Hostnamen konfigurieren, enthält die $hostnames alle Hostnamen, durch Komma voneinander getrennt.

Eigenschaftsvariablen

Durch Verwendung von Eigenschaftsvariablen können Sie die Werte von ausgewählten Sun Cluster-Ressourcen-, Ressourcentyp- und Ressourcengruppeneigenschaften aus dem RGM-Framework abrufen. Agent Builder durchsucht Ihr Start-, Testsignal- oder Stopp-Skript nach Eigenschaftsvariablen und ersetzt diese Variablen durch ihre Werte, bevor das Skript gestartet wird.


Hinweis –

Eigenschaftsvariablen werden nicht für die Verwendung mit Korn-Shell-basierten Diensten unterstützt.


Liste der Eigenschaftsvariablen

Die folgende Liste enthält die Eigenschaftsvariablen, die Sie in Ihren Skripts verwenden können. Eine Beschreibung der Sun Cluster-Ressourcen-, Ressourcentyp- und Ressourcengruppeneigenschaften finden Sie unter Anhang A, Standardeigenschaften.

Die folgende Liste enthält die verfügbaren Ressourceneigenschaftsvariablen:

Die folgende Liste enthält die verfügbaren Ressourcentyp-Eigenschaftsvariablen:

Die folgende Liste enthält die verfügbaren Ressourcengruppen-Eigenschaftsvariablen:

Syntax der Eigenschaftsvariablen

Eigenschaftsvariablen werden durch Einfügen eines Prozentzeichens (%) vor einem Eigenschaftsnamen angegeben, wie im folgenden Beispiel dargestellt.


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

Agent Builder kann diese Eigenschaftsvariablen interpretieren und das Skript starten. In diesem Beispiel wird das echo_server-Skript mit den folgenden Werten gestartet:


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

So ersetzt Agent Builder Eigenschaftsvariablen

In der folgenden Liste wird beschrieben, wie Agent Builder die verschiedenen Eigenschaftsvariablen interpretiert:

Wiederverwenden fertiger Arbeiten

In Agent Builder können Sie erstellte Elemente auf folgende Weisen wieder verwenden:

So klonen Sie einen bestehenden Ressourcentyp

Führen Sie dieses Verfahren aus, um einen von Agent Builder erstellten vorhandenen Ressourcentyp zu klonen.

  1. Laden Sie einen bestehenden Ressourcentyp mithilfe einer der folgenden Methoden in Agent Builder:

    • Starten Sie Agent Builder über das Arbeitsverzeichnis (das die Datei rtconfig enthält) für einen bestehenden Ressourcentyp (der mit Agent Builder erstellt wurde). Agent Builder lädt die Werte für diesen Ressourcentyp in die Bildschirme "Create" und "Configure".

    • Verwenden Sie die Option "Load Resource Type" im Pulldown-Menü "File".

  2. Ändern Sie das Arbeitsverzeichnis im Bildschirm "Create".

    Wählen Sie mithilfe von "Browse" ein Verzeichnis aus. Die Eingabe eines neuen Verzeichnisnamens ist nicht ausreichend. Nachdem Sie ein Verzeichnis ausgewählt haben, aktiviert Agent Builder wieder die Schaltfläche "Create".

  3. Nehmen Sie Änderungen vor.

    Mit diesem Verfahren können Sie den für den Ressourcentyp generierten Codetyp ändern. Wenn Sie beispielsweise ursprünglich eine Korn-Shell-Version eines Ressourcentyps erstellt haben, nun aber eine C-Version benötigen, können Sie den bestehenden Korn-Shell-Ressourcentyp laden, die Sprache für die Ausgabe in "C" ändern und dann eine C-Version des Ressourcentyps erzeugen lassen.

  4. Erstellen Sie den geklonten Ressourcentyp.

    Klicken Sie auf "Create", um den Ressourcentyp zu erstellen. Klicken Sie auf "Next", um den Bildschirm "Configure" anzuzeigen. Klicken Sie auf "Configure", um den Ressourcentyp zu konfigurieren, und klicken Sie dann zum Beenden auf "Cancel".

Bearbeiten des generierten Quellcodes

Um den Prozess für die Erstellung eines Ressourcentyps einfach zu halten, beschränkt Agent Builder die Anzahl der Eingaben. Dadurch werden natürlich auch die Einsatzmöglichkeiten für den generierten Ressourcentyp eingeschränkt. Um daher komplexere Funktionen wie zum Beispiel Validierungsprüfungen für zusätzliche Eigenschaften hinzuzufügen oder von Agent Builder nicht vorgegebene Parameter einzustellen, müssen Sie den generierten Quellcode oder die RTR-Datei ändern.

Die Quelldateien befinden sich im Verzeichnis Installationsverzeichnis/RT_Name/src. Agent Builder bettet an den Stellen im Quellcode, an denen Sie Code hinzufügen können, Kommentare ein. Diese Kommentare haben für C-Code folgende Form:


/* Vom Benutzer hinzugefügter Code -- BEGIN vvvvvvvvvvvvvvv */
/* Vom Benutzer hinzugefügter Code -- END   ^^^^^^^^^^^^^^^ */


Hinweis –

Diese Kommentare sind im Korn-Shell-Quellcode identisch, jedoch wird der Beginn eines Kommentars durch ein Rautezeichen (#) angegeben.


Zum Beispiel deklariert RT_Name.h alle Dienstprogrammroutinen, welche die verschiedenen Programme verwenden. Am Ende der Deklarationenliste befinden sich Kommentare, mit denen Sie weitere Routinen deklarieren können, die Sie einem der Codes hinzugefügt haben können.

Agent Builder generiert auch das Makefile im Verzeichnis Installationsverzeichnis/RT_Name/src mit entsprechenden Zielen. Verwenden Sie den make-Befehl, um den Quellcode neu zu kompilieren, und den make pkg-Befehl zur Neugenerierung des Ressourcentyppakets.

Die RTR-Datei befindet sich im Verzeichnis Installationsverzeichnis/ RT_Name/etc. Sie können die RTR-Datei mit einem Standardtexteditor bearbeiten. Weitere Informationen zur RTR-Datei finden Sie unter Einstellen der Ressourcen- und Ressourcentypeigenschaften sowie Informationen zu den Eigenschaften unter Anhang A, Standardeigenschaften.

So verwenden Sie die Befehlszeilenversion von Agent Builder

Die Befehlszeilenversion von Agent Builder verwendet denselben Basisprozess wie die Benutzeroberfläche. Hierbei geben Sie jedoch keine Informationen in die Benutzeroberfläche ein, sondern übergeben Parameter an die Befehle scdscreate und scdsconfig. Informationen hierzu finden Sie in der Online-Dokumentation unter scdscreate(1HA) und scdsconfig(1HA).

Führen Sie folgende Schritte aus, um die Befehlszeilenversion von Agent Builder zu verwenden.

  1. Erstellen Sie mit dem Befehl scdscreate eine Sun Cluster-Ressourcentypvorlage, um eine Anwendung mit hoher Verfügbarkeit oder Skalierbarkeit auszustatten.

  2. Verwenden Sie scdsconfig, um die mit scdscreate erstellte Ressourcentypvorlage zu konfigurieren.

    Sie können auch Eigenschaftsvariablen festlegen. Eine Beschreibung der Eigenschaftsvariablen finden Sie unter Eigenschaftsvariablen.

  3. Ändern Sie die Verzeichnisse in das pkg-Unterverzeichnis im Arbeitsverzeichnis.

  4. Verwenden Sie den Befehl pkgadd zur Installation der mit scdscreate erstellten Pakete.

  5. Falls gewünscht, können Sie den generierten Quellcode bearbeiten.

  6. Führen Sie das Start-Skript aus.