Guide du développeur de services de données Sun Cluster pour SE Solaris

Fonctions C

Les fonctions C sont utilisées pour mettre en œuvre, à l'aide de programmes en langage C, les méthodes de rappel des types de ressources qui représentent les services contrôlés par le RGM du cluster. Elles permettent d'effectuer les tâches suivantes :


Remarque –

cette rubrique ne fournit que de brèves descriptions des fonctions C ; la référence faisant foi en matière de fonctions C se trouve dans les pages de manuel 3HA. Sauf indication contraire, chaque fonction est associée à une page de manuel du même nom. Pour obtenir plus d'informations sur les arguments de sortie et les codes de retour des fonctions C, reportez-vous à la page de manuel scha_calls(3HA).


Fonctions relatives aux ressources

Les fonctions ci-dessous renvoient des informations sur une ressource gérée par le gestionnaire RGM ou présentent son état selon son détecteur.

scha_resource_open(), scha_resource_get () et scha_resource_close()

Ces fonctions fournissent des informations sur une ressource gérée par le RGM. scha_resource_open() initialise l'accès à la ressource et renvoie un identificateur destiné à la fonction scha_resource_get(), qui accède aux informations sur la ressource. scha_resource_close() annule la validité de l'identificateur et libère la mémoire affectée aux valeurs de retour de scha_resource_get ().

Une ressource peut être modifiée (à la suite d'une reconfiguration du cluster ou d'une action administrative) après le renvoi de son identificateur par la fonction scha_resource_open(). Dans ce cas, scha_resource_get() risque d'obtenir des informations inexactes. Si un cluster a été reconfiguré ou qu'une action administrative a été effectuée sur une ressource, le RGM renvoie le code d'erreur scha_err_seqid à scha_resource_get() pour indiquer que les informations sur la ressource ont peut-être changé. Ce message ne constitue pas une erreur fatale : il ne bloque pas la fonction. Vous pouvez ignorer le message et accepter les informations renvoyées. Vous pouvez également fermer l'identificateur actuel et ouvrir un nouvel identificateur pour accéder aux informations sur la ressource.

Ces trois fonctions sont décrites dans une même page de manuel, accessible à l'aide de la fonction scha_resource_open(3HA), scha_resource_get(3HA) ou scha_resource_close(3HA).

scha_resource_setstatus()

Définit les propriétés Status et Status_msg d'une ressource contrôlée par le RGM. Le détecteur de la ressource utilise cette fonction pour indiquer l'état de celle-ci.


Remarque –

bien que scha_resource_setstatus() soit d'un intérêt propre aux détecteurs de ressources, tout programme peut l'appeler.


Fonctions relatives au type de ressources

Les fonctions suivantes fournissent des informations sur un type de ressources enregistré dans le gestionnaire RGM.

scha_resourcetype_open(), scha_resourcetype_get () et scha_resourcetype_close()

La fonction scha_resourcetype_open() initialise l'accès à une ressource et renvoie un identificateur destiné à la fonction scha_resourcetype_get(), qui accède aux informations sur le type de ressources. scha_resourcetype_close() annule la validité de l'identificateur et libère la mémoire affectée aux valeurs de retour de scha_resourcetype_get ().

Un type de ressource peut être modifié (à la suite d'une reconfiguration du cluster ou d'une action administrative) après le renvoi de son identificateur par la fonction scha_resourcetype_open(). Dans ce cas, scha_resourcetype_get() risque d'obtenir des informations inexactes. Si un cluster a été reconfiguré ou qu'une action administrative a été effectuée sur un type de ressource, le RGM renvoie le code d'erreur scha_err_seqid à scha_resourcetype_get() pour indiquer que les informations sur le type de ressource ont peut-être changé. Ce message ne constitue pas une erreur fatale : il ne bloque pas la fonction. Vous pouvez ignorer le message et accepter les informations renvoyées. Vous pouvez également fermer l'identificateur actuel et en ouvrir un autre pour accéder aux informations sur le type de ressource.

Ces trois fonctions sont décrites dans une même page de manuel, accessible à l'aide de la fonction scha_resourcetype_open(3HA), scha_resourcetype_get(3HA) ou scha_resourcetype_close(3HA).

Fonctions relatives au groupe de ressources

Les fonctions suivantes vous donnent accès aux informations sur un groupe de ressources ou vous permettent de redémarrer un groupe de ressources.

scha_resourcegroup_open(), scha_resourcegroup_get () et scha_resourcegroup_close()

Ces fonctions présentent des informations sur un groupe de ressources contrôlé par le RGM. La fonction scha_resourcegroup_open() initialise l'accès au groupe de ressources et renvoie un identificateur destiné à la fonction scha_resourcegroup_get (), qui accède aux informations sur le groupe de ressources. scha_resourcegroup_close() annule la validité de l'identificateur et libère la mémoire affectée aux valeurs de retour de scha_resourcegroup_get().

Un groupe de ressources peut être modifié (à la suite d'une reconfiguration du cluster ou d'une action administrative) après le renvoi de son identificateur par la fonction scha_resourcegroup_open(). Dans ce cas, scha_resourcegroup_get() risque d'obtenir des informations inexactes. Si un cluster a été reconfiguré ou qu'une action administrative a été effectuée sur un groupe de ressources, le RGM renvoie le code d'erreur scha_err_seqid à scha_resourcegroup_get() pour indiquer que les informations sur le groupe de ressources ont peut-être changé. Ce message ne constitue pas une erreur fatale : il ne bloque pas la fonction. Vous pouvez ignorer le message et accepter les informations renvoyées. Vous pouvez également fermer l'identificateur actuel et en ouvrir un autre pour accéder aux informations sur le groupe de ressources.

Ces trois fonctions sont décrites dans une même page de manuel, accessible à l'aide de la fonction scha_resourcegroup_open(3HA), scha_resourcegroup_get(3HA) ou scha_resourcegroup_close(3HA).

scha_control()

Demande le redémarrage d'un groupe de ressources contrôlé par le RGM ou son déplacement vers un autre nœud. Cette fonction est décrite plus en détail dans la page de manuel scha_control(3HA).

Fonctions du cluster

Les fonctions ci-dessous fournissent des informations sur un cluster.

scha_cluster_open(), scha_cluster_get () et scha_cluster_close()

Ces fonctions fournissent des informations sur un cluster : nom du cluster, noms des noeuds, ID, états et groupes de ressources.

Un cluster peut être modifié (lors d'une reconfiguration ou d'une action administrative) après le renvoi de son identificateur par la fonction scha_cluster_open(). Dans ce cas, scha_cluster_get() risque d'obtenir des informations erronées. Si un cluster a été reconfiguré ou a subi une action administrative, le RGM renvoie le code d'erreur scha_err_seqid à scha_cluster_get()pour indiquer que les informations sur le cluster ont peut-être changé. Ce message ne constitue pas une erreur fatale : il ne bloque pas la fonction. Vous pouvez ignorer le message et accepter les informations renvoyées. Vous pouvez également fermer l'identificateur actuel et en ouvrir un autre pour accéder aux informations sur le cluster.

Ces trois fonctions sont décrites dans une même page de manuel, accessible à l'aide de la fonction scha_cluster_open(3HA), scha_cluster_get(3HA) ou scha_cluster_close(3HA).

scha_cluster_getlogfacility()

Renvoie le numéro de l'utilitaire de journalisation système utilisé comme journal du cluster. Cette fonction utilise la valeur renvoyée, avec la fonction syslog() de Solaris, pour enregistrer les événements et les messages de statut dans le journal du cluster. Elle est décrite plus en détail dans la page de manuel scha_cluster_getlogfacility(3HA).

scha_cluster_getnodename()

Renvoie le nom du noeud du cluster sur lequel est appelée la fonction. Cette fonction est décrite plus en détail dans la page de manuel scha_cluster_getnodename(3HA).

Fonction de l'utilitaire

Cette fonction convertit les codes d'erreur en messages d'erreur équivalents.

scha_strerror()

Convertit un code d'erreur renvoyé par l'une des fonctions scha_ en un message d'erreur. Vous pouvez associer cette fonction à la commande logger afin d'enregistrer les messages dans le journal système de Solaris (syslog). Cette fonction est décrite plus en détail dans la page de manuel scha_strerror(3HA).