Webcontrat - Database

De Wiki_DR13
Aller à : navigation, rechercher

Database Webcontrat

La base de donnée utilisée est 10.0.19-MariaDB-1~wheezy-wsrep + Galera Cluster

GaleraCluster permet de répliquer les 3 noeud en temps réel et permet aussi une configuration multimaster.


Pour accéder au cluster depuis la PROD, la REC et la FORM on tape sur le HAPROXY + keepalived (10.30.1.10) qui est constitué de 2 machine (10.30.1.11 et .12)

Les flux sont répartis par Round Robin vers les 2 nœuds principaux 10.30.1.101 et 10.30.1.102. Le nœud 3 sert de réserve, de serveur de backup et d’intégration pour l'eai. Cela permet de moins impacter la prod en cas de soucis, voir de déconnecter l’hôte en cas de grosse MAJ.


Phpmyadmin : https://dev.webcontrat.cnrs.fr/phpmyadmin/


= Repartiteur de charge

Un répartiteur de charge permet d’aiguiller le trafic vers les nœuds du cluster.

En mode nominal, via HA-Proxy1 : http://10.30.1.11/

En cas de problème sur HA-Proxy1 on bascule automatiquement vers le 2 (keepalived) : http://10.30.1.12/

login : monitor
password : M0nitoR!

Supervision

Une machine de supervision permet d'avoir une vue d'ensemble sur le cluster

[1]

Login : admin@webcontrat.cnrs.fr 
Password : yonewlAg!ac1


cliquer sur "Galera-Prod"

Cela donne accès a l'ensemble du cluster


Pour avoir une vue plus fine sur chaque brique du cluster, cliquer sur Nodes

Cela permet de :

  • voir la charge sur chaque nœud
  • voir l'état des HaProxy, le primaire étant par défaut le 10.30.1.11


L'onglet Query monitor permet d'avoir une vue sur les requêtes, ou en tuer une en cas de boucle


L'onglet Performances donne une vue admin DB. Voir menu Health et Transaction log plus particulièrement


L'onglet Backup donne la main sur les sauvegardes gérées par clusterControl


Manage permet de configurer les serveurs depuis l'interface Web en modifiant / poussant les confs vers les briques du cluster


Alarms Permet de voir certaines alertes mais peu de détails (licence payante)


Redémarrage

En cas de plantage complet du cluster, celui ci ne redémarre pas seul. Il faut de booter manuellement :

  • ARRETER LE HAPROXY !
  • Se connecter sur le nœud 1 (10.30.1.101)
  • Démarrer avec la commande /etc/init.d/mysql start --wsrep-new-cluster
  • Attendre le démarrage
  • Se connecter sur les autres nœuds et redémarrer mysql normalement (/etc/init.d/mysql start)
  • Vérifier les logs dans les 3 serveurs, une fois complètement synchronisés, redémarrer HaProxy


Il peut arriver que lors de la coupure les nœuds ne soient pas synchros. Dans ce cas il faut démarrer le cluster avec le ne oud le plus a jour. Pour cela il faut regarder les logs au démarrage, le cluster ne montera pas. Dans ce cas, arrêter tous les nœuds (/etc/init.d/mysql stop) et refaire la manip suivante en démarrant le nœuds 2 en premier. Si cela ne démarre pas non plus, refaire la manip avec le nœud 3 en 1er.


Logs

sur chaque serveur, suivre les logs dans /var/log/mysql.log -> accès a toutes les données de réplication entre les noeuds + les erreurs

Problèmes connus

En cas extrême si un nœud ne veux pas redémarrer et APRÈS avoir vérifier la cohésion des données, effacer les fichiers de cache pour forcer une synchro totale (SST)

/etc/init.d/mysql stop
rm /var/lib/mysql/db/galera.cache
rm /var/lib/mysql/db/grastate.dat
/etc/init.d/mysql start