Dieses Kapitel listet die API-Funktionen der DSDL (Data Service Development Library, Datendienst-Entwicklungsbibliothek) auf und beschreibt sie kurz. In den einzelnen Seiten der 3HA-Online-Dokumentation finden Sie eine vollständige Beschreibung jeder DSDL-Funktion. Die DSDL bietet lediglich eine C-Schnittstelle. Eine skriptbasierte DSDL-Schnittstelle steht nicht zur Verfügung.
Dieses Kapitel behandelt die folgenden Themen:
Die Funktionen in diesem Abschnitt bieten eine breite Palette an Möglichkeiten. Diese Funktionen ermöglichen Ihnen das Ausführen der folgenden Vorgänge:
Die DSDL-Umgebung initialisieren,
Ressourcentyp, Ressource und Ressourcengruppennamen sowie Erweiterungseigenschaftswerte abrufen
Failover und Neustart einer Ressourcengruppe sowie Neustart einer Ressource
Fehler-Zeichenketten in Fehlermeldungen konvertieren,
Einen Befehl im Rahmen einer Zeitüberschreitung ausführen.
Die folgenden Funktionen initialisieren die Aufrufmethode:
scds_initialize(3HA) – Weist Ressourcen zu und initialisiert die DSDL-Umgebung.
scds_close(3HA) – Setzt Ressourcen frei, die von scds_initialize() zugewiesen werden.
Die folgenden Funktionen rufen Informationen über Ressourcen, Ressourcentypen, Ressourcengruppen und Erweiterungseigenschaften ab.
scds_get_resource_type_name(3HA) – Ruft den Namen des Ressourcentyps für das abrufende Programm ab.
scds_get_resource_name(3HA) – Ruft den Namen der Ressource für das abrufende Programm ab.
scds_get_resource_group_name(3HA) – Ruft den Namen der Ressourcengruppe für das abrufende Programm ab.
scds_get_ext_property(3HA) – Ruft den Wert der angegebenen Erweiterungseigenschaft ab.
scds_free_ext_property(3HA) – Setzt den von scds_get_ext_property() zugewiesenen Speicher frei.
Die folgende Funktion ruft Statusinformationen über die SUNW.HAStoragePlus -Ressourcen ab, die von einer Ressource verwendet werden:
scds_hasp_check(3HA) – Ruft Statusinformationen über die SUNW.HAStoragePlus-Ressourcen ab, die von einer Ressource verwendet werden. Diese Informationen werden aus dem Zustand (online oder anderweitig) aller SUNW.HAStoragePlus-Ressourcen abgerufen, von denen die Ressource abhängt, und zwar unter Verwendung der für die Ressource definierten Systemeigenschaften Resource_dependencies oder Resource_dependencies_weak. Weitere Informationen finden Sie in der Online-Dokumentation zu SUNW.HAStoragePlus(5).
Die folgenden Funktionen führen ein Failover aus bzw. starten eine Ressource oder Ressourcengruppe neu.
scds_failover_rg(3HA) – Failover einer Ressourcengruppe.
scds_restart_rg(3HA) – Neustart einer Ressourcengruppe.
scds_restart_resource(3HA) – Neustart einer Ressource.
Die folgenden Funktionen führen einen Befehl im Rahmen einer Zeitüberschreitung aus und konvertieren einen Fehlercode in eine Fehlermeldung:
scds_timerun(3HA) – Führt einen Befehl unter einem Zeitüberschreitungswert aus.
scds_error_string(3HA) – Übersetzt einen Fehlercode in eine Fehlerzeichenkette.
Diese Funktionen stellen praktische APIs für den Zugriff auf bestimmte Eigenschaften der entsprechenden Ressource, Ressourcengruppe und des Ressourcentyps bereit, einschließlich einiger häufig verwendeter Erweiterungseigenschaften. Die DSDL stellt die scds_initialize()-Funktion zum Parsen der Befehlszeilenargumente zur Verfügung. Die Bibliothek speichert die verschiedenen Eigenschaften des entsprechenden Ressourcentyps, der entsprechenden Ressource und Ressourcengruppe im Zwischenspeicher.
In der Online-Dokumentation unter scds_property_functions(3HA) werden diese Funktionen beschrieben. Sie umfassen u.a.:
scds_get_rt_Eigenschaftsname
scds_get_rs_Eigenschaftsname
scds_get_rg_Eigenschaftsname
scds_get_ext_Eigenschaftsname
Die in diesem Abschnitt aufgelisteten Funktionen rufen die Netzwerkressourcen, die von den Ressourcen und Ressourcengruppen verwendet werden, ab, drucken sie und setzen sie frei. Die scds_get_-Funktionen in diesem Abschnitt bieten eine praktische Möglichkeit, Netzwerkressourcen ohne Verwendung der RMAPI-Funktionen zum Abfragen bestimmter Eigenschaften, z.B. Network_resources_used und Port_list abzurufen. Die scds_print_name()-Funktionen drucken Werte aus den Datenstrukturen, die von den scds_get_name ()-Funktionen ausgegeben werden. Die scds_free_name ()-Funktionen setzen den Speicher frei, der von den scds_get_ name()-Funktionen zugewiesen wurde.
Folgende Funktionen verarbeiten Hostnamen:
scds_get_rs_hostnames(3HA) – Ruft eine Liste mit Hostnamen ab, die von der Ressource verwendet wird.
scds_get_rg_hostnames(3HA) – Ruft eine Liste mit Hostnamen ab, die von den Netzwerkressourcen in einer Ressourcengruppe verwendet wird.
scds_print_net_list(3HA) – Druckt den Inhalt der Liste mit Hostnamen, die von scds_get_rs_hostnames () oder scds_get_rg_hostnames() ausgegeben wird.
scds_free_net_list(3HA) – Setzt den Speicher frei, der von scds_get_rs_hostnames() oder scds_get_rg_hostnames() zugewiesen wird.
Folgende Funktionen verarbeiten Port-Listen:
scds_get_port_list(3HA) – Ruft eine Liste mit Port-Protokollpaaren ab, die von einer Ressource verwendet wird.
scds_print_port_list(3HA) – Druckt den Inhalt der Liste mit Port-Protokollpaaren, die von scds_get_port_list() ausgegeben wird.
scds_free_port_list(3HA) – Setzt den Speicher frei, der von scds_get_port_list() zugewiesen wird.
Folgende Funktionen verarbeiten Netzwerkadressen:
scds_get_netaddr_list(3HA) – Ruft eine Liste mit Netzwerkadressen ab, die von einer Ressource verwendet wird.
scds_print_netaddr_list(3HA) – Druckt den Inhalt der Liste mit Netzwerkadressen, die von scds_get_netaddr_list() ausgegeben wird.
scds_free_netaddr_list(3HA) – Setzt den Speicher frei, der von scds_get_netaddr_list() zugewiesen wird.
Die Funktionen in diesem Abschnitt aktivieren die TCP-basierte Überwachung. In der Regel verwendet ein Fehler-Monitor diese Funktionen zur Herstellung einer einfachen Socket-Verbindung mit einem Dienst, zum Lesen und Schreiben von Daten an den Dienst, um seinen Status zu erhalten und zum Trennen der Verbindung des Dienstes.
Bei diesen Funktionen handelt es sich um:
scds_fm_tcp_connect(3HA) – Stellt eine TCP-Verbindung mit einem Prozess her, der lediglich die IPv4-Adressierung verwendet.
scds_fm_net_connect(3HA) – Stellt eine TCP-Verbindung mit einem Prozess her, der entweder die IPv4- oder die IPv6-Adressierung verwendet.
scds_fm_tcp_read(3HA) – Verwendet eine TCP-Verbindung zum Lesen von Daten aus dem überwachten Prozess.
scds_fm_tcp_write(3HA) – Verwendet eine TCP-Verbindung zum Schreiben eines überwachten Prozesses.
scds_simple_probe(3HA) – Testet einen Prozess durch Herstellen und Beenden einer TCP-Verbindung mit dem Prozess. Diese Funktion verarbeitet nur IPv4-Adressen.
scds_simple_net_probe(3HA) – Testet einen Prozess durch Herstellen und Beenden einer TCP-Verbindung mit dem Prozess. Diese Funktion verarbeitet entweder IPv4- oder IPv6-Adressen.
scds_fm_tcp_disconnect(3HA) – Beendet die Verbindung mit einem überwachten Prozess. Diese Funktion verarbeitet nur IPv4-Adressen.
scds_fm_net_disconnect(3HA) – Beendet die Verbindung mit einem überwachten Prozess. Diese Funktion verarbeitet entweder IPv4- oder IPv6-Adressen.
Diese Funktionen kapseln die PMF-Funktionen (Process Monitor Facility) ein. Das DSDL-Modell für die Überwachung per PMF erstellt und verwendet implizite Tag-Werte für pmfadm. Weitere Informationen finden Sie in der Online-Dokumentation unter pmfadm(1M).
Die PMF-Funktion verwendet auch implizite Werte für die Optionen Restart_interval , Retry_count und action_script (die Optionen - t, -n und -a für pmfadm). Der wichtigste Punkt ist, dass die DSDL das Prozessfehler-Protokoll, wie von der PMF-Funktion ermittelt, mit dem Anwendungsfehlerprotokoll verknüpft, das vom Fehler-Monitor ermittelt wurde, um die Neustart- und Failover-Entscheidung zu berechnen.
Der Satz umfasst folgende Funktionen:
scds_pmf_get_status(3HA) – Ermittelt, ob die angegebene Instanz unter der PMF-Steuerung überwacht wird.
scds_pmf_restart_fm(3HA) – Verwendet die PMF-Funktion zum Neustart des Fehler-Monitors.
scds_pmf_signal(3HA) – Sendet das angegebene Signal an einen Prozessbaum, der unter der PMF-Steuerung ausgeführt wird.
scds_pmf_start(3HA) – Führt ein angegebenes Programm (u.a. einen Fehler-Monitor) unter der PMF-Steuerung aus.
scds_pmf_stop(3HA) – Beendet einen Prozess, der unter der PMF-Steuerung ausgeführt wird.
scds_pmf_stop_monitoring(3HA) – Hält die Überwachung eines Prozesses an, der unter der PMF-Steuerung ausgeführt wird.
Die Funktionen in diesem Abschnitt liefern ein vorbestimmtes Modell der Fehlerüberwachung, indem das Fehlerprotokoll zusammen mit den Retry_count- und Retry_interval-Eigenschaften aufbewahrt und ausgewertet wird.
Der Satz umfasst folgende Funktionen:
scds_fm_sleep(3HA) – Wartet auf eine Meldung an einem Fehler-Monitor-Steuerungssocket.
scds_fm_action(3HA) – Führt nach Beendigung eines Tests eine Aktion aus.
scds_fm_print_probes(3HA) – Schreibt Testsignal-Statusinformationen in das Systemprotokoll.
Mit den folgenden Funktionen können Sie Meldungen und Debug-Meldungen in das Systemprotokoll schreiben:
scds_syslog(3HA) – Schreibt Meldungen in das Systemprotokoll.
scds_syslog_debug(3HA) – Schreibt Debugging-Meldungen in das Systemprotokoll.