From 1ceebbc25b93112a7dd1781f46a816216b10e441 Mon Sep 17 00:00:00 2001 From: lpoujol Date: Mon, 25 Mar 2019 16:33:19 +0100 Subject: [PATCH] =?UTF-8?q?##=20R=C3=A9cup=C3=A9ration=20d'un=20cluster=20?= =?UTF-8?q?compl=C3=A8tement=20arr=C3=AAt=C3=A9.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- HowtoMySQL/Galera.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/HowtoMySQL/Galera.md b/HowtoMySQL/Galera.md index 96b1dfc2..86c3dc9f 100644 --- a/HowtoMySQL/Galera.md +++ b/HowtoMySQL/Galera.md @@ -123,3 +123,21 @@ mysql> SHOW STATUS LIKE 'wsrep_%'; ~~~ _wsrep_cluster_size_ indique ici le nombre de machine dans le cluster. + +## Récupération d'un cluster complètement arrêté. + +Dans certains cas, on peut se retrouver dans une situation ou tous les nœuds du cluster. + +Dans ce cas-là, il va falloir réamorcer manuellement le cluster. Il faut, pour cela inspecter le fichier `/var/lib/mysql/grastate.dat` pour identifier le nœud qui contient la version la plus avancée de la base de donnée. + +Si tous les nœuds ont bien été arrêtés, c'est donc le nœud avec le "seqno" le plus grand qui contient la dernière version de la base. C'est donc lui qui doit servir de point de départ. + +Il se peut que `seqno` soit à -1. Dans ce cas-là, le nœud n'a pas été proprement arrêté. On peut alors récupérer le numéro de séquence avec la commande `mysqld --wsrep-recover`. L'information sera alors dans `/var/log/mysql/error.log` + + +La technique "simple" pour réamorcer rapidement le cluster via le nœud le plus avancé : +* Modifier `/etc/mysql/mariadb.conf.d/galera.cnf` pour définir `wsrep_cluster_address="gcomm://"` +* Démarrer mariadb : `systemctl start mariadb` +* Rétablir la configuration du cluster dans `/etc/mysql/mariadb.conf.d/galera.cnf` + +Après le démarrage correct du premier nœud, on peut démarrer un a un les autres nœuds du cluster