« LINUX:Galera - Cluster de MariaDB » : différence entre les versions

De WIKI sur Linux (ADB)
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 39 : Ligne 39 :


=Installation=
=Installation=
La paquet de MariaDB Server doit être installé. Les dépendances nécessaires sont installées dans la foulée.
La paquet de MariaDB Server doit être installé sur toutes les machines du cluster. Les dépendances nécessaires sont installées dans la foulée.
  dnf install mariadb-server
  dnf install mariadb-server
Enfin on installe le paquet qui permet le clustering.
Enfin on installe le paquet qui permet le clustering.
  dnf install mariadb-server-galera
  dnf install mariadb-server-galera
Le paquet Rsync doit être installé:
Le paquet Rsync doit être installé aussi sur toutes les machines du cluster:
  dnf install rsync
  dnf install rsync
Il permet de synchroniser la base de données qui démarre à partir une des occurrences du cluster de MariaDB active.
Il permet de synchroniser la base de données qui démarre à partir une des occurrences du cluster de MariaDB active.
Ligne 63 : Ligne 63 :
Ces transferts de passent exclusivement entre les machines du cluster.
Ces transferts de passent exclusivement entre les machines du cluster.


Pour le FireWall Iptables, on ajoute les règles suivantes/
Pour le FireWall Iptables, on ajoute les règles suivantes sur toutes les machines du cluster:
  -A INPUT -p tcp -m tcp --dport 4444 -m iprange --src-range 192.168.1.70-192.168.1.74 -j ACCEPT
  -A INPUT -p tcp -m tcp --dport 4444 -m iprange --src-range 192.168.1.70-192.168.1.74 -j ACCEPT
  -A INPUT -p tcp -m tcp --dport 4567 -m iprange --src-range 192.168.1.70-192.168.1.74 -j ACCEPT
  -A INPUT -p tcp -m tcp --dport 4567 -m iprange --src-range 192.168.1.70-192.168.1.74 -j ACCEPT

Version du 8 avril 2023 à 22:54


retour au menu des bases de données relationnelles


retour au menu de la Haute disponibilité


But

MariaDB possède une fonctionnalité qui permet qu'il travaille en cluster. Celle-ci est dénommée Galera. Cette fonctionnalité permet à plusieurs processus de MariaDB s'exécutant chacun sur des machines différentes et connectés à un réseau de travailler de concert; toute modification effectuée sur une des machine est répercutée sur les autres machines.


Matériel et adressage IP

Dans notre exemple, nous utilisons cinq serveurs. Le schéma ci-dessous nous montre l'adressage IP et le nom de ces trois machines.

LINUX:Mariadb.galera.pdf

Les machines "sv1.home.dom", "sv2.home.dom", "sv3.home.dom" et "sv4.home.dom" vont exécuter chacune le service MariaDB ; la machine "sv0.home.dom" va exécuter le dervice Garb que nous verrons par la suite. L'ensemble de ces cinq machines constitue le cluster.


Prérequis

Sur les quatre premières machines, MariaDB doit être installé comme décrit dans l'article sur MariaDB: serveur de base de données.


Fichier "hosts"

Sur chaque machine du cluster, on ajoute un nom aux différentes adresses réseaux. On le fait en local dans le fichier "/etc/hosts" suivant le schéma ci-dessus. Son contenu devient:


127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
 
192.168.1.71 sv0.home.dom
192.168.1.71 sv1.home.dom
192.168.1.72 sv2.home.dom
192.168.1.71 sv3.home.dom
192.168.1.71 sv4.home.dom
 
# serveur mail
192.168.1.110 servermail.home.dom home.dom


Installation

La paquet de MariaDB Server doit être installé sur toutes les machines du cluster. Les dépendances nécessaires sont installées dans la foulée.

dnf install mariadb-server

Enfin on installe le paquet qui permet le clustering.

dnf install mariadb-server-galera

Le paquet Rsync doit être installé aussi sur toutes les machines du cluster:

dnf install rsync

Il permet de synchroniser la base de données qui démarre à partir une des occurrences du cluster de MariaDB active.





Configurer le mur de feu ou FireWall

MariaDB écoute sur le port TCP 3306 comme traité dans l'article sur MariaDB: serveur de base de données. Nous n'y reviendrons pas.

Par contre, la fonctionnalité Galera (Garb comprise) utilise toute une série de ports qu'il faut sécuriser.

  • le port TCP 4444 permet au programme Rsync la synchronisation au démarrage
  • les ports TCP et UDP 4567 permettent la réplication en cours d'utilisation entre les bases de données
  • Le port TCP 4568 permet le transfert incrémental de l'état afin de rattraper son retard vis-à-vis de ses collègues

Ces transferts de passent exclusivement entre les machines du cluster.

Pour le FireWall Iptables, on ajoute les règles suivantes sur toutes les machines du cluster:

-A INPUT -p tcp -m tcp --dport 4444 -m iprange --src-range 192.168.1.70-192.168.1.74 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 4567 -m iprange --src-range 192.168.1.70-192.168.1.74 -j ACCEPT
-A INPUT -p udp -m udp --dport 4567 -m iprange --src-range 192.168.1.70-192.168.1.74 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 4568 -m iprange --src-range 192.168.1.70-192.168.1.74 -j ACCEPT






retour au menu des bases de données relationnelles


retour au menu de la Haute disponibilité