8.2.2. Adicionando um Nó ao um Cluster
Adicionar um nó ao um cluster consiste da atualização de configuração do cluster, propagando a configuração atualizada no nó a ser adicionado e inicializar o software do cluster neste nó. Para adicionar um nó ao cluster, realize os seguintes passos:
- Em qualquer nó no cluster, edite o
/etc/cluster/cluster.conf
para adicionar uma seçãoclusternode
para o nó a ser adicionado. Por exemplo, no Exemplo 8.2, “Configuração de Cluster de Dois Nós” se o node-03.example.com devesse ser adicionado, então adicione uma seçãoclusternode
para o nó. Se adicionar um nó (ou nós) causa uma transição de um cluster de dois nós para um cluster com três nós ou mais, remova os seguintes atributoscman
do/etc/cluster/cluster.conf
: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.
- Propague o arquivo de configuração atualizado no
/etc/cluster/
em cada nó a ser adicionado ao cluster. Por exemplo, use o comandoscp
para enviar o arquivo de configuração atualizado a cada nó a ser adicionado ao cluster. - Se a contagem de nó do cluster mudou de dois nós para um número maior de dois nós, você deve reiniciar o software do cluster no nó existente do cluster conforme a seguir:
- 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 cada nó a ser adicionado ao cluster, 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ó, usando o utilitário
clustat
, verifique que cada nó adicionado está rodando e é parte 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-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) disabledPara informações sobre usar oclustat
, consulte a Seção 8.3, “Gerenciando Serviços de Alta Disponibilidade”.Além disso, você pode usar ocman_tool status
para verificar os votos do nós e contagem de quorum. Por exemplo:[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 - Em qualquer nó, você pode usar o utilitário
clusvcadm
para migrar ou realocar um serviço em execução ao nó recém unido. Também, você pode habilitar quaisquer serviços desabilitados. Para informações sobre usar oclusvcadm
, consulte a Seção 8.3, “Gerenciando Serviços de Alta Disponibilidade”