2.7. Validation de la configuration

La configuration du cluster est automatiquement validée selon le schéma du cluster sur /usr/share/cluster/cluster.rng au moment du démarrage et lorsqu'une configuration est rechargée. Vous pouvez aussi valider une configuration de cluster à tout moment en utilisant la commande ccs_config_validate. Pour obtenir des informations sur la validation de configuration lors de l'utilisation de la commande ccs, voir la Section 5.1.6, « Validation de la configuration ».
Un schéma annoté est disponible sur /usr/share/doc/cman-X.Y.ZZ/cluster_conf.html (par exemple, /usr/share/doc/cman-3.0.12/cluster_conf.html).
La validation de la configuration vérifie les erreurs de base suivantes :
  • Validité XML — Vérifie que le fichier de configuration est un fichier XML valide.
  • Options de configuration — Vérifie que les options (éléments XML et attributs) sont valides.
  • Valeurs des options — Vérifie que les options contiennent des données valides (limité).
Les exemples suivants montrent une configuration valide et des configurations invalides qui illustrent les vérifications de validation :

Exemple 2.3. cluster.conf Exemple de configuration : Fichier valide


<cluster name="mycluster" config_version="1">
  <logging debug="off"/>
   <clusternodes>
     <clusternode name="node-01.example.com" nodeid="1">
         <fence>
         </fence>
     </clusternode>
     <clusternode name="node-02.example.com" nodeid="2">
         <fence>
         </fence>
     </clusternode>
     <clusternode name="node-03.example.com" nodeid="3">
         <fence>
         </fence>
     </clusternode>
   </clusternodes>
   <fencedevices>
   </fencedevices>
   <rm>
   </rm>
</cluster>


Exemple 2.4. cluster.conf Exemple de configuration : XML invalide


<cluster name="mycluster" config_version="1">
  <logging debug="off"/>
   <clusternodes>
     <clusternode name="node-01.example.com" nodeid="1">
         <fence>
         </fence>
     </clusternode>
     <clusternode name="node-02.example.com" nodeid="2">
         <fence>
         </fence>
     </clusternode>
     <clusternode name="node-03.example.com" nodeid="3">
         <fence>
         </fence>
     </clusternode>
   </clusternodes>
   <fencedevices>
   </fencedevices>
   <rm>
   </rm>
<cluster>         <----------------INVALID


Dans cet exemple, il manque une barre oblique à la dernière ligne de la configuration (annotée comme "INVALID") — il s'agit de <cluster> au lieu de </cluster>.

Exemple 2.5. cluster.conf Exemple de configuration : Option invalide


<cluster name="mycluster" config_version="1">
  <loging debug="off"/>         <----------------INVALID
   <clusternodes>
     <clusternode name="node-01.example.com" nodeid="1">
         <fence>
         </fence>
     </clusternode>
     <clusternode name="node-02.example.com" nodeid="2">
         <fence>
         </fence>
     </clusternode>
     <clusternode name="node-03.example.com" nodeid="3">
         <fence>
         </fence>
     </clusternode>
   </clusternodes>
   <fencedevices>
   </fencedevices>
   <rm>
   </rm>
<cluster>


Dans cet exemple, la seconde ligne de la configuration (annotée comme "INVALID") contient un élément XML invalide — il s'agit de loging au lieu de logging.

Exemple 2.6. cluster.conf Exemple de configuration : Valeur de l'option invalide


<cluster name="mycluster" config_version="1">
  <loging debug="off"/>
   <clusternodes>
     <clusternode name="node-01.example.com" nodeid="-1">  <--------INVALID
         <fence>
         </fence>
     </clusternode>
     <clusternode name="node-02.example.com" nodeid="2">
         <fence>
         </fence>
     </clusternode>
     <clusternode name="node-03.example.com" nodeid="3">
         <fence>
         </fence>
     </clusternode>
   </clusternodes>
   <fencedevices>
   </fencedevices>
   <rm>
   </rm>
<cluster>


Dans cet exemple, la quatrième ligne de la configuration (annotée comme "INVALID") contient une valeur invalide pour l'attribut XML nodeid dans la ligne clusternode de node-01.example.com. La valeur est une valeur négative ("-1") au lieu d'une valeur positive ("1"). Pour l'attribut nodeid, la valeur doit être une valeur positive.