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.confpara adicionar uma seçãoclusternodepara 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çãoclusternodepara 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 atributoscmando/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_versionincrementando 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 -rpara 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 comandoscppara 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 statuspara 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
clusvcadmpara 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”