Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

7.5.2. Come aggiungere un servizio ad un cluster

Per aggiungere un servizio al cluster seguire le fasi di questa sezione.
  1. Aprire /etc/cluster/cluster.conf su qualsiasi nodo nel cluster.
  2. Aggiungere una sezione service all'interno dell'elemento rm per ogni servizio. Per esempio:
    
        <rm>
            <service autostart="1" domain="" exclusive="0" name="" recovery="restart">
    
            </service>
        </rm>
    
    
  3. Configurare i seguenti parametri (attributi) nell'elemento service:
    • autostart — Specifica se eseguire un avvio automatizzato del servizio all'avvio del cluster. Usare '1' per abilitare e '0' per disabilitare; l'impostazione predefinita è abilitato.
    • domain — Specifica un dominio di failover (se necessario).
    • exclusive — Specifica una politica in cui il servizio viene eseguito solo su nodi sprovvisti di altri servizi.
    • recovery — Specifica una politica di ripristino del servizio. Usare le opzioni per riposizionare, riavviare e riavviare-disabilitare il servizio.
  4. In base al tipo di risorse da usare popolate il servizio con risorse globali o specifiche al servizio.
    Per esempio ecco riportato un servizio Apache che utilizza risorse globali:
    
        <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>
    
    
    Esempio di un servizio Apache che utilizza risorse specifiche al servizio:
    
        <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 — Questo servizio utilizza le risorse globali web_fs, 127.143.131.100, e example_server.
    • example_apache2 — Questo servizio utilizza risorse specifiche del servizio web_fs2, 127.143.131.101, e example_server2.
  5. Aggiornare l'attributo config_version aumentando il proprio valore (per esempio, modificandolo da config_version="2" a config_version="3">).
  6. Salvare /etc/cluster/cluster.conf.
  7. (Opzionale) Convalidare il file aggiornato con lo schema del cluster (cluster.rng) eseguendo il comando ccs_config_validate. Per esempio:
    [root@example-01 ~]# ccs_config_validate 
    Configuration validates
    
  8. Eseguire il comando cman_tool version -r per diffondere la configurazione al resto dei nodi del cluster.
  9. Verificare che il file di configurazione aggiornato è stato diffuso.

Esempio 7.10. cluster.conf con l'aggiunta dei servizi: Usando le risorse globali e le risorse specifiche al servizio


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