8.2.2. Adición de un nodo a un cluster
Adicionar un nodo a un clúster consiste en actualizar la configuración de clúster, propagar la configuración actualizada para el nodo añadido, e iniciar el software de clúster en ese nodo. Para añadir un nodo a un clúster, realice los siguientes pasos:
- En cualquier nodo en el clúster, edite
/etc/cluster/cluster.conf
para añadir una secciónclusternode
para el nodo que se va a añadir. En el Ejemplo 8.2, “Configuración de clúster de dos nodos”, si node-03.example.com se supone que va a ser añadido, entonces añada una secciónclusternode
para ese nodo. Si al añadir un nodo (o nodos) el cluster pasa de un clúster de dos nodos a un clúster de tres nodos o más, elimine los siguientes atributoscman
de/etc/cluster/cluster.conf
: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. - Actualice el atributo
config_version
aumentando su valor (por ejemplo, cambiar deconfig_version="2"
aconfig_version="3">
). - Guarde
/etc/cluster/cluster.conf
. - (Opcional) Valide el archivo actualizado con el esquema de clúster (
cluster.rng
) ejecutando el comandoccs_config_validate
. Por ejemplo:[root@example-01 ~]#
ccs_config_validate
Configuration validates - Ejecute el comando
cman_tool version -r
para propagar la configuración al resto de nodos de clúster. - Verifique si el archivo de configuración actualizado se ha propagado.
- Propague el archivo de configuración a
/etc/cluster/
en cada nodo para que sea agregado al cluster. Por ejemplo, use el comandoscp
para enviar el archivo de configuración a cada nodo que va a ser añadido al cluster. - Si la cuenta de nodo del clúster ha pasado de dos nodos a más de dos nodos, debe reiniciar el software de clúster en los nodos de clúster existentes así:
- 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 ~]# - 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 ~]#
- En cada nodo que va a ser agregado al clúster, inicie el software de clúster según 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 ~]# - En cualquier nodo, al usar la herramienta
clustat
, verifique si cada nodo añadido está ejecutándose y parte del 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-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 obtener información sobre el uso declustat
, consulte la Sección 8.3, “Administrar servicios de alta disponibilidad”.Además, puede usarcman_tool status
para verificar votos de nodos, cuenta de nodos y cuenta de cuórum.[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 - En cualquier nodo, puede usar la herramienta
clusvcadm
para migrar o reubicar un servicio en ejecución para el nuevo nodo recién conectado. También, puede habilitar cualquier servicio inactivo. Para obtener información sobre el uso declusvcadm
, consulte la Sección 8.3, “Administrar servicios de alta disponibilidad”