7.5.2. Ajouter un service cluster à un cluster

Pour ajouter un service cluster au cluster, suivez les étapes de cette section.
  1. Ouvrez /etc/cluster/cluster.conf sur n'importe quel nœud dans le cluster.
  2. Ajoutez une section service avec l'élément rm pour chaque service. Par exemple :
    
        <rm>
            <service autostart="1" domain="" exclusive="0" name="" recovery="restart">
    
            </service>
        </rm>
    
    
  3. Configurez les paramètres suivants (attributs) dans l'élément service :
    • autostart — Spécifie s'il faut démarrer le service automatiquement lorsque le cluster démarre. Veuillez utiliser « 1 » pour activer et « 0 » pour désactiver, le service est activé par défaut.
    • domain — Spécifie un domaine de basculement (s'il est requis).
    • exclusive — Spécifie une politique où le service s'exécute uniquement sur des nœuds sur lesquels aucun autre service ne s'exécute.
    • recovery — Spécifie une stratégie de récupération pour le service. Les options disponibles du service sont déplacer, redémarrer, désactiver, ou redémarrer-désactiver.
  4. Selon le type de ressources que vous souhaitez utiliser, remplissez le service avec des ressources globales ou spécifiques au service
    Par exemple, voici un service Apache qui utilise des ressources globales :
    
        <rm>
            <resources>
                    <fs name="web_fs" device="/dev/sdd2" mountpoint="/var/www" fstype="ext3"/>
                    <ip address="127.143.131.100" monitor_link="yes" sleeptime="10"/>
                    <apache config_file="conf/httpd.conf" name="example_server" server_root="/etc/httpd" shutdown_wait="0"/>
            </resources>
            <service autostart="1" domain="example_pri" exclusive="0" name="example_apache" recovery="relocate">
                    <fs ref="web_fs"/>
                    <ip ref="127.143.131.100"/>
                    <apache ref="example_server"/>
            </service>
        </rm>
    
    
    Par exemple, voici un service Apache qui utilise des ressources spécifiques au service :
    
        <rm>
            <service autostart="0" domain="example_pri" exclusive="0" name="example_apache2" recovery="relocate">
                    <fs name="web_fs2" device="/dev/sdd3" mountpoint="/var/www2" fstype="ext3"/>
                    <ip address="127.143.131.101" monitor_link="yes" sleeptime="10"/>
                    <apache config_file="conf/httpd.conf" name="example_server2" server_root="/etc/httpd" shutdown_wait="0"/>
            </service>
        </rm>
    
    
    • example_apache — Ce service utilise les ressources globales web_fs, 127.143.131.100 et example_server.
    • example_apache2 — Ce service utilise les ressources spécifiques au service web_fs2, 127.143.131.101 et example_server2.
  5. Mettez à jour l'attribut config_version en incrémentant sa valeur (par exemple, en la modifiant de config_version="2" à config_version="3">).
  6. Enregistrez /etc/cluster/cluster.conf.
  7. (Optional) Validez le fichier mis à jour sur le schéma du cluster (cluster.rng) en exécutant la commande ccs_config_validate. Par exemple :
    [root@example-01 ~]# ccs_config_validate 
    Configuration validates
    
  8. Exécutez la commande cman_tool version -r pour propager la configuration au reste des nœuds de cluster.
  9. Vérifiez que le fichier de configuration mis à jour a été propagé.

Exemple 7.10. cluster.conf avec services ajoutés : l'un utilisant des ressources globales et l'autre utilisant des ressources spécifiques au service


<cluster name="mycluster" config_version="3">
   <clusternodes>
     <clusternode name="node-01.example.com" nodeid="1">
         <fence>
            <method name="APC">
              <device name="apc" port="1"/>
             </method>
         </fence>
     </clusternode>
     <clusternode name="node-02.example.com" nodeid="2">
         <fence>
            <method name="APC">
              <device name="apc" port="2"/>
            </method>
         </fence>
     </clusternode>
     <clusternode name="node-03.example.com" nodeid="3">
         <fence>
            <method name="APC">
              <device name="apc" port="3"/>
            </method>
         </fence>
     </clusternode>
   </clusternodes>
   <fencedevices>
         <fencedevice agent="fence_apc" ipaddr="apc_ip_example" login="login_example" name="apc" passwd="password_example"/>
   </fencedevices>
   <rm>
       <failoverdomains>
           <failoverdomain name="example_pri" nofailback="0" ordered="1" restricted="0">
               <failoverdomainnode name="node-01.example.com" priority="1"/>
               <failoverdomainnode name="node-02.example.com" priority="2"/>
               <failoverdomainnode name="node-03.example.com" priority="3"/>
           </failoverdomain>
       </failoverdomains>
       <resources>
           <fs name="web_fs" device="/dev/sdd2" mountpoint="/var/www" fstype="ext3"/>
           <ip address="127.143.131.100" monitor_link="yes" sleeptime="10"/>
           <apache config_file="conf/httpd.conf" name="example_server" server_root="/etc/httpd" shutdown_wait="0"/>
       </resources>
       <service autostart="1" domain="example_pri" exclusive="0" name="example_apache" recovery="relocate">
           <fs ref="web_fs"/>
           <ip ref="127.143.131.100"/>
           <apache ref="example_server"/>
       </service>
       <service autostart="0" domain="example_pri" exclusive="0" name="example_apache2" recovery="relocate">
           <fs name="web_fs2" device="/dev/sdd3" mountpoint="/var/www2" fstype="ext3"/>
           <ip address="127.143.131.101" monitor_link="yes" sleeptime="10"/>
           <apache config_file="conf/httpd.conf" name="example_server2" server_root="/etc/httpd" shutdown_wait="0"/>
       </service>
   </rm>
</cluster>