Red Hat Training

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

8.2. Deletando ou Adicionando um Nó

Esta seção descreve como excluir um nó de um cluster e adicionar um nó ao cluster. Você pode deletar um nó de um cluster de acordo com a Seção 8.2.1, “Deletar um Nó de um Cluster”; você pode adicionar um nó a um cluster de acordo com a Seção 8.2.2, “Adicionando um Nó ao um Cluster”.

8.2.1. Deletar um Nó de um Cluster

Excluir um nó de um cluster consiste em fechar o software do cluster no nó a ser excluído e atualizar a configuração do cluster para refletir a mudança.

Importante

Se deletar um nó do cluster faz uma mudança de um número maior de dois nós para dois nós, você deve reiniciar o software de cluster em cada nó depois de adicionar o arquivo de configuração do cluster.
Para excluir um nó de um cluster, realize os seguintes passos:
  1. Em qualquer nó, use o utilitário clusvcadm para realocar, migrar ou parar cada serviço de Alta Disponibilidade em execução no nó que está sendo excluído do cluster. Para informações sobre usar o clusvcadm, consulte a Seção 8.3, “Gerenciando Serviços de Alta Disponibilidade”.
  2. No nó a ser deletado do cluster, pare o software de cluster de acordo com a Seção 8.1.2, “Parando um Software de Cluster”. Por exemplo:
    [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. Em qualquer nó no cluster, edite o /etc/cluster/cluster.conf para remover a seção do nó que será deletado. Por exemplo, no Exemplo 8.1, “Configuração de Cluster de Três Nós”, se o node-03.example.com é suposto a ser removido, então delete a seção clusternode para esse nó. Se remover um nó (ou nós) fizer que o cluster seja um cluster de dois nós, você pode adicionar a seguinte linha ao arquivo de configuração para permitir que um nó único mantenha quorum (por exemplo, se um nó falhar):
    <cman two_node="1" expected_votes="1"/>
    Consulte a Seção 8.2.3, “Exemplos de Configurações de Três e Dois Nós” para comparação entre uma configuração de três nós e uma de dois nós.
  4. Atualize o atributo config_version incrementando seu valor (por exemplo, mudando de config_version="2" para config_version="3">).
  5. Salve o /etc/cluster/cluster.conf.
  6. (Opcional) Valide o arquivo atualizado contra o esquema de cluster (cluster.rng) rodando o comando ccs_config_validate. Por exemplo:
    [root@example-01 ~]# ccs_config_validate 
    Configuration validates
    
  7. Rode o comando cman_tool version -r para propagar a configuração ao resto dos nós no cluster.
  8. Verifique que o arquivo de configuração atualizado foi propagado.
  9. Se a contagem de nós foi alterada de um número maior de dois nós para dois nós, você deve reinicializar o software do cluster conforme se segue:
    1. Em cada nó, pare o software do cluster de acordo com a Seção 8.1.2, “Parando um Software de Cluster”. Por exemplo:
      [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. Em cada nó, inicie o software de cluster de acordo com a Seção 8.1.1, “Iniciar o Software do Cluster”. Por exemplo:
      [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. Em qualquer nó no cluster, rode o cman_tools nodes para verificar que os nós estão funcionando como membros no cluster (mostrados como "M" na coluna de estado "Sts"). Por exemplo:
      [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. Em qualquer nó, usando o utilitário clustat, verifique que os serviços de Alta Disponibilidade estão rodando conforme esperados. Além disso, o clustat, exibe o estado dos nós do cluster. Por exemplo:
      [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