Ce chapitre répertorie et décrit brièvement les fonctions API de la bibliothèque de développement de service de données (DSDL). Reportez-vous aux pages man 3HA pour obtenir la description complète de chaque fonction DSDL. La bibliothèque DSDL fournit uniquement une interface C. Aucune interface de bibliothèque DSDL basée sur des scripts n'est disponible.
Ce chapitre contient les rubriques suivantes :
Les fonctions de cette section fournissent un large éventail de possibilités. Elles vous permettent d'effectuer les opérations suivantes :
initialiser l'environnement DSDL ;
récupérer les noms des ressources, des types et des groupes de ressources, ainsi que les valeurs des propriétés 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 ci-dessous permettent d'initialiser la méthode d'appel :
scds_initialize(3HA): affecte des ressources et initialise l'environnement DSDL.
scds_close(3HA) : libère les ressources affectées par la fonction scds_initialize().
Les fonctions suivantes récupèrent les informations concernant les types de ressources, les ressources, les groupes de ressources et les propriétés d'extension :
scds_get_resource_type_name(3HA) : récupère le nom du type de ressource pour le programme d'appel.
scds_get_resource_name(3HA) : récupère le nom de la ressource pour le programme d'appel.
scds_get_resource_group_name(3HA) : récupère le nom du groupe de ressources pour le programme d'appel.
scds_get_ext_property(3HA) : récupère la valeur de la propriété d'extension spécifiée.
scds_free_ext_property(3HA) : libère la mémoire allouée par la fonction scds_get_ext_property().
La fonction suivante permet de récupérer les informations relatives à l'état des ressources SUNW.HAStoragePlus utilisées par une ressource :
scds_hasp_check(3HA) : 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 système Resource_dependencies ou Resource_dependencies_weak définies pour cette ressource. Pour plus d'informations, consultez les pages de manuel SUNW.HAStoragePlus(5).
Les fonctions suivantes permettent de basculer ou de redémarrer une ressource ou un groupe de ressources :
scds_failover_rg(3HA) : bascule un groupe de ressources.
scds_restart_rg(3HA) : redémarre un groupe de ressources.
scds_restart_resource(3HA) : 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(3HA) : exécute une commande dans un délai d'attente imparti.
scds_error_string(3HA) : convertit un 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 du type de ressource, de la ressource et du groupe de ressources appropriés, y compris à quelques propriétés d'extension couramment utilisées. La bibliothèque DSDL fournit la fonction scds_initialize(), qui permet d'analyser les arguments de la ligne de commande. Elle met en cache les diverses propriétés du type de ressource, de la ressource et du groupe de ressources appropriés.
La page de manuel scds_property_functions(3HA) décrit ces fonctions, parmi lesquelles :
scds_get_rt_property-name
scds_get_rs_property-name
scds_get_rg_property-name
scds_get_ext_property-name
Les fonctions répertoriées dans cette section permettent de récupérer, d'imprimer et de libérer les ressources réseau utilisées par les ressources et les groupes de ressources. Les fonctions scds_get_ de cette section permettent de récupérer facilement des ressources réseau sans avoir à utiliser les fonctions APIGR pour interroger des propriétés spécifiques, telles que Network_resources_used et Port_list. Les fonctions scds_print_name() impriment des valeurs à partir des structures de données qui sont renvoyées par les fonctions scds_get_name (). Les fonctions scds_free_name () libèrent la mémoire allouée par les fonctions scds_get_ name().
Les fonctions suivantes gèrent les noms d'hôtes :
scds_get_rs_hostnames(3HA) : récupère une liste de noms d'hôtes utilisés par la ressource.
scds_get_rg_hostnames(3HA) : récupère une liste de noms d'hôtes utilisés par les ressources réseau dans un groupe de ressources.
scds_print_net_list(3HA) : imprime le contenu de la liste de noms d'hôtes renvoyée par scds_get_rs_hostnames () ou scds_get_rg_hostnames().
scds_free_net_list(3HA) : libère la mémoire allouée par scds_get_rs_hostnames() ou scds_get_rg_hostnames().
Les fonctions suivantes gèrent les listes de ports :
scds_get_port_list(3HA) : récupère une liste des paires port/protocole utilisées par une ressource.
scds_print_port_list(3HA) : imprime le contenu de la liste de paires port/protocole renvoyée par la fonction scds_get_port_list().
scds_free_port_list(3HA) : libère la mémoire allouée par la fonction scds_get_port_list().
Les fonctions suivantes gèrent les adresses réseau :
scds_get_netaddr_list(3HA) : récupère une liste d'adresses réseau utilisées par une ressource.
scds_print_netaddr_list(3HA) : imprime le contenu de la liste d'adresses réseau renvoyée par la fonction scds_get_netaddr_list().
scds_free_netaddr_list(3HA) : libère la mémoire allouée par la fonction scds_get_netaddr_list().
Les fonctions de cette section permettent un contrôle TCP. En règle générale, un détecteur de pannes utilise ces fonctions pour établir une connexion de prise unique à un service, pour lire et pour écrire des données relatives au service afin de déterminer son état, puis se déconnecter du service.
Ces fonctions incluent :
scds_fm_tcp_connect(3HA) : établit une connexion TCP à un processus qui utilise uniquement l'adressage IPv4.
scds_fm_net_connect(3HA) : établit une connexion TCP à un processus qui utilise l'adressage IPv4 ou IPv6.
scds_fm_tcp_read(3HA) : utilise une connexion TCP pour lire des données à partir du processus contrôlé.
scds_fm_tcp_write(3HA) : utilise une connexion TCP pour écrire des données dans un processus contrôlé.
scds_simple_probe(3HA) : détecte un processus en établissant et en mettant fin à une connexion TCP sur ce processus. Cette fonction gère uniquement les adresses IPv4.
scds_simple_net_probe(3HA) : détecte un processus en établissant et en mettant fin à une connexion TCP sur ce processus. Cette fonction gère les adresses IPv4 et IPv6.
scds_fm_tcp_disconnect(3HA) : met fin à la connexion sur un processus contrôlé. Cette fonction gère uniquement les adresses IPv4.
scds_fm_net_disconnect(3HA) : met fin à la connexion sur un processus contrôlé. Cette fonction gère les adresses IPv4 et IPv6.
Ces fonctions encapsulent la fonctionnalité PMF. Le modèle DSDL de contrôle utilisant la fonction PMF crée et utilise des valeurs implicites tag pour pmfadm. Reportez-vous à la rubrique pmfadm(1M) pour obtenir de plus amples informations.
La fonction PMF utilise également des valeurs implicites pour Restart_interval , Retry_count et action_script (les options - t, -n et -a de pmfadm). Ce qu'il faut retenir, c'est que la bibliothèque DSDL lie l'historique des pannes de processus (détectées par la fonction PMF) à celui des pannes de l'application (repérées par le détecteur de pannes) avant de choisir entre le redémarrage et le basculement.
Cette section présente les fonctions suivantes :
scds_pmf_get_status(3HA) : détermine si l'instance spécifiée est contrôlée par la fonction PMF.
scds_pmf_restart_fm(3HA) : utilise la fonction PMF pour redémarrer le détecteur de pannes.
scds_pmf_signal(3HA) : envoie le signal spécifié à une arborescence de processus contrôlée par la fonction PMF.
scds_pmf_start(3HA) : exécute un programme spécifié (y compris un détecteur de pannes) sous le contrôle de la fonction PMF.
scds_pmf_stop(3HA) : met fin à un processus fonctionnant sous le contrôle de la fonction PMF.
scds_pmf_stop_monitoring(3HA) : arrête la fonction de surveillance d'un processus contrôlé par la fonction PMF.
Les fonctions présentées dans cette section 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 Retry_count et Retry_interval.
Cette section présente les fonctions suivantes :
scds_fm_sleep(3HA) : attend un message du socket de contrôle du détecteur de pannes.
scds_fm_action(3HA) : effectue une action une fois la détection terminée.
scds_fm_print_probes(3HA) : complète le journal système avec les informations sur l'état de la détection.
Les fonctions suivantes vous permettent d'écrire des messages et des messages de débogage dans le journal système :
scds_syslog(3HA) : écrit des messages dans le journal système.
scds_syslog_debug(3HA) : écrit des messages de débogage dans le journal système.