Accueil > Bases de données, Système > Un cluster DRBD / MySQL avec Heartbeat sur Debian 7

Un cluster DRBD / MySQL avec Heartbeat sur Debian 7

Print Friendly, PDF & Email

Source: denisrosenkranz.com

Nous avons vu précédement comment mettre un place un Cluster Apache actif/passif avec DRBD et HeartBeat. Dans ce tutoriel nous allons voir comment faire la même chose mais avec MySQL.

La configuration de DRBD et de Heartbeat est la même que pour le tutoriel précédent.

Voilà ce que nous allons mettre en place

DRBDMySQL

Donc pour faire ce tutoriel suivez le tutoriel suivant jusqu’a « Installation d’apache« :

Un cluster DRBD/Apache avec Heartbeat sur Debian 7

Installation de Mysql

On commence par installer MySQL Server sur les deux nodes avec la commande:

apt-get install mysql-server

Aprés l’installation de MySQL, nous allons désactiver sur les deux nodes le démarage automatique du service au lancement de la machine parce que c’est Heartbeat qui va gérer le lancement de MySQL.

Sur les deux nodes lancez donc la commande:

insserv -r mysql

Et arrêtez Mysql les deux nodes avec la commande:

/etc/init.d/mysql stop

Sur le node1 nous allons déplacer le dossier par défaut qui contient les bases de données dans /mnt/. Le dossier par défaut est le dossier /var/lib/mysql.

mv /var/lib/mysql/ /mnt/

Et on crée un lien symbolique de /mnt/mysql vers /var/lib/mysql.

ln -s /mnt/mysql/ /var/lib/

On fait la même chose avec le fichier debian.cnf, qui est dans /etc/mysql

mv /etc/mysql/debian.cnf /mnt/mysql/
ln -s /mnt/mysql/debian.cnf /etc/mysql/

Maintenant connectez vous sur node2 et tapez les commandes suivantes:

rm -rvf /var/lib/mysql/
rm -vf /etc/mysql/debian.cnf
ln -s /mnt/mysql/ /var/lib/
ln -s /mnt/mysql/debian.cnf /etc/mysql/

Maintenant sur node1, demarrez mysql avec la commande:

/etc/init.d/mysql start

Nous allons créer une base de donnée appelée « testDrbd » en ligne de commande:

Lire aussi:  How to log in to MySQL server without password
root@node1:~# mysql -u root -p
Enter password: passowrd fournis à l'installation de mysql-server
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 42
Server version: 5.5.33-0+wheezy1 (Debian)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> CREATE DATABASE testDrbd;
Query OK, 1 row affected (0.00 sec)
mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| testDrbd |
+--------------------+
4 rows in set (0.00 sec)
mysql> exit
Bye

Maintenant nous allons configurer Heartbeat sur les deux nodes pour demarrer automatiquement MySQL.

Editez le fichier « /etc/ha.d/haresources » et rajoutez mysql à la fin de la ligne comme ceci:

node1 IPaddr::192.168.2.57/24/eth0 drbddisk::r0 Filesystem::/dev/drbd0::/mnt::ext4 mysql

Rechargez le fichier de configuration Heartbeat sur les deux nodes avec la commande:

/etc/init.d/heartbeat reload

Maintenant nous allons voir si le balancement se fait bien.

Sur node1 stoppez Heartbeat avec la commande:

/etc/init.d/heartbeat stop

Allez sur node2 et vérifiez que:

node2 est bien devenu le node primaire et que /dev/drbd0 est bien monté dans /mnt/

drbd-overview

l’IP balancée est bien sur node2

ifconfig

mysql est bien lancé sur node2

/etc/init.d/mysql status

Si tout ok, connectez vous au serveur mysql et vérifiez que la base de donnée est bien présente:

root@node2:~# mysql -u root -p
Enter password: passowrd fournis à l'installation de mysql-server
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 45
Server version: 5.5.33-0+wheezy1 (Debian)
Copyright (c) 2000, 2013, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> SHOW DATABASES
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| testDrbd |
+--------------------+
4 rows in set (0.00 sec)

On vois bien que la base de donnée est bien présente 🙂

Lire aussi:  Réalisez un audit sécurité de votre système GNU/Linux facilement

Vous pouvez aussi vous amuser avec les deux derniers tutoriel pour faire un cluster DRBD/Apache/MySQL avec Heartbeat 😉

Les commentaires sont fermés.