8.2.2. Ajouter un nœud à un cluster

Ajouter un nœud à un cluster consiste en la mise à jour de la configuration du cluster, la propagation de la configuration mise à jour vers les nœuds à ajouter et le démarrage du logiciel du cluster sur ce nœud. Pour ajouter un nœud à un cluster, procédez aux étapes suivantes :
  1. Sur n'importe quel nœud dans le cluster, modifiez /etc/cluster/cluster.conf pour ajouter la section clusternode du nœud à ajouter. Par exemple, dans l'Exemple 8.2, « Configuration d'un cluster à deux nœuds », si node-03.example.com est censé être ajouté, alors ajoutez la section clusternode pour ce nœud. Si l'ajout d'un (ou plusieurs) nœud(s) cause au cluster de passer d'un cluster à deux nœuds à un cluster à trois nœuds ou plus, supprimez les attributs cman de /etc/cluster/cluster.conf comme suit :
    • cman two_node="1"
    • expected_votes="1"
    Reportez-vous à la Section 8.2.3, « Exemples de configurations à deux nœuds et à trois nœuds » pour une comparaison entre une configuration à deux nœuds et une configuration à trois nœuds.
  2. Mettez à jour l'attribut config_version en incrémentant sa valeur (par exemple, en la modifiant de config_version="2" à config_version="3">).
  3. Enregistrez /etc/cluster/cluster.conf.
  4. (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
    
  5. Exécutez la commande cman_tool version -r pour propager la configuration au reste des nœuds de cluster.
  6. Vérifiez que le fichier de configuration mis à jour a été propagé.
  7. Propagez le fichier de configuration mis à jour vers /etc/cluster/ dans chaque nœud à ajouter au cluster. Par exemple, utilisez la commande scp pour envoyer le fichier de configuration mis à jour sur chaque nœud à ajouter au cluster.
  8. Si le décompte des nœuds du cluster est passé de deux nœuds à plus de deux nœuds, vous devrez redémarrer le logiciel du cluster dans les nœuds du cluster comme suit :
    1. Sur chaque nœud, arrêtez le logiciel du cluster selon la Section 8.1.2, « Arrêter un logiciel de cluster ». Par exemple :
      [root@example-01 ~]# service rgmanager stop
      Stopping Cluster Service Manager:                          [  OK  ]
      [root@example-01 ~]# service gfs2 stop
      Unmounting GFS2 filesystem (/mnt/gfsA):                    [  OK  ]
      Unmounting GFS2 filesystem (/mnt/gfsB):                    [  OK  ]
      [root@example-01 ~]# service clvmd stop
      Signaling clvmd to exit                                    [  OK  ]
      clvmd terminated                                           [  OK  ]
      [root@example-01 ~]# service cman stop
      Stopping cluster: 
         Leaving fence domain...                                 [  OK  ]
         Stopping gfs_controld...                                [  OK  ]
         Stopping dlm_controld...                                [  OK  ]
         Stopping fenced...                                      [  OK  ]
         Stopping cman...                                        [  OK  ]
         Waiting for corosync to shutdown:                       [  OK  ]
         Unloading kernel modules...                             [  OK  ]
         Unmounting configfs...                                  [  OK  ]
      [root@example-01 ~]#
      
    2. Sur chaque nœud, démarrez le logiciel du cluster selon la Section 8.1.1, « Démarrer un logiciel de cluster ». Par exemple :
      [root@example-01 ~]# service cman start
      Starting cluster: 
         Checking Network Manager...                             [  OK  ]
         Global setup...                                         [  OK  ]
         Loading kernel modules...                               [  OK  ]
         Mounting configfs...                                    [  OK  ]
         Starting cman...                                        [  OK  ]
         Waiting for quorum...                                   [  OK  ]
         Starting fenced...                                      [  OK  ]
         Starting dlm_controld...                                [  OK  ]
         Starting gfs_controld...                                [  OK  ]
         Unfencing self...                                       [  OK  ]
         Joining fence domain...                                 [  OK  ]
      [root@example-01 ~]# service clvmd start
      Starting clvmd:                                            [  OK  ]
      Activating VG(s):   2 logical volume(s) in volume group "vg_example" now active
                                                                 [  OK  ]
      [root@example-01 ~]# service gfs2 start
      Mounting GFS2 filesystem (/mnt/gfsA):                      [  OK  ]
      Mounting GFS2 filesystem (/mnt/gfsB):                      [  OK  ]
      [root@example-01 ~]# service rgmanager start
      Starting Cluster Service Manager:                          [  OK  ]
      [root@example-01 ~]#
      
  9. Sur chaque nœud à ajouter au cluster, démarrez le logiciel du cluster selon la Section 8.1.1, « Démarrer un logiciel de cluster ». Par exemple :
    [root@example-01 ~]# service cman start
    Starting cluster: 
       Checking Network Manager...                             [  OK  ]
       Global setup...                                         [  OK  ]
       Loading kernel modules...                               [  OK  ]
       Mounting configfs...                                    [  OK  ]
       Starting cman...                                        [  OK  ]
       Waiting for quorum...                                   [  OK  ]
       Starting fenced...                                      [  OK  ]
       Starting dlm_controld...                                [  OK  ]
       Starting gfs_controld...                                [  OK  ]
       Unfencing self...                                       [  OK  ]
       Joining fence domain...                                 [  OK  ]
    [root@example-01 ~]# service clvmd start
    Starting clvmd:                                            [  OK  ]
    Activating VG(s):   2 logical volume(s) in volume group "vg_example" now active
                                                               [  OK  ]
    [root@example-01 ~]# service gfs2 start
    Mounting GFS2 filesystem (/mnt/gfsA):                      [  OK  ]
    Mounting GFS2 filesystem (/mnt/gfsB):                      [  OK  ]
    
    [root@example-01 ~]# service rgmanager start
    Starting Cluster Service Manager:                          [  OK  ]
    [root@example-01 ~]#
    
  10. Sur n'importe quel nœud et à l'aide de l'utilitaire clustat, vérifiez que chaque nœud ajouté est en cours d'exécution et fait partie du cluster. Par exemple :
    [root@example-01 ~]#clustat
    Cluster Status for mycluster @ Wed Nov 17 05:40:00 2010
    Member Status: Quorate
    
     Member Name                             ID   Status
     ------ ----                             ---- ------
     node-03.example.com                         3 Online, rgmanager
     node-02.example.com                         2 Online, rgmanager
     node-01.example.com                         1 Online, Local, rgmanager
    
     Service Name                   Owner (Last)                   State         
     ------- ----                   ----- ------                   -----           
     service:example_apache         node-01.example.com            started       
     service:example_apache2        (none)                         disabled
    
    Pour obtenir des informations sur l'utilisation de clustat, reportez-vous à la Section 8.3, « Gérer les services High-Availability ».
    En outre, vous pouvez utiliser cman_tool status pour vérifier les votes de nœuds, le compte des nœuds, et le compte quorum. Par exemple :
    [root@example-01 ~]#cman_tool status
    Version: 6.2.0
    Config Version: 19
    Cluster Name: mycluster 
    Cluster Id: 3794
    Cluster Member: Yes
    Cluster Generation: 548
    Membership state: Cluster-Member
    Nodes: 3
    Expected votes: 3
    Total votes: 3
    Node votes: 1
    Quorum: 2  
    Active subsystems: 9
    Flags: 
    Ports Bound: 0 11 177  
    Node name: node-01.example.com
    Node ID: 3
    Multicast addresses: 239.192.14.224 
    Node addresses: 10.15.90.58
    
  11. Sur n'importe quel nœud, vous pouvez vous servir de l'utilitaire clusvcadm pour migrer ou déplacer un service en cours d'exécution sur le nouveau nœud du cluster. Vous pouvez aussi activer tout service désactivé. Pour obtenir des informations sur l'utilisation de clusvcadm, reportez-vous à la Section 8.3, « Gérer les services High-Availability ».