8.2. Borrar o añadir un nodo
Esta sección describe cómo borrar un nodo desde un clúster y añadir un nodo a un clúster. Puede borrar un nodo desde un clúster según la Sección 8.2.1, “Cómo borrar un nodo de un clúster”; puede añadir un nodo a un clúster según la Sección 8.2.2, “Adición de un nodo a un cluster”.
8.2.1. Cómo borrar un nodo de un clúster
Para borrar un nodo de un clúster, apague el software de clúster en el nodo que va a ser borrado y actualice la configuración de clúster para reflejar el cambio.
Importante
Al borrar un nodo del clúster se produce una transición de más de dos nodos a dos nodos, debe reiniciar el software de clúster en cada nodo después de actualizar el archivo de configuración de clúster.
Para borrar un nodo de un clúster, realice los siguientes pasos:
- En cualquier nodo, use la herramienta
clusvcadm
para reubicar, migrar, o parar cada servicio de alta disponibilidad que se esté ejecutando en el nodo que se está eliminando del clúster. Para obtener información sobre el uso declusvcadm
, consulte la Sección 8.3, “Administrar servicios de alta disponibilidad”. - En el nodo que va a ser eliminado del clúster, 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 cualquier nodo en el clúster, edite
/etc/cluster/cluster.conf
para eliminar la secciónclusternode
del nodo que va a ser seleccionado. En el Ejemplo 8.1, “Configuración de clúster de tres nodos”, si se supone que node-03.example.com va a ser eliminado, entonces borre la secciónclusternode
para ese nodo. Si al eliminar un nodo (o nodos) hace que el cluster tenga dos nodos, puede añadir la siguiente línea al archivo de configuración para permitir a un nodo único mantener cuórum (por ejemplo, si un nodo falla):<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.
- Si la cuenta de nodo del clúster ha pasado de más de dos nodos a dos nodos, debe reiniciar el software de clúster 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 cualquier nodo de clúster, ejecute
cman_tool nodes
para verificar los nodos que funcionan como miembros en el cluster (representado como "M" en la columna de estatus, "Sts"). Por ejemplo:[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 - En cualquier nodo, mediante la herramienta
clustat
, verifique si los servicios de alta disponibilidad se están ejecutando como esperado. Además,clustat
muestra el estatus de los nodos de 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-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