Red Hat Training

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

8.2. Borrar o añadir un nodo

Esta sección describe cómo borrar un nodo desde un clúster y añadir un nodo a un clúster. Puede borrar un nodo desde un clúster según la Sección 8.2.1, “Cómo borrar un nodo de un clúster”; puede añadir un nodo a un clúster según la Sección 8.2.2, “Adición de un nodo a un cluster”.

8.2.1. Cómo borrar un nodo de un clúster

Para borrar un nodo de un clúster, apague el software de clúster en el nodo que va a ser borrado y actualice la configuración de clúster para reflejar el cambio.

Importante

Al borrar un nodo del clúster se produce una transición de más de dos nodos a dos nodos, debe reiniciar el software de clúster en cada nodo después de actualizar el archivo de configuración de clúster.
Para borrar un nodo de un clúster, realice los siguientes pasos:
  1. En cualquier nodo, use la herramienta clusvcadm para reubicar, migrar, o parar cada servicio de alta disponibilidad que se esté ejecutando en el nodo que se está eliminando del clúster. Para obtener información sobre el uso de clusvcadm, consulte la Sección 8.3, “Administrar servicios de alta disponibilidad”.
  2. En el nodo que va a ser eliminado del clúster, pare el software de clúster de acuerdo con la Sección 8.1.2, “Cómo detener el software de clúster”. Por ejemplo:
    [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 ~]#
    
  3. En cualquier nodo en el clúster, edite /etc/cluster/cluster.conf para eliminar la sección clusternode del nodo que va a ser seleccionado. En el Ejemplo 8.1, “Configuración de clúster de tres nodos”, si se supone que node-03.example.com va a ser eliminado, entonces borre la sección clusternode para ese nodo. Si al eliminar un nodo (o nodos) hace que el cluster tenga dos nodos, puede añadir la siguiente línea al archivo de configuración para permitir a un nodo único mantener cuórum (por ejemplo, si un nodo falla):
    <cman two_node="1" expected_votes="1"/>
    Consulte la Sección 8.2.3, “Ejemplos de configuraciones de tres y dos nodos.” para comparar entre una configuración de tres nodos y una de dos nodos.
  4. Actualice el atributo config_version aumentando su valor (por ejemplo, cambiar de config_version="2" a config_version="3">).
  5. Guarde /etc/cluster/cluster.conf.
  6. (Opcional) Valide el archivo actualizado con el esquema de clúster (cluster.rng) ejecutando el comando ccs_config_validate. Por ejemplo:
    [root@example-01 ~]# ccs_config_validate 
    Configuration validates
    
  7. Ejecute el comando cman_tool version -r para propagar la configuración al resto de nodos de clúster.
  8. Verifique si el archivo de configuración actualizado se ha propagado.
  9. Si la cuenta de nodo del clúster ha pasado de más de dos nodos a dos nodos, debe reiniciar el software de clúster así:
    1. En cada nodo, pare el software de clúster de acuerdo con la Sección 8.1.2, “Cómo detener el software de clúster”. Por ejemplo:
      [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. En cada nodo, inicie el software de clúster de acuerdo con la Sección 8.1.1, “Cómo iniciar software de clúster”. Por ejemplo:
      [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 ~]#
      
    3. En cualquier nodo de clúster, ejecute cman_tool nodes para verificar los nodos que funcionan como miembros en el cluster (representado como "M" en la columna de estatus, "Sts"). Por ejemplo:
      [root@example-01 ~]# cman_tool nodes
      Node  Sts   Inc   Joined               Name
         1   M    548   2010-09-28 10:52:21  node-01.example.com
         2   M    548   2010-09-28 10:52:21  node-02.example.com
      
    4. En cualquier nodo, mediante la herramienta clustat, verifique si los servicios de alta disponibilidad se están ejecutando como esperado. Además, clustat muestra el estatus de los nodos de clúster. Por ejemplo:
      [root@example-01 ~]#clustat
      Cluster Status for mycluster @ Wed Nov 17 05:40:00 2010
      Member Status: Quorate
      
       Member Name                             ID   Status
       ------ ----                             ---- ------
       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