1. Home
  2. Knowledge Base
  3. Articles (EN/ES/FR)
  4. Recuperación de Nodo roto en Pandora FMS HA

Recuperación de Nodo roto en Pandora FMS HA

Cuando tenemos un entorno en HA puede darse el caso de que hay alguna caída del nodo o de la red y se produzca una desincronización, entrando el nodo secundario (slave) a funcionar como principal (master) para sustituirlo. Esto se conoce como “Nodo roto” y para solucionarlo habría que seguir el siguiente proceso:

A modo de resumen lo que haremos será mover un copia de respaldo (backup) de la base de datos principal al secundario, una vez consigamos recuperarlo y resincronizarlo mediante percona, pacemaker y corosync. Suponiendo el nombre de los nodos nodo1 y nodo2 y siendo el nodo2 el que se ha caído:

  • Ponemos el nodo2 en espera o standby mediante los siguientes comandos:
node2# pcs node standby node2

 

  • Hacemos una copia de seguridad del directorio de datos de Percona del nodo2 por si acaso aunque no la utilizaremos:
node2# systemctl stop mysqld
node2# [ -e /var/lib/mysql.bak ] && rm -rf /var/lib/mysql.bak
node2# mv /var/lib/mysql /var/lib/mysql.bak

 

  • Hacemos una copia de seguridad de la base de datos del nodo maestro (node1 en este ejemplo) y actualizamos el nombre del nodo principal, y el nombre y la posición del archivo de log principal en el cluster (en este ejemplo node1, mysql-bin.000001 y 785):
node1# [ -e /root/pandoradb.bak ] && rm -rf /root/pandoradb.bak
node1# innobackupex --no-timestamp /root/pandoradb.bak/
node1# innobackupex --apply-log /root/pandoradb.bak/
node1# binlog_info=$(cat /root/pandoradb.bak/xtrabackup_binlog_info)
node1# crm_attribute --type crm_config --name pandoradb_REPL_INFO -s mysql_replication -v "node1|$(echo $binlog_info | awk '{print $1}')|$(echo $binlog_info | awk '{print $2}')"

 

  • Cargamos la base de datos del nodo1 hacia el nodo2:
node1# rsync -avpP -e ssh /root/pandoradb.bak/ node2:/var/lib/mysql/
node2# chown -R mysql:mysql /var/lib/mysql
node2# chcon -R system_u:object_r:mysqld_db_t:s0 /var/lib/mysql

 

  • Desactivamos el modo standby del node2 y limpiamos los errores:
node2# pcs node unstandby node2
node2# pcs resource cleanup --node node2

 

  • Comprobamos el estado de la replicación de la base de datos:
node2# mysql -uroot -ppandora
mysql> SHOW SLAVE STATUS \G
  • Conviene asegurarse de que Slave_IO_Running y Slave_SQL_Running muestran Yes en la última salida.
Was this article helpful?

Related Articles

Need Support?

Can't find the answer you're looking for?
Contact Support