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

Méthodes d'accès de l'interface APIGR

L'API fournit des fonctions d'accès aux propriétés des ressources, des groupes et des types de ressources, ainsi qu'à d'autres informations sur le cluster, sous la forme de commandes shell et de fonctions C, qui vous permettent de mettre en œuvre des programmes de contrôle en tant que scripts shell ou programmes C.

Commandes shell de l'interface APIGR

Les commandes shell s'utilisent dans les mises en œuvre par scripts shell des méthodes de rappel des types de ressource qui représentent des services contrôlés par le gestionnaire RGM du cluster. Elles permettent d'effectuer les tâches suivantes :


Remarque –

cette rubrique ne fournit que de brèves descriptions des commandes shell ; la référence faisant foi en matière de commandes shell se trouve dans les pages de manuel 1HA. Sauf indication contraire, chaque commande est associée à une page de manuel du même nom.


Commandes APIGR relatives aux ressources

Les commandes ci-dessous vous permettent d'accéder aux informations sur une ressource ou d'en définir les propriétés Status et Status_msg.

scha_resource_get

Donne accès aux informations sur une ressource ou un type de ressource contrôlé par le RGM. Cette commande renvoie les mêmes données que la fonction C scha_resource_get(). Pour obtenir plus d'informations, reportez-vous à la page de manuel scha_resource_get(1HA).

scha_resource_setstatus

Définit les propriétés Status et Status_msg d'une ressource contrôlée par le RGM. C'est la commande que le détecteur de la ressource utilise pour indiquer l'état de cette dernière. Elle remplit les mêmes fonctions que scha_resource_setstatus(). Pour plus d'informations sur cette commande, reportez-vous à la page de manuel scha_resource_setstatus(1HA).


Remarque –

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


Commande relative aux types de ressources

scha_resourcetype_get

Donne accès à des informations sur un type de ressource enregistré dans le RGM. Cette commande fournit la même fonctionnalité que la fonction C scha_resourcetype_get (). Elle est décrite plus en détail dans la page de manuel scha_resourcetype_get(1HA).

Commandes relatives aux groupes de ressources

Les commandes ci-dessous vous donnent accès aux informations sur un groupe de ressources ou vous permettent de redémarrer un groupe de ressources.

scha_resourcegroup_get

Présente des informations sur un groupe de ressources contrôlé par le RGM. Cette commande fournit la même fonctionnalité que la fonction C scha_resourcetype_get (). Pour plus d'informations sur cette commande, reportez-vous à la page de manuel scha_resourcegroup_get(1HA).

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 commande est équivalente à la fonction C scha_control(). Elle est décrite plus en détail dans la page de manuel scha_control(1HA).

Commande du cluster

scha_cluster_get

Fournit des informations sur un cluster : nom du cluster, noms des noeuds, ID, états et groupes de ressources. Cette commande renvoie les mêmes données que la fonction C scha_cluster_get(). Elle est décrite plus en détail dans la page de manuel scha_cluster_get(1HA).

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).