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 definiert lediglich eine C-Schnittstelle. Eine skriptbasierte DSDL-Schnittstelle ist nicht verfügbar.
Die DSDL bietet die folgenden Arten von Funktionen:
Die folgenden Unterabschnitte enthalten einen kurzen Überblick über jede Kategorie der DSDL-Funktionen. Als maßgebliche Referenz für die DSDL-Funktionen wird jedoch auf die einzelnen Seiten der 3HA-Online-Dokumentation verwiesen.
Die Funktionen in diesem Abschnitt decken einen großen Funktionsumfang ab. Diese Funktionen ermöglichen Ihnen das Ausführen der folgenden Vorgänge:
Die DSDL-Umgebung initialisieren,
Ressourcen, Ressourcentypen und Ressourcengruppennamen sowie Erweiterungseigenschaftswerte abrufen,
Ein Failover für eine Ressourcengruppe ausführen und sie neu starten sowie eine Ressource neu starten,
Fehler-Zeichenketten in Fehlermeldungen konvertieren,
Einen Befehl im Rahmen einer Zeitüberschreitung ausführen.
Die folgenden Funktionen initialisieren die Aufrufmethode:
scds_initialize(3HA) – ordnet Ressourcen zu und initialisiert die DSDL-Umgebung.
scds_close( 3HA) – gibt Ressourcen frei, die von scds_initialize zugeordnet wurden.
Die folgenden Funktionen rufen Informationen über Ressourcen, Ressourcentypen, Ressourcengruppen und Erweiterungseigenschaften ab.
scds_get_resource_name(3HA) – ruft den Namen der Ressource für das aufrufende Programm ab.
scds_get_resource_type_name(3HA) – ruft den Namen des Ressourcentyps für das aufrufende Programm ab.
scds_get_resource_group_name(3HA) – ruft den Namen der Ressourcengruppe für das aufrufende Programm ab.
scds_get_ext_property(3HA) – ruft den Wert der angegebenen Erweiterungseigenschaft ab.
scds_free_ext_property(3HA) – gibt den durch scds_get_ext_property zugeordneten Speicher frei.
Die folgende Funktion ruft Statusinformationen über die SUNW.HAStoragePlus ab, die von einer Ressource verwendet werden.
scds_hasp_check(3HA) – ruft Statusinformationen zu SUNW.HAStoragePlus(5)-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.
Die folgenden Funktionen führen ein Failover aus bzw. starten eine Ressource oder Ressourcengruppe neu.
scds_failover_rg(3HA) – führt ein Failover für eine Ressourcengruppe aus.
scds_restart_rg(3HA) – startet eine Ressourcengruppe neu.
scds_restart_resource(3HA) – startet eine Ressource neu.
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 für die Analyse der Befehlszeilenargumente bereit. Die Bibliothek legt dann die verschiedenen Eigenschaften der entsprechenden Ressource, Ressourcengruppe bzw. des Ressourcentyps im Cache-Speicher ab.
scds_property_functions(3HA) beschreibt diese Funktionen. Diese Funktionen umfassen:
scds_get_rs_Eigenschaftsname
scds_get_rg_Eigenschaftsname
scds_get_rt_Eigenschaftsname
scds_get_ext_Eigenschaftsname
Die in diesem Abschnitt aufgelisteten Funktionen rufen von Ressourcen und Ressourcengruppen verwendete Netzwerkressourcen auf, drucken sie und geben sie frei. Die scds_get_*-Funktionen in diesem Abschnitt bieten eine praktische Möglichkeit zum Abrufen von Netzwerkressourcen, ohne spezifische Eigenschaften wie Network_resources_used und Port_list abzufragen. Dabei werden die RMAPI-Funktionen eingesetzt. Die Funktionen scds_print_Name() drucken Werte aus den Datenstrukturen, die von den Funktionen scds_get_Name() zurückgegeben werden. Die Funktionen scds_free_Name() geben den Speicherplatz frei, der von den Funktionen scds_get_Name() zugewiesen wurde.
Zu den Funktionen, die Hostnamen verarbeiten, gehören:
scds_get_rg_hostnames(3HA) – ruft eine Liste der Hostnamen auf, die von den Netzwerkressourcen in einer Ressourcengruppe verwendet werden.
scds_get_rs_hostnames(3HA) – ruft eine Liste der Hostnamen auf, die von der Ressourcen verwendet werden.
scds_print_net_list(3HA) – druckt den Inhalt der Hostnamenliste, die von scds_get_rg_hostnames() oder scds_get_rs_hostnames() ausgegeben wird.
scds_free_net_list(3HA) – gibt den durch scds_get_rg_hostnames() oder scds_get_rs_hostnames () zugeordneten Speicher frei.
Zu den Funktionen, die Port-Listen verarbeiten, gehören:
scds_get_port_list(3HA) – ruft eine Liste der Port-Protokoll-Paare auf, die von einer Ressource verwendet werden.
scds_print_port_list(3HA) – druckt den Ihnalt der Liste der Port-Protokoll-Paare, die von scds_get_port_list () ausgegeben wird.
scds_free_port_list(3HA) – gibt den durchscds_get_port_list() zugeordneten Speicher frei.
Zu den Funktionen, die Netzwerkadressen verarbeiten, gehören:
scds_get_netaddr_list(3HA) – ruft eine Liste der Netzwerkadressen ab, die von einer Ressource verwendet werden.
scds_print_netaddr_list(3HA) – druckt den Inhalt der Liste der Netzwerkadressen, die von scds_get_netaddr_list ausgegeben wird.
scds_free_netaddr_list(3HA) – gibt den durch scds_get_netaddr_list zugeordneten Speicher frei.
Die Funktionen in diesem Abschnitt aktivieren die TCP-basierte Überwachung. In der Regel verwendet ein Fehler-Monitor diese Funktionen, um eine einfache Socketverbindung mit einem Dienst herzustellen, Daten bezüglich des Dienstes zu lesen und zu schreiben, um dessen Status festzustellen, sowie die Verbindung mit dem Dienst zu trennen.
scds_fm_tcp_connect(3HA) – stellt eine TCP-Verbindung zu einem Prozess her, der nur die IPv4-Adressierung verwendet.
scds_fm_net_connect(3HA) – stellt eine TCP-Verbindung zu einem Prozess her, der die IPv4- oder 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 von Daten in einen überwachten Prozess.
scds_simple_probe(3HA) – testet einen Prozess durch Herstellen und Beenden einer TCP-Verbindung zu diesem Prozess. Diese Funktion verarbeitet nur IPv4-Adressen.
scds_simple_net_probe(3HA) – testet einen Prozess durch Herstellen und Beenden einer TCP-Verbindung zu diesem Prozess. Diese Funktion verarbeitet IPv4- und IPv6-Adressen.
scds_fm_tcp_disconnect(3HA) – beendet die Verbindung zu einem überwachten Prozess, der die IPv4-Adressierung verwendet.
scds_fm_net_disconnect(3HA) – beendet die Verbindung zu einem überwachten Prozess, der die IPv4- oder IPv6-Adressierung verwendet.
Diese Funktionen kapseln die PMF-Funktionalität ein. Das DSDL-Modell für die Überwachung über PMF erstellt und verwendet implizite tag-Werte für pmfadm(1M). PMF verwendet auch implizite Werte für Restart_interval, Retry_count und action_script (die Optionen -t, -n und -a für pmfadm). Am wichtigsten ist, dass die DSDL die Prozessausfallhistorie, die PMF feststellt, in die Anwendungsfehlerhistorie einbindet, die der Fehler-Monitor feststellt. So wird die Entscheidung über Neustart oder Failover getroffen.
scds_pmf_get_status(3HA) – ermittelt, ob die angegebene Instanz unter PMF-Steuerung überwacht wird.
scds_pmf_restart_fm(3HA) – startet den Fehler-Monitor unter Verwendung von PMF neu.
scds_pmf_signal(3HA) – sendet das angegebene Signal an einen Prozessbaum, der unter PMF-Steuerung ausgeführt wird.
scds_pmf_start(3HA) – führt ein festgelegtes Programm (einschließlich eines Fehler-Monitors) unter PMF-Steuerung aus.
scds_pmf_stop( 3HA) – beendet einen Prozess, der unter PMF-Steuerung ausgeführt wird.
scds_pmf_stop_monitoring(3HA) – stoppt die Überwachung eines Prozesses, der unter PMF-Steuerung ausgeführt wird.
Die Funktionen in diesem Abschnitt stellen ein voreingestelltes Fehlerüberwachungsmodell bereit. Dabei wird die Fehlerhistorie festgehalten und zusammen mit den Eigenschaften Retry_count und Retry_interval ausgewertet.
Diese Funktionen umfassen:
scds_fm_sleep( 3HA) – wartet auf eine Nachricht an einem Steuerungs-Socket des Fehler-Monitors.
scds_fm_action(3HA) – startet bestimmte Aktionen nach Abschluss eines Testvorgangs.
scds_fm_print_probes(3HA) – schreibt die Teststatusinformationen in das Systemprotokoll.
Mit den Funktionen in diesem Abschnitt können Meldungen und Fehlerbehebungsmeldungen ins Systemprotokoll geschrieben werden. Diese Funktionen umfassen:
scds_syslog( 3HA) – schreibt Meldungen in das Systemprotokoll.
scds_syslog_debug(3HA) – schreibt eine Debugging-Meldung in das Systemprotokoll.