Guide des développeurs pour les services de données Sun Cluster 3.1 10/03

Vérification de la configuration

Pour fonctionner, le DNS a besoin des informations du fichier named.conf situé dans le répertoire de configuration. C'est la raison pour laquelle la méthode de Démarrage effectue des contrôles d'intégrité afin de s'assurer que le répertoire et le fichier sont accessibles avant de tenter de lancer le DNS.

La propriété d'extension Rép_conf fournit le chemin pointant vers le répertoire de configuration. La propriété elle-même est définie dans le fichier RTR. Toutefois, l'administrateur du cluster spécifie l'emplacement exact lors de la configuration du service de données.

Dans le service de données modèle, la méthode de Démarrage récupère l'emplacement du répertoire de configuration à l'aide de la fonction scha_resource_get().


Remarque :

rép_conf étant une propriété d'extension, scha_resource_get() renvoie à la fois le type et la valeur. La commande awk récupère simplement la valeur et la place dans une variable de shell, RÉP_CONFIG.



# trouver la valeur de Rép_dir définie par l'administrateur du cluster au moment de
# l'ajout de la ressource.
config_info=`scha_resource_get -O Extension -R $RESOURCE_NAME \
-G $RESOURCEGROUP_NAME Confdir`

# scha_resource_get renvoie le "type" et la "valeur" des
# propriétés d'extension. Obtention uniquement de la valeur de la propriété d'extension.
RÉP_CONFIG=`echo $config_info | awk '{print $2}'`

La méthode de Démarrage utilise alors la valeur de RÉP_CONFIG pour vérifier si le répertoire est accessible. Si ce n'est pas le cas, Démarrage consigne un message d'erreur et se ferme en affichant un état d'échec. Reportez-vous à la rubrique État de Démarrage à la fermeture.


# Vérifier si $CONFIG_DIR est accessible.
if [ ! -d $CONFIG_DIR ]; then
   logger -p ${SYSLOG_FACILITY}.err \
         -t [$SYSLOG_TAG] \
         "${ARGV0} Directory $CONFIG_DIR is missing or not mounted"
   exit 1
fi

Avant de démarrer le démon de l'application, cette méthode effectue un dernier contrôle afin de vérifier la présence du fichier named.conf. Si ce n'est pas le cas, Démarrage consigne un message d'erreur et se ferme en affichant un état d'échec.


# Passer au répertoire $CONFIG_DIR s'il y a des
# noms de chemin d'accès relatifs dans les fichiers de données.
cd $CONFIG_DIR

# Vérifier que le fichier named.conf est présent dans le répertoire $CONFIG_DIR
if [ ! -s named.conf ]; then
   logger -p ${SYSLOG_FACILITY}.err \
         -t [$SYSLOG_TAG] \
         "${ARGV0} File $CONFIG_DIR/named.conf is missing or empty"
   exit 1
fi