Les rubriques suivantes présentent brièvement chaque catégorie de fonctions BDSD. Veuillez noter cependant que les pages man 3HA représentent la principale référence sur les fonctions BDSD.
Les fonctions décrites dans cette rubrique couvrent de nombreuses fonctionnalités Elles vous permettent d'effectuer les opérations 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 ci-dessous permettent d'initialiser la méthode d'appel :
scds_initialize(3HA) – alloue les ressources et initialise l'environnement BDSD.
scds_close( 3HA) – libère les ressources allouées par 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(3HA) – récupère le nom de la ressource du programme d'appel.
scds_get_resource_type_name(3HA) – récupère le nom du type de ressource du programme d'appel.
scds_get_resource_group_name(3HA) – récupère le nom du groupe de ressources du programme d'appel.
scds_get_ext_property(3HA) – récupère la valeur de la propriété d'extension indiquée.
scds_free_ext_property(3HA) – libère la mémoire allouée par 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(5) utilisées par une ressource. Ces informations sont obtenues à partir de l'état (en ligne ou autre) de toutes les ressources SUNW.HAStoragePlus dont dépend la ressource, à l'aide des propriétés système Resource_dependencies ou Resource_dependencies_weak définies pour cette ressource.
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 imparti.
scds_error_string(3HA) – convertit un code d'erreur en chaîne 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 mémoire cache les diverses propriétés de la ressource, du groupe de ressources ou du type de ressources approprié.
scds_property_functions(3HA) décrit ces fonctions. En voici la liste :
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().
Fonctions gérant les noms d'hôte :
scds_get_rg_hostnames(3HA) – récupère la liste des noms d'hôte utilisés par les ressources réseau d'un groupe de ressources.
scds_get_rs_hostnames(3HA) – récupère la liste des noms d'hôte utilisés par la ressource.
scds_print_net_list(3HA) – imprime le contenu de la liste de noms d'hôte renvoyée par scds_get_rg_hostnames() ou scds_get_rs_hostnames().
scds_free_net_list(3HA) – libère la mémoire allouée par scds_get_rg_hostnames() ou scds_get_rs_hostnames ().
Fonctions gérant les listes de ports :
scds_get_port_list(3HA) – récupère la 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 scds_get_port_list ().
scds_free_port_list(3HA) – libère la mémoire allouée par scds_get_port_list().
Fonctions gérant les adresses réseau :
scds_get_netaddr_list(3HA) – récupère la liste des 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 scds_get_netaddr_list .
scds_free_netaddr_list(3HA) – libère la mémoire allouée par 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.
scds_fm_tcp_connect(3HA) – établit une connexion TCP à un processus utilisant uniquement l'adressage IPv4.
scds_fm_net_connect(3HA) – établit une connexion TCP à un processus utilisant l'adressage IPv4 ou IPv6.
scds_fm_tcp_read(3HA) – utilise une connexion TCP pour lire les données du processus qui fait l'objet d'un contrôle.
scds_fm_tcp_write(3HA) – utilise une connexion TCP pour écrire des données dans un processus qui fait l'objet d'un contrôle.
scds_simple_probe(3HA) – sonde un processus en établissant, puis en arrêtant une connexion TCP à ce processus. Cette fonction gère uniquement les adresses IPv4.
scds_simple_net_probe(3HA) – sonde un processus en établissant, puis en arrêtant une connexion TCP au processus. Cette fonction gère les adresses IPv4 et IPv6.
scds_fm_tcp_disconnect(3HA) – termine la connexion à un processus utilisant l'adressage IPv4 et faisant l'objet d'un contrôle.
scds_fm_net_disconnect(3HA) – termine la connexion à un processus utilisant l'adressage IPv4 ou IPv6 et faisant l'objet d'un contrôle.
Ces fonctions encapsulent la fonctionnalité PMF. Le modèle BDSD de détection 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.
scds_pmf_get_status(3HA) – détermine si l'instance indiquée est contrôlée avec PMF.
scds_pmf_restart_fm(3HA) – redémarre le détecteur de pannes à l'aide de la fonction PMF.
scds_pmf_signal(3HA) – envoie le signal indiqué vers une arborescence de processus exécutée lors du contrôle PMF.
scds_pmf_start(3HA) – exécute un programme déterminé (y compris le détecteur de pannes) avec le contrôle PMF.
scds_pmf_stop( 3HA) – termine un processus exécuté sous le contrôle de PMF.
scds_pmf_stop_monitoring(3HA) – arrête le contrôle d'un processus exécuté sous le contrôle de 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.
En voici la liste :
scds_fm_sleep( 3HA) – attend un message sur un socket de contrôle de détecteur de pannes.
scds_fm_action(3HA) – intervient à l'issue de l'analyse.
scds_fm_print_probes(3HA) – écrit les informations relatives à l'état de l'analyse dans le journal système.
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. En voici la liste :
scds_syslog( 3HA) – écrit des messages dans le journal système.
scds_syslog_debug(3HA) – écrit un message de débogage dans le journal système.