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:
- 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 oclusvcadm
, consulte a Seção 8.3, “Gerenciando Serviços de Alta Disponibilidade”. - 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 ~]# - 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çãoclusternode
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. - Atualize o atributo
config_version
incrementando seu valor (por exemplo, mudando deconfig_version="2"
paraconfig_version="3">
). - Salve o
/etc/cluster/cluster.conf
. - (Opcional) Valide o arquivo atualizado contra o esquema de cluster (
cluster.rng
) rodando o comandoccs_config_validate
. Por exemplo:[root@example-01 ~]#
ccs_config_validate
Configuration validates - Rode o comando
cman_tool version -r
para propagar a configuração ao resto dos nós no cluster. - Verifique que o arquivo de configuração atualizado foi propagado.
- 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:
- 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 ~]# - 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 ~]# - 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 - Em qualquer nó, usando o utilitário
clustat
, verifique que os serviços de Alta Disponibilidade estão rodando conforme esperados. Além disso, oclustat
, 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