Ce chapitre répertorie et décrit brièvement les fonctions API de la bibliothèque de développement de service de données (BDSD). Reportez-vous aux pages de manuel 3HA pour obtenir la description complète de chaque fonction BDSD. La BDSD définit uniquement une interface C. Il n'existe pas d'interface BDSD scriptable.
La BDSD intègre des fonctions dans les catégories suivantes :
Les rubriques suivantes présentent brièvement chaque catégorie de fonctions BDSD. Veuillez noter cependant que les pages de manuel 3HA représentent la principale référence en ce qui concerne les fonctions BDSD.
Les fonctions décrites dans cette rubrique couvrent de nombreuses fonctionnalités vous permettant de réaliser les tâches suivantes :
initialiser l'environnement BDSD ;
récupérer les noms de ressource, type de ressources et groupe de ressources, ainsi que les valeurs de propriété d'extension ;
basculer et redémarrer un groupe de ressources et redémarrer une ressource ;
convertir des chaînes d'erreur en message d'erreur ;
exécuter une commande sans dépasser le délai d'attente.
Les fonctions suivantes initialisent la méthode d'appel :
scds_initialize : alloue des ressources et initialise l'environnement BDSD.
scds_close : libère les ressources allouées par la fonction scds_initialize.
Les fonctions suivantes récupèrent les données sur les ressources, les types de ressources, les groupes de ressources et les propriétés d'extension :
scds_get_resource_name : récupère le nom de la ressource du programme d'appel.
scds_get_resource_type_name : récupère le nom du type de ressources du programme d'appel.
scds_get_resource_group_name : récupère le nom du groupe de ressources du programme d'appel.
scds_get_ext_property : récupère la valeur de la propriété d'extension spécifiée.
scds_free_ext_property : libère la mémoire allouée par la fonction scds_get_ext_property.
La fonction suivante récupère les informations relatives à l'état des ressources SUNW.HAStoragePlus utilisées par une ressource.
scds_hasp_check : récupère les informations relatives à l'état des ressources SUNW.HAStoragePlus utilisées par une ressource. Vous obtiendrez cette information à partir de l'état (en ligne ou autre) de toutes les ressources SUNW.HAStoragePlus dont la ressource dépend au moyen des propriétés du système Dépendances_ressource ou Dépendances_ressource_faibles définies pour cette ressource.
Reportez-vous à SUNW.HAStoragePlus(5) pour de plus amples informations sur SUNW.HAStoragePlus.
Les fonctions suivantes basculent ou redémarrent une ressource ou un groupe de ressources :
scds_failover_rg : bascule un groupe de ressources.
scds_restart_rg : redémarre un groupe de ressources.
scds_restart_resource : redémarre une ressource.
Les deux fonctions suivantes exécutent une commande dans un délai imparti et convertissent un code d'erreur en message d'erreur :
scds_timerun : exécute une commande sans dépasser un délai.
scds_error_string : traduit le code d'erreur en chaîne de caractères constituant un message d'erreur.
Ces fonctions fournissent des API de convenance pour accéder aux propriétés spécifiques d'une ressource, d'un type de ressources ou d'un groupe de ressources approprié, y compris à quelques propriétés d'extension fréquemment utilisées. La BDSD propose la fonction scds_initialize pour analyser les arguments de la ligne de commande, puis elle met en cache les diverses propriétés de la ressource, du groupe de ressources ou du type de ressources approprié.
Toutes ces fonctions sont décrites sur une page de manuel unique, scds_property_functions(3HA). Cette rubrique présente les fonctions suivantes :
scds_get_rs_nom_propriété ;
scds_get_rg_nom_propriété ;
scds_get_rt_nom_propriété ;
scds_get_ext_nom_propriété.
Les fonctions répertoriées dans cette rubrique récupèrent, impriment et libèrent les ressources réseau que les ressources et les groupes de ressources utilisent. Les fonctions scds_get_* décrites dans cette rubrique permettent de récupérer facilement les ressources réseau sans recourir à des propriétés spécifiques, telles que Ressources_réseau_utilisées et Liste_ports, au moyen des fonctions API GR. Les fonctions scds_print_nom() impriment les valeurs des structures de données retournées par les fonctions scds_get_ nom(). Les fonctions scds_free_ nom() libèrent la mémoire allouée par les fonctions scds_get_nom().
Les fonctions suivantes sont en rapport avec les noms d'hôte :
scds_get_rg_hostnames : récupère une liste de noms d'hôte utilisés par les ressources réseau au sein d'un groupe de ressources.
scds_get_rs_hostnames : récupère une liste de noms d'hôte utilisés par la ressource.
scds_print_net_list : imprime le contenu de la liste des noms d'hôte retournée par la fonction scds_get_rg_hostnames ou scds_get_rs_hostnames.
scds_free_net_list : libère la mémoire allouée par les fonctions scds_get_rg_hostnames ou scds_get_rs_hostnames.
Les fonctions suivantes sont en rapport avec les listes de ports :
scds_get_port_list : récupère une liste de paires port/protocole utilisées par une ressource.
scds_print_port_list : imprime le contenu de la liste de paires port/protocole retournée par la fonction scds_get_port_list.
scds_free_port_list : libère la mémoire allouée par la fonction scds_get_port_list.
Les fonctions suivantes sont en rapport avec les adresses réseau :
scds_get_netaddr_list : récupère une liste d'adresses réseau utilisées par une ressource.
scds_print_netaddr_list : imprime le contenu de la liste d'adresses réseau retournée par la fonction scds_get_netaddr_list.
scds_free_netaddr_list : libère la mémoire allouée par la fonction scds_get_netaddr_list.
Les fonctions présentées dans cette rubrique activent la détection TCP. En règle générale, le système de détection des pannes utilise ces fonctions pour établir une connexion de prise unique à un service, lire et écrire des données relatives au service pour vérifier son état, puis se déconnecter du service.
Cette rubrique présente les fonctions suivantes :
scds_tcp_connect : ouvre une connexion TCP sur un processus.
scds_tcp_read : utilise une connexion TCP pour lire les données depuis un processus sous surveillance.
scds_tcp_write : utilise une connexion TCP pour écrire des données dans un processus sous surveillance.
scds_simple_probe : détecte un processus en ouvrant et fermant une connexion TCP sur ce processus.
scds_tcp_disconnect : ferme la connexion à un processus sous surveillance.
Ces fonctions encapsulent les fonctionnalités PMF. Le modèle BDSD de surveillance par le biais de la fonction PMF crée et utilise des valeurs balise implicites pour pmfadm(1M). La fonction PMF utilise également des valeurs implicites pour Intervalle_redémarrage, nombre_nouvelles_tentatives et script_action (les options -t, -n et -a de pmfadm). Ce qu'il faut surtout retenir, c'est que la BDSD lie l'historique des pannes de processus (détectées par la fonction PMF) à l'historique des pannes de l'application (détectées par le système de détection des pannes) pour choisir entre le redémarrage et le basculement.
Cette rubrique présente les fonctions suivantes :
scds_pmf_get_status : détermine si l'instance spécifiée est surveillée par la fonction PMF.
scds_pmf_restart_fm : redémarre le système de détection des pannes à l'aide de la fonction PMF.
scds_pmf_signal : envoie le signal spécifié à une arborescence de processus fonctionnant sous le contrôle de la fonction PMF.
scds_pmf_start : exécute un programme spécifié (y compris un système de détection des pannes) sous le contrôle de la fonction PMF.
scds_pmf_stop: ferme un processus fonctionnant sous le contrôle de la fonction PMF.
scds_stop_monitoring : arrête la surveillance d'un processus fonctionnant sous le contrôle de la fonction PMF.
Les fonctions présentées dans cette rubrique proposent un modèle prédéterminé de détection des pannes en conservant l'historique des erreurs et en les évaluant avec les propriétés Nombre_nouvelles_tentatives et Intervalle_nouvelles_tentatives.
Cette rubrique présente les fonctions suivantes :
scds_fm_sleep : attend un message du socket de contrôle du système de détection des pannes.
scds_fm_action : effectue une action une fois la détection terminée.
scds_fm_print_probes : complète le journal système avec les informations sur l'état de la détection.
Les fonctions présentées dans cette rubrique vous permettent d'écrire des messages et des messages de débogage dans le journal système. Cette rubrique présente les deux fonctions suivantes :
scds_syslog : écrit des messages dans le journal système.
scds_syslog_debug : écrit des messages de débogage dans le message système.