GNU/Linux >> Tutoriels Linux >  >> Linux

Comment installer et configurer MariaDB Galera Cluster sur Ubuntu 18.04

La mise en cluster de bases de données est le processus consistant à combiner plusieurs serveurs en les connectant à une seule base de données. Le clustering améliore la disponibilité de votre base de données en répartissant la charge sur différents serveurs. Si un serveur tombe en panne, d'autres sont rapidement disponibles pour continuer à servir.

MariaDB Galera est une solution de clustering multi-maîtres qui vous permet de lire et d'écrire sur n'importe quel nœud du cluster. Avec MariaDB Galera, une modification apportée à un nœud est répliquée sur tous les nœuds. MariaDB Galera prend en charge les moteurs de stockage XtraDB/InnoDB et n'est disponible que sur Linux.

Caractéristiques

  • Topologie multimaître actif-actif
  • Rejoindre un nœud automatiquement
  • Capacité de lire et d'écrire sur n'importe quel nœud de cluster
  • Contrôle automatique des membres, suppression des nœuds défaillants du cluster
  • Provisionnement automatique des nœuds

Dans ce didacticiel, nous allons vous montrer comment configurer un cluster MariaDB Galera à trois nœuds sur Ubuntu 18.04.

Prérequis

  • Trois nouveaux VPS Ubuntu 18.04 sur la plate-forme cloud Atlantic.Net.
  • Un mot de passe root configuré sur tous les serveurs.

Pour les besoins de ce tutoriel, nous utiliserons trois serveurs avec la configuration suivante :

serveur1 :192.168.0.101
serveur2 :192.168.0.102
serveur3 :192.168.0.103

Étape 1 - Créer un serveur cloud Atlantic.Net

Tout d'abord, connectez-vous à votre serveur Atlantic.Net Cloud. Créez un nouveau serveur en choisissant Ubuntu 18.04 comme système d'exploitation avec au moins 2 Go de RAM. Connectez-vous à votre serveur cloud via SSH et connectez-vous à l'aide des informations d'identification mises en évidence en haut de la page.

Une fois que vous êtes connecté à votre serveur Ubuntu 18.04, exécutez la commande suivante pour mettre à jour votre système de base avec les derniers packages disponibles.

apt-get update -y

Étape 2 - Installer MariaDB Server sur tous les serveurs

Tout d'abord, ajoutez la clé du référentiel MariaDB avec la commande suivante :

apt-get install software-properties-common
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

Ensuite, ajoutez le référentiel à l'aide de la commande suivante :

add-apt-repository "deb [arch=amd64,arm64,ppc64el] http://mariadb.mirror.liquidtelecom.com/repo/10.4/ubuntu $(lsb_release -cs) main"

Une fois le référentiel ajouté, mettez à jour le référentiel avec la commande suivante :

apt-get update -y

Enfin, installez le serveur MariaDB avec la commande suivante :

apt-get install mariadb-server -y

À partir de la version 10.1, la fonctionnalité de cluster Galera est intégrée à MariaDB. Le package MariaDB Galera Server est automatiquement installé avec le serveur MariaDB.

Vous pouvez le configurer avec la commande suivante :

mysql_secure_installation

Répondez à toutes les questions, comme indiqué ci-dessous :

Enter current password for root (enter for none): Provide your root user password
Switch to unix_socket authentication [Y/n] n
Change the root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Remarque  :Veuillez répéter les étapes ci-dessus sur les trois serveurs.

Étape 3 – Configurer chaque serveur du cluster

À ce stade, nous avons installé et configuré le serveur MariaDB sur chaque serveur. Ensuite, vous devrez configurer le cluster Galera pour communiquer entre les serveurs. Pour ce faire, vous devrez créer un fichier de configuration commun sur chaque serveur.

Dans cette section, nous allons vous montrer comment configurer chaque serveur du cluster.

Configurer le premier serveur

Tout d'abord, connectez-vous au premier serveur et créez un fichier de configuration Galera avec la commande suivante :

nano /etc/mysql/conf.d/galera.cnf

Ajoutez les lignes suivantes (assurez-vous d'entrer vos propres adresses IP de serveur) :

[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0

# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so

# Galera Cluster Configuration
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://192.168.0.101,192.168.0.102,192.168.0.103"

# Galera Synchronization Configuration
wsrep_sst_method=rsync

# Galera Node Configuration
wsrep_node_address="192.168.0.101"
wsrep_node_name="server1"

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, vous pouvez passer au deuxième serveur.

Configurer le deuxième serveur

Ensuite, connectez-vous au deuxième serveur et créez un fichier de configuration Galera avec la commande suivante :

nano /etc/mysql/conf.d/galera.cnf

Ajoutez les lignes suivantes :

[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0

# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so

# Galera Cluster Configuration
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://192.168.0.101,192.168.0.102,192.168.0.103"

# Galera Synchronization Configuration
wsrep_sst_method=rsync

# Galera Node Configuration
wsrep_node_address="192.168.0.102"
wsrep_node_name="server2"

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, vous pouvez passer au troisième serveur.

Configurer le troisième serveur

Ensuite, connectez-vous au troisième serveur et créez un fichier de configuration Galera avec la commande suivante :

nano /etc/mysql/conf.d/galera.cnf

Ajoutez les lignes suivantes :

[mysqld]
binlog_format=ROW
default-storage-engine=innodb
innodb_autoinc_lock_mode=2
bind-address=0.0.0.0

# Galera Provider Configuration
wsrep_on=ON
wsrep_provider=/usr/lib/galera/libgalera_smm.so

# Galera Cluster Configuration
wsrep_cluster_name="galera_cluster"
wsrep_cluster_address="gcomm://192.168.0.101,192.168.0.102,192.168.0.103"

# Galera Synchronization Configuration
wsrep_sst_method=rsync

# Galera Node Configuration
wsrep_node_address="192.168.0.103"
wsrep_node_name="server3"

Enregistrez et fermez le fichier lorsque vous avez terminé.

À ce stade, nous avons configuré les trois serveurs pour qu'ils communiquent entre eux.

Étape 4 - Initialiser le cluster Galera

Avant de démarrer le cluster, vous devrez arrêter le service MariaDB sur tous les serveurs.

Exécutez la commande suivante pour arrêter le service MariaDB sur tous les serveurs.

systemctl stop mariadb

Ensuite, initialisez le cluster dans le premier nœud avec la commande suivante :

galera_new_cluster

La commande ci-dessus démarrera le cluster et ajoutera server1 au cluster.

Vous pouvez le vérifier avec la commande suivante :

mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"
Enter password:

Fournissez votre mot de passe root et appuyez sur Entrée. Vous devriez voir le résultat suivant :

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 1     |
+--------------------+-------+

Ensuite, allez sur le deuxième serveur et démarrez le service MariaDB :

systemctl start mariadb

Ensuite, vérifiez la taille de votre cluster avec la commande suivante :

mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"
Enter password:

Fournissez votre mot de passe root et appuyez sur Entrée. Vous devriez voir que le deuxième serveur a rejoint le cluster.

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 2     |
+--------------------+-------+

Ensuite, allez sur le troisième serveur et démarrez le service MariaDB :

systemctl start mariadb

Ensuite, vérifiez la taille de votre cluster avec la commande suivante :

mysql -u root -p -e "SHOW STATUS LIKE 'wsrep_cluster_size'"
Enter password:

Fournissez votre mot de passe root et appuyez sur Entrée. Vous devriez voir que le troisième serveur a rejoint le cluster.

+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| wsrep_cluster_size | 3     |
+--------------------+-------+

Étape 5 – Tester la réplication du cluster Galera

Votre cluster Galera est maintenant opérationnel. Il est temps de tester et de voir si la réplication fonctionne.

Pour ce faire, créez une base de données sur le premier serveur et vérifiez si elle a été répliquée sur d'autres serveurs.

Sur le serveur1, connectez-vous au shell MySQL avec la commande suivante :

mysql -u root -p

Indiquez votre mot de passe root lorsque vous y êtes invité, puis créez une base de données avec la commande suivante :

create database replicadb;
create database mydb;

Ensuite, quittez le shell MySQL avec la commande suivante :

exit;

Sur le serveur2, connectez-vous au shell MySQL avec la commande suivante :

mysql -u root -p

Fournissez votre mot de passe root lorsque vous y êtes invité et vérifiez si la base de données existe.

show databases;

Vous devriez obtenir le résultat suivant :

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydb               |
| mysql              |
| performance_schema |
| replicadb          |
+--------------------+

Sur le serveur3, connectez-vous au shell MySQL avec la commande suivante :

mysql -u root -p

Fournissez votre mot de passe root lorsque vous y êtes invité et vérifiez si la base de données existe.

show databases;

Vous devriez obtenir le résultat suivant :

+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydb               |
| mysql              |
| performance_schema |
| replicadb          |
+--------------------+

La sortie ci-dessus indique clairement que la réplication fonctionne correctement.

Conclusion

Toutes nos félicitations! Vous avez installé et configuré avec succès un cluster MariaDB Galera à trois nœuds sur Ubuntu 18.04 VPS. Vous devriez maintenant avoir suffisamment de connaissances pour configurer un cluster MariaDB Galera dans un environnement de production. Vous pouvez visiter la documentation de MariaDB Galera pour plus d'informations.


Linux
  1. Comment installer MariaDB Galera Cluster sur Ubuntu 16.04

  2. Comment installer et configurer le serveur DHCP sur Ubuntu 20.04

  3. Comment installer et configurer le serveur Redis dans Ubuntu

  4. Comment installer et configurer le serveur OpenVPN sur Ubuntu 20.04

  5. Comment installer et configurer Fail2ban sur Ubuntu ?

Comment installer et configurer le serveur LAMP sur Ubuntu

Comment installer et configurer le serveur OpenLDAP sur Ubuntu 16.04

Comment installer et configurer VNC sur Ubuntu Server 20.04

Comment installer et configurer Parse Server sur Ubuntu 20.04

Comment installer et configurer un serveur TeamSpeak sur Ubuntu 18.04

Comment installer et configurer un serveur Minecraft sur Ubuntu 18.04