«

»

août 20

Procédure d’exploitation d’un cluster MySQL

Introduction

Pour faire suite à l’article sur l’installation d’une architecture MySQL en Cluster, voici quelques procédures d’exploitation valable sur cette architecture.

Procédure d’exploitation du cluster

Premier lancement

Nous devons toujours commencer par lancer les serveurs de management (un au minimum).

Pour ce faire, lançons la commande suivante sur MGMT1 :

start-stop-daemon –start –pidfile /home/mysql/MySQL_Cluster/id1/ndb_1.pid –chuid mysql –exec /opt/mysql/server-5.6/bin/ndb_mgmd — –config-dir=/home/mysql/MySQL_Cluster/id1/ –config-file=/home/mysql/MySQL_Cluster/id1/config.ini

Puis la commande suivante sur MGMT2 :

start-stop-daemon –start –pidfile /home/mysql/MySQL_Cluster/id2/ndb_2.pid –chuid mysql –exec /opt/mysql/server-5.6/bin/ndb_mgmd — –config-dir=/home/mysql/MySQL_Cluster/id2/ –config-file=/home/mysql/MySQL_Cluster/id2/config.ini

Passons maintenant aux serveurs de stockage.

Tapons la commande suivante sur NDB1 :

start-stop-daemon –start –chuid mysql –pidfile /home/mysql/MySQL_Cluster/id20/ndb_20.pid –exec /opt/mysql/server-5.6/bin/ndbd — –ndb-nodeid=20 –ndb-connectstring=mgmt1,mgmt2 –verbose –nostart –initial –bind-address=10.66.1.178

Tapons la commande suivante sur NDB2 :

start-stop-daemon –start –chuid mysql –pidfile /home/mysql/MySQL_Cluster/id21/ndb_21.pid –exec /opt/mysql/server-5.6/bin/ndbd — –ndb-nodeid=21 –ndb-connectstring=mgmt1,mgmt2 –verbose –nostart –initial –bind-address=10.66.1.179

Tapons la commande suivante sur NDB3 :

start-stop-daemon –start –chuid mysql –pidfile /home/mysql/MySQL_Cluster/id22/ndb_22.pid –exec /opt/mysql/server-5.6/bin/ndbd — –ndb-nodeid=22 –ndb-connectstring=mgmt1,mgmt2 –verbose –nostart –initial –bind-address=10.66.1.180

Tapons la commande suivante sur NDB4 :

start-stop-daemon –start –chuid mysql –pidfile /home/mysql/MySQL_Cluster/id23/ndb_23.pid –exec /opt/mysql/server-5.6/bin/ndbd — –ndb-nodeid=23 –ndb-connectstring=mgmt1,mgmt2 –verbose –nostart –initial –bind-address=10.66.1.181

Terminons par les commandes suivantes sur un des serveurs de management :

ndb_mgm -e ’20 start’

ndb_mgm -e ’21 start’

ndb_mgm -e ’22 start’

ndb_mgm -e ’23 start’

Lançons pour finir les frontaux MySQL.

Tapons la commande suivante sur SQL1 :

start-stop-daemon –start –pidfile /home/mysql/MySQL_Cluster/id10/sql1.pid –background –chuid mysql –exec /opt/mysql/server-5.6/bin/mysqld_safe — –defaults-file=/home/mysql/MySQL_Cluster/id10/my.cnf

Tapons la commande suivante sur SQL2 :

start-stop-daemon –start –pidfile /home/mysql/MySQL_Cluster/id11/sql2.pid –background –chuid mysql –exec /opt/mysql/server-5.6/bin/mysqld_safe — –defaults-file=/home/mysql/MySQL_Cluster/id11/my.cnf

Tapons la commande suivante sur SQL3 :

start-stop-daemon –start –pidfile /home/mysql/MySQL_Cluster/id12/sql3.pid –background –chuid mysql –exec /opt/mysql/server-5.6/bin/mysqld_safe — –defaults-file=/home/mysql/MySQL_Cluster/id12/my.cnf

Tapons la commande suivante sur SQL4 :

start-stop-daemon –start –pidfile /home/mysql/MySQL_Cluster/id13/sql4.pid –background –chuid mysql –exec /opt/mysql/server-5.6/bin/mysqld_safe — –defaults-file=/home/mysql/MySQL_Cluster/id13/my.cnf

Voilà notre premier lancement terminé.

Nous pouvons également appliquer cette procédure pour réinitialiser notre stockage, mais n’oublions que nous avons transférer le contenu des tables de gestions des droits sur le cluster. Nous nous assurerons donc avant que nous avons les sauvegardes nécessaire.

Lancement ultérieur

La procédure est la même que la précédente à un détail près. Mais ce détail change tout, il faut retirer le switch –initial lors du lancement des nœud NDB.

Nous devons toujours commencer par lancer les serveurs de management (un au minimum).

Pour ce faire, lançons la commande suivante sur MGMT1 :

start-stop-daemon –start –pidfile /home/mysql/MySQL_Cluster/id1/ndb_1.pid –chuid mysql –exec /opt/mysql/server-5.6/bin/ndb_mgmd — –config-dir=/home/mysql/MySQL_Cluster/id1/ –config-file=/home/mysql/MySQL_Cluster/id1/config.ini

Puis la commande suivante sur MGMT2 :

start-stop-daemon –start –pidfile /home/mysql/MySQL_Cluster/id2/ndb_2.pid –chuid mysql –exec /opt/mysql/server-5.6/bin/ndb_mgmd — –config-dir=/home/mysql/MySQL_Cluster/id2/ –config-file=/home/mysql/MySQL_Cluster/id2/config.ini

Passons maintenant aux serveurs de stockage.

Tapons la commande suivante sur NDB1 :

start-stop-daemon –start –chuid mysql –pidfile /home/mysql/MySQL_Cluster/id20/ndb_20.pid –exec /opt/mysql/server-5.6/bin/ndbd — –ndb-nodeid=20 –ndb-connectstring=mgmt1,mgmt2 –verbose –nostart –bind-address=10.66.1.178

Tapons la commande suivante sur NDB2 :

start-stop-daemon –start –chuid mysql –pidfile /home/mysql/MySQL_Cluster/id21/ndb_21.pid –exec /opt/mysql/server-5.6/bin/ndbd — –ndb-nodeid=21 –ndb-connectstring=mgmt1,mgmt2 –verbose –nostart –bind-address=10.66.1.179

Tapons la commande suivante sur NDB3 :

start-stop-daemon –start –chuid mysql –pidfile /home/mysql/MySQL_Cluster/id22/ndb_22.pid –exec /opt/mysql/server-5.6/bin/ndbd — –ndb-nodeid=22 –ndb-connectstring=mgmt1,mgmt2 –verbose –nostart –bind-address=10.66.1.180

Tapons la commande suivante sur NDB4 :

start-stop-daemon –start –chuid mysql –pidfile /home/mysql/MySQL_Cluster/id23/ndb_23.pid –exec /opt/mysql/server-5.6/bin/ndbd — –ndb-nodeid=23 –ndb-connectstring=mgmt1,mgmt2 –verbose –nostart –bind-address=10.66.1.181

Terminons par les commandes suivantes sur un des serveurs de management :

ndb_mgm -e ’20 start’

ndb_mgm -e ’21 start’

ndb_mgm -e ’22 start’

ndb_mgm -e ’23 start’

Lançons pour finir les frontaux MySQL.

Tapons la commande suivante sur SQL1 :

start-stop-daemon –start –pidfile /home/mysql/MySQL_Cluster/id10/sql1.pid –background –chuid mysql –exec /opt/mysql/server-5.6/bin/mysqld_safe — –defaults-file=/home/mysql/MySQL_Cluster/id10/my.cnf

Tapons la commande suivante sur SQL2 :

start-stop-daemon –start –pidfile /home/mysql/MySQL_Cluster/id11/sql2.pid –background –chuid mysql –exec /opt/mysql/server-5.6/bin/mysqld_safe — –defaults-file=/home/mysql/MySQL_Cluster/id11/my.cnf

Tapons la commande suivante sur SQL3 :

start-stop-daemon –start –pidfile /home/mysql/MySQL_Cluster/id12/sql3.pid –background –chuid mysql –exec /opt/mysql/server-5.6/bin/mysqld_safe — –defaults-file=/home/mysql/MySQL_Cluster/id12/my.cnf

Tapons la commande suivante sur SQL4 :

start-stop-daemon –start –pidfile /home/mysql/MySQL_Cluster/id13/sql4.pid –background –chuid mysql –exec /opt/mysql/server-5.6/bin/mysqld_safe — –defaults-file=/home/mysql/MySQL_Cluster/id13/my.cnf

Voilà notre lancement terminé.

Redémarrage d’un nœud NDB

Afin de redémarrer un nœud de stockage, connectons nous sur un des serveurs de management et tapons la commande suivante :

ndb_mgm -e ‘id_du_nœud restart’

Arrêt d’un nœud NDB

Afin d’arrêter un nœud de stockage, connectons nous sur un des serveurs de management et tapons la commande suivante :

ndb_mgm -e ‘id_du_nœudstop’

Consulter l’état du cluster

Pour consulter l’état du cluster, connectons nous sur un des serveurs de management et tapons la commande suivante :

ndb_mgm -e ‘show’

Effectuer un Rolling Restart

Après certaines opération sur le cluster, comme l’ajout d’un membre, il peut être nécessaire d’effectuer un rolling restart du cluster.

Cette opération reviens à redémarrer un à un les membre du cluster. Nous devons nous assurer que le membre a terminé son redémarrage avant de passer au suivant.

Sauvegarder les données en ligne

Afin de sauvegarder les données stockées sur les nœud NDB nous devons nous connecter sur un des serveurs de management et taper la commande suivante :

ndb_mgm -e ‘START BACKUP’

Restaurer un backup

Afin de sauvegarder les données stockées sur les nœud NDB nous devons nous connecter sur le noeud où se trouve le backup à restaurer et taper la commande suivante :

ndb_restore -c mgmt1 -n id_du_noeud -b 1 –backup_path=/chemin/du/backup/ -r -m –restore-privilege-tables

1 commentaire

  1. Virtual server

    Du point de vue de MySQL, chaque n?ud est gere independamment, c’est donc au programmeur de devoir gerer la repartition de la charge.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *


− 2 = trois

Vous pouvez utiliser les balises HTML suivantes : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>