Rolling Restart
Reinicio secuencial, reinicio rotativo
El rolling restart es la técnica que consiste en reiniciar los nodos de un clúster de uno en uno, manteniendo siempre activos los demás para que el servicio permanezca disponible para los clientes durante toda la operación. El clúster debe conservar el quórum en cada paso para seguir gestionando escrituras y elegir un primary.
Cómo funciona #
En un InnoDB Cluster de 3 nodos, la secuencia habitual es:
- Identificar el nodo a reiniciar (preferiblemente un secondary).
- Verificar que el clúster esté
ONLINEy que todos los miembros estén sincronizados. - Reiniciar el nodo (
systemctl restart mysqldo equivalente). - Esperar a que el nodo vuelva a unirse al grupo antes de continuar con el siguiente.
# Verificar el estado del clúster antes de cada paso
mysqlsh -- cluster status
El nodo reiniciado se reconecta al grupo mediante Group Replication y recupera las transacciones pendientes a través de distributed recovery. Solo después de confirmar que su estado vuelve a ser ONLINE se procede con el siguiente nodo.
Cuándo se usa #
El rolling restart es el procedimiento estándar cuando es necesario aplicar cambios en los parámetros de configuración de MySQL (my.cnf) que requieren reiniciar el proceso, como modificaciones en innodb_buffer_pool_size, innodb_log_file_size o parámetros de Group Replication. También es el método habitual para aplicar parches del sistema operativo o actualizaciones de versión menores sin necesidad de programar una ventana de mantenimiento formal.
La principal limitación es el tiempo: si el nodo reiniciado tiene un backlog de transacciones considerable, la fase de distributed recovery puede prolongarse varios minutos, alargando la ventana operativa total.