In diesem Abschnitt wird die Verwendung von Agent Builder beschrieben. Außerdem enthält dieser Abschnitt Aufgaben, die Sie vor der Verwendung von Agent Builder durchführen müssen. Der Abschnitt erläutert auch, auf welche Arten Agent Builder nach dem Generieren des Ressourcentypcodes eingesetzt werden kann.
Folgende Themen werden behandelt:
Vor der Verwendung von Agent Builder müssen Sie bestimmen, ob die Anwendung, die Sie hoch verfügbar oder skalierbar machen möchten, den erforderlichen Kriterien entspricht. Agent Builder kann diese Analyse nicht ausführen, die lediglich auf den Laufzeiteigenschaften der Anwendung basiert. Analysieren der Eignung einer Anwendung bietet weitere Informationen zu diesem Thema.
Agent Builder kann eventuell nicht immer einen vollständigen Ressourcentyp für Ihre Anwendung erstellen. In den meisten Fällen bietet Agent Builder jedoch zumindest eine Teillösung. Für ausgereiftere Anwendungen ist zum Beispiel zusätzlicher Code erforderlich, der von Agent Builder nicht standardmäßig generiert wird. Beispiele für zusätzlichen Code ist Code, der Validierungsprüfungen für zusätzliche Eigenschaften hinzufügt oder der Parameter optimiert, die Agent Builder nicht offen legt. In diesen Fällen müssen Sie Änderungen an dem generierten Quellcode oder an der RTR-Datei vornehmen. Agent Builder wird so entwickelt, dass genau diese Art der Flexibilität vorhanden ist.
Agent Builder setzt an bestimmten Stellen im generierten Quellcode Kommentare, an denen Sie Ihren eigenen Ressourcentypcode hinzufügen können. 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.
Agent Builder muss nicht eigens installiert werden. Agent Builder ist im SUNWscdev-Paket enthalten, das standardmäßig bei der Installation der Sun Cluster-Software installiert wird. Das Sun Cluster Handbuch Softwareinstallation für Solaris OS enthält weitere Informationen.
Prüfen Sie vor der Verwendung von Agent Builder die folgenden Voraussetzungen:
Die Java-Laufzeitumgebung ist in der $PATH-Variable enthalten. Agent Builder ist vom Java Development Kit, mindestens Version 1.3.1 abhängig. Wenn das Java Development Kit nicht in Ihrer $PATH-Variable enthalten ist, gibt der Agent Builder-Befehl (scdsbuilder) eine Fehlermeldung aus und zeigt diese an.
Sie haben die Developer System Support-Softwaregruppe, zumindest die Version Solaris 8 OS, installiert.
Der cc-Compiler ist in der $PATH -Variable enthalten. Agent Builder verwendet das erste Auftreten von cc in Ihrer $PATH-Variable zur Ermittlung des Compilers, mit dem C-Binärcode für den Ressourcentyp generiert werden soll. Wenn cc nicht in $PATH enthalten ist, deaktiviert Agent Builder die Option, um C-Code zu generieren. Siehe Verwenden des Bildschirms "Create".
Sie können mit Agent Builder einen anderen Compiler als den cc-Standardcompiler verwenden. Um einen anderen Compiler zu verwenden, erstellen Sie eine symbolische Verknüpfung in $PATH von cc auf einen anderen Compiler, z.B. gcc. 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. Stattdessen müssen Sie die make- und make pkg-Befehle zum Generieren des Datendienstcodes und des Pakets verwenden.
Agent Builder ist ein Assistent, der zwei Arbeitsschritte mit jeweils einem Bildschirm umfasst. Agent Builder verfügt über zwei Bildschirme, die Sie durch die Erstellung eines neuen Ressourcentyps führen:
Bildschirm "Create". In diesem Bildschirm geben Sie grundlegende Informationen über den zu erstellenden Ressourcentyp, z.B. seinen Namen und das Arbeitsverzeichnis für die generierten Dateien an. Im Arbeitsverzeichnis wird die Ressourcentypvorlage erstellt und konfiguriert. Außerdem geben Sie die folgenden Informationen an:
Die Art der zu erstellenden Ressource (skalierbar oder Failover)
Ob die Basisanwendung netzwerkbasiert ist (d.h., ob sie das Netzwerk für die Kommunikation mit deren Clients verwendet)
Den zu generierenden Code (C, Korn Shell (ksh) oder GDS)
Weitere Informationen über GDS finden Sie in Kapitel 10, Generische Datendienste. In diesem Bildschirm müssen Sie alle Informationen angeben und "Create" auswählen, um die entsprechende Ausgabe zu generieren. Anschließend können Sie den Bildschirm "Configure" anzeigen.
Bildschirm "Configure". In diesem Bildschirm müssen Sie die vollständige Befehlszeile angeben, die an eine UNIX-Shell übergeben werden kann, um die Basisanwendung zu starten. Optional können Sie auch Befehle zum Stoppen und Testen der Anwendung angeben. Wenn Sie diese beiden Befehle nicht angeben, verwendet die generierte Ausgabe Signale zum Stoppen der Anwendung und bietet einen Standardtestsignalmechanismus. Eine Beschreibung des Testsignalbefehls finden Sie unter Verwenden des Bildschirms "Configure". Im Bildschirm "Configure" können Sie auch die Zeitüberschreitungswerte für diese drei Befehle ändern: start, stop, probe.
Wenn die GUI-Version von Agent Builder nicht aufgerufen werden kann, können Sie Agent Builder über eine Befehlszeilenschnittstelle aufrufen. Weitere Informationen finden Sie unter So verwenden Sie die Befehlszeilenversion von Agent Builder .
Wenn Sie Agent Builder im Arbeitsverzeichnis für einen bereits vorhandenen Ressourcentyp starten, initialisiert Agent Builder die Bildschirme "Create" und "Configure" für die Werte des bereits vorhandenen Ressourcentyps.
Starten Sie Agent Builder, indem Sie folgenden Befehl eingeben:
% /usr/cluster/bin/scdsbuilder |
Der Bildschirm "Create" wird angezeigt.
Sie geben in den Bildschirmen "Create" und "Configure" Informationen ein, indem Sie die folgenden Operationen durchführen:
Eingeben von Informationen in ein Feld
Durchsuchen Ihrer Verzeichnisstruktur und Auswählen einer Datei oder eines Verzeichnisses
Auswählen eines Satzes sich gegenseitig ausschließender Optionsfelder, z.B. Auswählen von "Scalable" oder "Failover"
Aktivieren des Kontrollkästchens "Network Aware" zur Ermittlung der Basisanwendung als netzwerkbasiert oder Deaktivieren des Kontrollkästchens zur Ermittlung einer Anwendung ohne Netzwerkunterstützung
Mit den Schaltflächen unten auf jedem Bildschirm können Sie die Aufgabe beenden, zum nächsten bzw. vorherigen Bildschirm gehen oder Agent Builder beenden. Agent Builder markiert diese Felder nach Bedarf oder blendet sie aus.
Wenn Sie zum Beispiel die Felder ausgefüllt und die gewünschten Optionen auf dem 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.
Agent Builder zeigt Fortschrittsmeldungen im Bereich "Output Log" unten im Bildschirm an. Sobald Agent Builder beendet wurde, wird eine Erfolgsmeldung oder eine Warnmeldung angezeigt. Die Option "Next" ist hervorgehoben. Falls es sich um den letzten Bildschirm handelt, ist jedoch nur "Cancel" hervorgehoben.
Sie können jederzeit auf "Cancel" klicken, um Agent Builder zu beenden.
In einige Agent Builder-Felder können Sie Informationen eingeben. In anderen Feldern können Sie auf "Browse" klicken, um eine Verzeichnisstruktur zu durchsuchen und eine Datei oder ein Verzeichnis auszuwählen.
Wenn Sie auf "Browse" klicken, wird ein Bildschirm ähnlich der folgenden Abbildung angezeigt.
Doppelklicken Sie auf einen Ordner, um ihn zu öffnen. Wenn Sie den Cursor auf eine Datei bewegen, 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.
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 markierten Verzeichnisses 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 markierten Verzeichnisses in das entsprechende Feld.
Die Symbole in der oberen rechten Ecke des Bildschirms "Browse" übernehmen folgende Aufgaben:
Symbol |
Aufgabe |
---|---|
Dieses Symbol führt Sie in der Verzeichnisstruktur eine Ebene nach oben. |
|
Dieses Symbol führt Sie zum Home-Ordner zurück. |
|
Dieses Symbol erstellt einen neuen Ordner unter dem aktuell ausgewählten Ordner. |
|
Dieses Symbol, das zum Umschalten zwischen verschiedenen Ansichten dient, wird für spätere Verwendung vorbehalten. |
Agent Builder enthält die Dropdown-Menüs "File" und "Edit".
Das Menü "File" enthält zwei Optionen:
Load Resource Type. Lädt einen bereits vorhandenen Ressourcentyp. Agent Builder stellt einen Suchbildschirm bereit, von dem aus Sie das Arbeitsverzeichnis für einen vorhandenen Ressourcentyp auswählen. Falls in dem Verzeichnis, in dem Sie Agent Builder starten, ein Ressourcentyp vorhanden ist, lädt Agent Builder den Ressourcentyp automatisch. Mit "Load Resource Type" können Sie Agent Builder in einem beliebigen Verzeichnis starten und einen bereits vorhandenen Ressourcentyp auswählen, den Sie als Vorlage für die Erstellung eines neuen Ressourcentyps verwenden. Weitere Informationen finden Sie unter Erneute Verwendung von mit Agent Builder erstelltem Code .
Exit. Beendet Agent Builder. Sie können das Tool auch beenden, indem Sie im Bildschirm "Create" oder "Configure" auf "Cancel" klicken.
Das Menü "Edit" enthält die folgenden zwei Optionen:
Clear Output Log. Löscht die Daten aus dem Ausgabeprotokoll. Jedes Mal, wenn Sie "Create" oder "Configure" auswählen, hängt Agent Builder an das Ausgabeprotokoll Statusmeldungen an. Wenn Sie schrittweise Änderungen am Quellcode vornehmen und die Ausgabe in Agent Builder neu generieren und die Statusmeldungen separieren möchten, können Sie die Protokolldatei vor jeder Verwendung speichern und löschen.
Save Log File. Speichert die Protokollausgabe in eine Datei. Agent Builder stellt einen Suchbildschirm bereit, in dem Sie ein Verzeichnis auswählen und einen Dateinamen angeben können.
Als ersten Schritt für die Erstellung eines Ressourcentyps muss der Bildschirm "Create" ausgefüllt werden. Dieser Bildschirm wird beim Starten von Agent Builder angezeigt. In der folgenden Abbildung ist der Bildschirm "Create" nach Eingabe von Informationen in den Feldern dargestellt.
Der Bildschirm "Create" enthält die folgenden Felder, Optionsfelder und Kontrollkästchen:
Vendor Name. Der Name des Herstellers des Ressourcentyps. In der Regel geben Sie das Börsensymbol des Herstellers an. Es ist jedoch auch jeder Name gültig, der den Hersteller eindeutig identifiziert. Es dürfen nur alphanumerische Zeichen verwendet werden.
Application Name. Der Name des Ressourcentyps. Es dürfen nur alphanumerische Zeichen verwendet werden.
Der vollständige Name des Ressourcentyps setzt sich aus Herstellername und Anwendungsname zusammen. Wenn Sie mit dem Betriebssystem Solaris 9 beginnen, darf die Kombination aus Herstellername und Anwendungsname neun Zeichen überschreiten. Wenn Sie jedoch mit einer früheren Version von Solaris OS arbeiten, darf die Kombination aus Herstellername und Anwendungsname keinesfalls länger als neun Zeichen sein.
RT Version. Die Typenversion der erzeugten Ressource. RT Version unterscheidet zwischen mehreren registrierten Versionen (Aufrüstungen) desselben Basisressourcentyps.
Im Feld "RT Version" dürfen folgende Zeichen nicht verwendet werden:
LEERTASTE
TAB
Schrägstrich (/)
Umgekehrter Schrägstrich (\)
Stern (*)
Fragezeichen (?)
Komma (,)
Strichpunkt (;)
Linke eckige Klammer ([)
Rechte eckige Klammer (])
Working Directory. Das Verzeichnis, unter dem Agent Builder eine Verzeichnisstruktur erstellt, in der alle für den Zielressourcentyp erstellten Dateien abgelegt werden. In einem Arbeitsverzeichnis kann jeweils nur ein Ressourcentyp erstellt werden. Agent Builder initialisiert dieses Feld mit dem Pfad des Verzeichnisses, aus dem Sie Agent Builder gestartet haben. Sie können jedoch einen anderen Namen eingeben oder mit "Browse" zu einem anderen Verzeichnis wechseln.
Unter dem Arbeitsverzeichnis erstellt Agent Builder ein Unterverzeichnis mit dem Ressourcentypnamen. Wenn zum Beispiel SUNW der Herstellername und ftp der Anwendungsname ist, nennt Agent Builder das Unterverzeichnis SUNWftp.
Agent Builder legt alle Verzeichnisse und Dateien für den Zielressourcentyp unter diesem Unterverzeichnis ab. Siehe Von Agent Builder erstellte Verzeichnisstruktur .
Scalable oder Failover. Geben Sie an, ob es sich bei dem Zielressourcentyp um einen Failover- oder skalierbaren Typ handelt.
Network Aware. Geben Sie an, ob die Basisanwendung über Netzwerkunterstützung verfügt, das heißt, ob sie das Netzwerk für die Kommunikation mit den Clients verwendet. Aktivieren Sie das Kontrollkästchen "Network Aware", um Netzwerkunterstützung auszuwählen, oder deaktivieren Sie das Kontrollkästchen, um keine Netzwerkunterstützung anzugeben.
C, ksh. Geben Sie die Sprache des generierten Quellcodes an. Obwohl sich diese Optionen gegenseitig ausschließen, können Sie mit Agent Builder einen Ressourcentyp mit Korn-Shell-generiertem Code erstellen und dieselben Informationen erneut verwenden, um C-generierten Code zu erstellen. Weitere Informationen finden Sie unter Erneute Verwendung von mit Agent Builder erstelltem Code .
GDS. Hiermit geben Sie an, dass dieser Dienst ein generischer Datendienst ist. Kapitel 10, Generische Datendienste enthält weitere detaillierte Informationen über das Erstellen und Konfigurieren eines allgemeinen Datendienstes.
Wenn der cc-Compiler nicht in der $PATH-Variable angegeben ist, blendet Agent Builder die C-Optionsschaltfläche aus und ermöglicht Ihnen die Auswahl des ksh-Optionsfeldes. Um einen anderen Compiler anzugeben, lesen Sie den Hinweis am Ende von Installieren und Konfigurieren von Agent Builder.
Klicken Sie nach Angabe der erforderlichen Informationen auf "Create". Das Ausgabeprotokoll 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.
Wenn Agent Builder diesen Schritt nicht durchführen konnte, prüfen Sie das Ausgabeprotokoll, um genauere Informationen zu erhalten.
Wenn Agent Builder erfolgreich ausgeführt wurde, klicken Sie auf "Next", um den Bildschirm "Configure" anzuzeigen. Im Bildschirm "Configure" können Sie die Erstellung des Ressourcentyps fertig stellen.
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)" verlassen, ohne die eingegebenen Informationen oder die von Agent Builder geleistete Arbeit zu verlieren. Weitere Informationen finden Sie unter Erneute Verwendung von mit Agent Builder erstelltem Code .
Der Bildschirm "Configure", in der folgenden Abbildung dargestellt, wird angezeigt, nachdem Agent Builder die Erstellung des Ressourcentyps beendet hat und Sie im Bildschirm "Create" auf "Next" klicken. Auf den Bildschirm "Configure" kann erst dann zugegriffen werden, wenn der Ressourcentyp erstellt worden ist.
Der Bildschirm "Configure" enthält folgende Felder:
Start Command. Die vollständige Befehlszeile, die an eine beliebige UNIX-Shell übergeben werden kann, um die Basisanwendung zu starten. Sie müssen einen Startbefehl angeben. Sie können den Befehl in das dafür vorgesehene Feld eingeben oder die Schaltfläche "Browse" verwenden, um die Datei zu suchen, die den Start-Befehl für die Anwendung enthält.
Die vollständige Befehlszeile muss alle erforderlichen Parameter zum Starten der Anwendung enthalten, wie Hostnamen, Port-Nummern, einen Pfad zu den Konfigurationsdateien usw. Sie können auch Eigenschaftsvariablen angeben, die unter Verwenden von Eigenschaftsvariablen beschrieben werden. Wenn Ihre Korn-Shell-basierte Anwendung die Angabe eines Hostnamens in der Befehlszeile erfordert, können Sie die Variable $hostnames verwenden, die von Agent Builder definiert wird. Siehe Verwenden der Korn Shell-basierten $hostnames-Variable von Agent Builder.
Der Befehl darf nicht in doppelten Anführungszeichen stehen (””).
Wenn die Basisanwendung über mehrere unabhängige Prozessbaumstrukturen verfügt, von denen jede unter einer eigenen Markierung unter PMF-Steuerung (Process Monitor Facility) gestartet wird, kann kein einzelner Befehl angegeben werden. Stattdessen müssen Sie eine Textdatei erstellen, die einzelne Befehle zum Starten der einzelnen Prozessbäume enthält, sowie den Pfad dieser Datei im Textfeld "Start Command" angeben. Siehe Vor der Verwendung von Agent Builder. Dieser Abschnitt enthält eine Liste der besonderen Eigenschaften, die diese Datei für die ordnungsgemäße Ausführung benötigt.
Stop Command. Die vollständige Befehlszeile, die an eine beliebige UNIX-Shell übergeben werden kann, um die Basisanwendung zu stoppen. Sie können den Befehl in das dafür vorgesehene Feld eingeben oder die Schaltfläche "Browse" verwenden, um die Datei zu suchen, die den Stopp-Befehl für die Anwendung enthält. Sie können auch Eigenschaftsvariablen angeben, die unter Verwenden von Eigenschaftsvariablen beschrieben werden. Wenn Ihre Korn-Shell-basierte Anwendung die Angabe eines Hostnamens in der Befehlszeile erfordert, können Sie die Variable $hostnames verwenden, die von Agent Builder definiert wird. Siehe Verwenden der Korn Shell-basierten $hostnames-Variable von Agent Builder.
Dieser Befehl ist optional. Wenn Sie keinen Stopp-Befehl angeben, verwendet der generierte Code die folgenden Signale (in der Stopp-Methode), um die Anwendung zu stoppen.
Die Stop-Methode sendet SIGTERM , um die Anwendung zu stoppen, und wartet 80% des Zeitüberschreitungswertes darauf, dass die Anwendung beendet wird.
Wenn das SIGTERM-Signal nicht erfolgreich ist, sendet die Stop-Methode SIGKILL, um die Anwendung zu stoppen, und wartet während 15% des Zeitüberschreitungswertes darauf, dass die Anwendung beendet wird.
Wenn SIGKILL nicht erfolgreich ist, bricht die Stop-Methode ohne Erfolg ab. Die restlichen 5% des Zeitüberschreitungswertes gelten als Überlastung.
Stellen Sie sicher, dass der Stopp-Befehl keine Antwort zurückgibt, bevor die Anwendung vollständig gestoppt wurde.
Probe Command. Ein Befehl, der in regelmäßigen Abständen ausgeführt werden kann, um die Anwendung auf Fehler zu überprüfen und einen entsprechenden Beendigungsstatus zwischen 0 (Erfolg) und 100 (Totalfehlschlag) zurückzugeben. Dieser Befehl ist optional. Sie können den gesamten Pfad zum Befehl eingeben oder mit der Schaltfläche "Browse" die Datei suchen, die den Befehl für das Testen der Anwendung enthält.
In der Regel wird ein einfacher Client der Basisanwendung angegeben. Wenn Sie keinen Befehl zum Testen angeben, stellt der generierte Code einfach eine Verbindung zu dem Anschluss her, der von der Ressource verwendet wird, und hebt den Anschluss auch wieder auf. Wenn das Herstellen und das Auflösen der Verbindung erfolgreich sind, erklärt der generierte Code die Anwendung für "gesund". Sie können auch Eigenschaftsvariablen angeben, die unter Verwenden von Eigenschaftsvariablen beschrieben sind. Wenn Ihre Korn-Shell-basierte Anwendung die Angabe eines Hostnamens in der Probe-Befehlszeile erfordert, können Sie die Variable $hostnames verwenden, die von Agent Builder definiert wird. Siehe Verwenden der Korn Shell-basierten $hostnames-Variable von Agent Builder.
Der Befehl darf nicht in doppelten Anführungszeichen stehen (””).
Timeout. Ein Zeitüberschreitungswert, in Sekunden, für jeden Befehl. Sie können einen neuen Wert angeben oder den Standardwert übernehmen, der von Agent Builder vorgeschlagen wird. Der Standardwert lautet 300 Sekunden für das Starten und Stoppen und 30 Sekunden für das Testsignal.
Für viele Anwendungen, insbesondere netzwerkbasierte Anwendungen, muss der Hostname, an dem die Anwendung Kundenanforderungen abhört und bedient, an die Anwendung in der Befehlszeile übergeben werden. Daher ist der Hostname in vielen Fällen ein Argument, das 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 ermittelt, wenn die Ressource auf einem Cluster ausgeführt wird. Der Hostname kann nicht ermittelt werden, wenn Agent Builder den Ressourcentypcode generiert.
Um dieses Problem zu lösen, bietet Agent Builder die $hostnames-Variable, die Sie in der Befehlszeile für die Start-, Stopp- und Testsignal-Befehle angeben können.
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, wird der LogicalHostname- oder SharedAddress-Hostname, der für diese Ressource konfiguriert wird, durch den Wert der $hostnames-Variable ersetzt. Der Hostname wird für diese Ressource in der Ressourceneigenschaft Network_resources_used der Ressource konfiguriert.
Wenn Sie die Eigenschaft Network_resources_used mit mehreren Hostnamen konfigurieren, enthält die $hostnames-Variable alle Hostnamen, jeweils getrennt durch ein Komma.
Sie können mithilfe von Eigenschaftsvariablen auch die Werte der ausgewählten Sun Cluster-Ressourcentyp-, Ressourcen- und Ressourcengruppeneigenschaften vom RGM-Framework abrufen. Agent Builder durchsucht Ihre Start-, Testsignal- oder Stopp-Befehlszeichenketten nach den Eigenschaftsvariablen und ersetzt diese Variablen durch ihre Werte, bevor Agent Builder den Befehl ausführt.
Eigenschaftsvariablen werden nicht für die Verwendung mit Korn-Shell-basierten Diensten unterstützt.
Dieser Abschnitt enthält eine Liste der Eigenschaftsvariablen, die Sie verwenden können. Die Sun Cluster-Ressourcentyp-, Ressourcen- und Ressourcengruppeneigenschaften werden in Anhang A, Standardeigenschaften beschrieben.
RS_CHEAP_PROBE_INTERVAL
RS_MONITOR_START_TIMEOUT
RS_MONITOR_STOP_TIMEOUT
RS_NAME
RS_NUM_RESTARTS
RS_RESOURCE_DEPENDENCIES
RS_RESOURCE_DEPENDENCIES_WEAK
RS_RETRY_COUNT
RS_RETRY_INTERVAL
RS_SCALABLE
RS_START_TIMEOUT
RS_STOP_TIMEOUT
RS_THOROUGH_PROBE_INTERVAL
SCHA_STATUS
RG_GLOBAL_RESOURCES_USED
RG_IMPLICIT_NETWORK_DEPENDENCIES
RG_MAXIMUM_PRIMARIES
RG_NAME
RG_NODELIST
RG_NUM_RESTARTS
RG_PATHPREFIX
RG_PINGPONG_INTERVAL
RG_RESOURCE_LIST
Vor einem Eigenschaftsnamen fügen Sie ein Prozentzeichen (%) ein, um eine Eigenschaftsvariable, wie in diesem Beispiel dargestellt, auszuweisen:
/opt/network_aware/echo_server -t %RS_STOP_TIMEOUT -n %RG_NODELIST
Unter Berücksichtigung des zuvor dargestellten Beispiels kann Agent Builder diese Eigenschaftsvariablen eventuell interpretieren und das echo_server-Skript mit den folgenden Werten starten:
/opt/network_aware/echo_server -t 300 -n phys-node-1,phys-node-2,phys-node-3
Agent Builder interpretiert die Typen von Eigenschaftsvariablen wie folgt:
Eine Ganzzahl wird durch ihren tatsächlichen Wert (z.B. 300) ersetzt.
Ein boolescher Wert wird durch die Zeichenkette TRUE oder FALSE ersetzt.
Eine Zeichenkette wird zum Beispiel durch die tatsächliche Zeichenkette (phys-node-1 ) ersetzt.
Es wird eine Liste mit Zeichenketten durch alle Mitglieder in der Liste ersetzt, wobei jede Zeichenkette durch ein Komma getrennt wird (z.B. phys-node-1,phys-node-2,phys-node-3).
Eine Liste mit Ganzzahlen wird durch alle Mitglieder in der Liste ersetzt, wobei jede Ganzzahl durch ein Komma (z.B. 1,2,3) ersetzt wird.
Ein Aufzählungstyp wird durch seinen Wert in Form einer Zeichenkette ersetzt.
Agent Builder bietet mehrere Möglichkeiten zur weiteren Nutzung bereits fertig gestellter Arbeiten:
Sie können einen bereits vorhandenen, mit Agent Builder erstellten Ressourcentyp klonen.
Sie können den von Agent Builder generierten Quellcode bearbeiten und dann den Code neu kompilieren, um ein neues Paket zu erstellen.
Befolgen Sie dieses Verfahren, um einen bereits vorhandenen, von Agent Builder generierten Ressourcentyp zu klonen.
Laden Sie einen bestehenden Ressourcentyp mithilfe einer der folgenden Methoden in Agent Builder:
Starten Sie Agent Builder für einen bereits vorhandenen Ressourcentyp im Arbeitsverzeichnis, das Sie mit Agent Builder erstellt haben. Stellen Sie sicher, dass das Arbeitsverzeichnis die Datei rtconfig enthält. Agent Builder lädt die Werte für diesen Ressourcentyp in die Bildschirme "Create" und "Configure".
Verwenden Sie die Option "Load Resource" im Dropdown-Menü "File".
Ä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".
Nehmen Sie am bereits vorhandenen Ressourcentyp die gewünschten Änderungen vor.
Unter Umständen möchten Sie den Codetyp ändern, der für den Ressourcentyp generiert wird. Wenn Sie zum Beispiel zunächst eine Korn-Shell-Version eines Ressourcentyps erstellen, jedoch im Laufe der Zeit eine C-Version benötigen, können Sie wie folgt vorgehen:
Laden Sie den bereits vorhandenen Korn-Shell-Ressourcentyp.
Ändern Sie die Sprache für die Ausgabe zu C.
Klicken Sie auf "Create", damit Agent Builder eine C-Version des Ressourcentyps erstellt.
Erstellen Sie den geklonten Ressourcentyp.
Um den Prozess des Erstellens eines Ressourcentyps zu vereinfachen, beschränkt Agent Builder die Informationsmenge, die Sie angeben können, was notwendigerweise den Umfang des generierten Ressourcentyps beschränkt. Um also weitere ausgereifte Funktionen hinzuzufügen, müssen Sie den generierten Quellcode bzw. die RTR-Datei ändern. Beispiele für zusätzliche Funktionen ist Code, der Validierungsprüfungen für zusätzliche Eigenschaften hinzufügt oder Parameter optimiert, die Agent Builder nicht offen legt.
Die Quelldateien befinden sich im Verzeichnis Installationsverzeichnis/RT-Name/src. Agent Builder bettet Kommentare in den Quellcode ein, in den Sie Code hinzufügen können. Diese Kommentare haben für C-Code folgende Form:
/* User added code -- BEGIN vvvvvvvvvvvvvvv */ /* User added code -- END ^^^^^^^^^^^^^^^ */
Diese Kommentare sind im Korn-Shell-Quellcode identisch, außer dass das Kommentarzeichen (#) den Anfang eines Kommentars angibt.
So deklariert zum Beispiel RT-Name.h alle Dienstprogrammfunktionen, die von den verschiedenen Programmen verwendet werden. Am Ende der Deklarationenliste befinden sich Kommentare, mit denen Sie weitere Funktionen 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 Befehl make, um den Quellcode neu zu kompilieren. Verwenden Sie den Befehl make pkg, um das Ressourcentyppaket neu zu generieren.
Die RTR-Datei befindet sich im Verzeichnis Installationsverzeichnis/RT-Name/etc. Sie können die RTR-Datei mit einem Standardtexteditor bearbeiten. Weitere Informationen über die RTR-Datei finden Sie unter Einstellen der Ressourcen- und Ressourcentypeigenschaften. Weitere Informationen über Eigenschaften finden Sie in Anhang A, Standardeigenschaften.
Die Befehlszeilenversion von Agent Builder folgt demselben grundlegenden Prozess wie die GUI. Anstatt jedoch Informationen in der GUI anzugeben, übergeben Sie Argumente an die Befehle scdscreate und scdsconfig. Weitere Informationen finden Sie in der Online-Dokumentation unter scdscreate(1HA) und scdsconfig(1HA).
Befolgen Sie diese Schritte, um die Befehlszeilenversion von Agent Builder zu verwenden.
Erstellen Sie mit dem Befehl scdscreate eine Sun Cluster-Ressourcentypvorlage, um eine Anwendung mit hoher Verfügbarkeit oder Skalierbarkeit auszustatten.
Verwenden Sie scdsconfig, um die mit scdscreate erstellte Ressourcentypvorlage zu konfigurieren.
Sie können auch Eigenschaftsvariablen festlegen. Die Eigenschaftsvariablen werden im Abschnitt Verwenden von Eigenschaftsvariablen beschrieben.
Ändern Sie die Verzeichnisse in das pkg-Unterverzeichnis im Arbeitsverzeichnis.
Verwenden Sie den Befehl pkgadd zur Installation der mit scdscreate erstellten Pakete.
Geben Sie für Solaris 10 OS in einer Zonenumgebung als globaler Administrator in der globalen Zone den folgenden Befehl ein:
# pkgadd -G -d . Paketname |
Das von Ihnen angegebene Paket wird zur globalen Zone hinzugefügt, vorausgesetzt, der Inhalt des Pakets wirkt sich nicht auf einen Bereich der globalen Zone aus, die mit einer nicht-globalen Zone gemeinsam genutzt wird.
Für jede andere Version von Solaris OS oder Solaris 10 OS in einer Umgebung ohne Zonen geben Sie folgenden Befehl ein:
# pkgadd -d . Paketname |
(Optional) Bearbeiten Sie den generierten Quellcode.
Führen Sie das Start-Skript aus.