Ajout nouvelle page HowtoGalera
This commit is contained in:
parent
2cc890d3ad
commit
e8550c82f6
107
HowtoMySQL/Galera.md
Normal file
107
HowtoMySQL/Galera.md
Normal file
|
@ -0,0 +1,107 @@
|
||||||
|
---
|
||||||
|
categories: databases
|
||||||
|
title: Réplication MySQL avec Galera
|
||||||
|
...
|
||||||
|
|
||||||
|
## Aperçu
|
||||||
|
|
||||||
|
Galera est un module de réplication synchrone et multi-master avec une
|
||||||
|
tolérance de panne transparente. Il se base sur la _Write-Set Replication API_
|
||||||
|
(_wsrep API_) de MySQL.
|
||||||
|
|
||||||
|
La réplication est totalement transparente pour l'application, aucun potentiel
|
||||||
|
délai de réplication ou gestion des locks entre les serveurs n'est à prévoir.
|
||||||
|
Cependant les tables non-transactionnelles de type MyISAM ne sont pas
|
||||||
|
supportées par la réplication et ne seront donc pas répliquées !
|
||||||
|
|
||||||
|
Il est conseillé d'avoir au minimum 3 serveurs en cas de conflit de
|
||||||
|
réplication, mais 2 peuvent suffire.
|
||||||
|
|
||||||
|
Documentation officielle : http://galeracluster.com/documentation-webpages/gettingstarted.html
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
~~~
|
||||||
|
# apt install galera-3 mariadb-galera-server rsync
|
||||||
|
~~~
|
||||||
|
|
||||||
|
## Configuration réseau
|
||||||
|
|
||||||
|
La réplication Galera utilise des ports réseau dédiés. Il est donc nécessaire d'autoriser les ports suivant dans les pare-feu des machines :
|
||||||
|
|
||||||
|
- 4567/tcp, 4567/udp
|
||||||
|
- 4568/tcp
|
||||||
|
- 4444/tcp
|
||||||
|
|
||||||
|
## Mise en place
|
||||||
|
|
||||||
|
Ajouter la configuration suivante dans le fichier _/etc/mysql/conf.d/galera.cnf_, sur toutes les machines du cluster :
|
||||||
|
|
||||||
|
~~~
|
||||||
|
[mysqld]
|
||||||
|
|
||||||
|
# The following MySQL options are mandatory for Galera to work
|
||||||
|
|
||||||
|
bind-address=0.0.0.0
|
||||||
|
|
||||||
|
default-storage-engine=innodb
|
||||||
|
innodb_autoinc_lock_mode=2
|
||||||
|
innodb_flush_log_at_trx_commit=0
|
||||||
|
innodb_buffer_pool_size=<votre innodb_buffer_pool_size actuel + ~ 5% pour Galera>
|
||||||
|
|
||||||
|
binlog_format=ROW
|
||||||
|
|
||||||
|
# Galera cluster configuration
|
||||||
|
|
||||||
|
wsrep_provider=/usr/lib/galera/libgalera_smm.so
|
||||||
|
wsrep_provider_options="gcache.size=300M; gcache.page_size=300M"
|
||||||
|
|
||||||
|
wsrep_cluster_name="<nom arbitraire du cluster"
|
||||||
|
wsrep_cluster_address="gcomm://<liste des adresses IP des machines du cluster, séparées par des virgules>"
|
||||||
|
|
||||||
|
wsrep_sst_method=rsync
|
||||||
|
|
||||||
|
wsrep_node_address="<adresse IP de la machine>"
|
||||||
|
wsrep_node_name="<nom de la machine>"
|
||||||
|
wsrep_retry_autocommit=4
|
||||||
|
~~~
|
||||||
|
|
||||||
|
*Note :* seul _wsrep_node_address_ et _wsrep_node_name_ sont différents d'une machine à l'autre.
|
||||||
|
|
||||||
|
Ensuite pour initialiser le nouveau cluster, il est nécessaire de démarrer l'une des machines avec l'option `--wsrep-new-cluster`.
|
||||||
|
|
||||||
|
Avant tout, s'assurer que MySQL est éteint sur chaque serveur :
|
||||||
|
|
||||||
|
~~~
|
||||||
|
# /etc/init.d/mysql stop
|
||||||
|
~~~
|
||||||
|
|
||||||
|
MySQL à partir de sa version 5.7 vient avec le script _/usr/bin/mysqld_bootstrap_, il est préférable de l'utiliser pour la première initialisation. À faire sur un des serveurs uniquement :
|
||||||
|
|
||||||
|
~~~
|
||||||
|
# /usr/bin/mysqld_bootstrap
|
||||||
|
~~~
|
||||||
|
|
||||||
|
Sur les autres serveurs, simplement démarrer MySQL de manière habituelle :
|
||||||
|
|
||||||
|
~~~
|
||||||
|
# /etc/init.d/mysql start
|
||||||
|
~~~
|
||||||
|
|
||||||
|
## Administration
|
||||||
|
|
||||||
|
Vérifier l'état du cluster :
|
||||||
|
|
||||||
|
~~~
|
||||||
|
mysql> SHOW STATUS LIKE 'wsrep_%';
|
||||||
|
+---------------------------+------------+
|
||||||
|
| Variable_name | Value |
|
||||||
|
+---------------------------+------------+
|
||||||
|
...
|
||||||
|
| wsrep_local_state_comment | Synced (6) |
|
||||||
|
| wsrep_cluster_size | 3 |
|
||||||
|
| wsrep_ready | ON |
|
||||||
|
+---------------------------+------------+
|
||||||
|
~~~
|
||||||
|
|
||||||
|
_wsrep_cluster_size_ indique ici le nombre de machine dans le cluster.
|
|
@ -5,6 +5,8 @@ title: Howto réplication MySQL
|
||||||
|
|
||||||
Pour le guide d'installation et d'usage courant, voir [HowtoMySQL](/HowtoMySQL).
|
Pour le guide d'installation et d'usage courant, voir [HowtoMySQL](/HowtoMySQL).
|
||||||
|
|
||||||
|
Pour la réplication synchrone avec Galera, voir [HowtoMySQL/Galera](/HowtoMySQL/Galera).
|
||||||
|
|
||||||
## Préparation d'une réplication MASTER/SLAVE
|
## Préparation d'une réplication MASTER/SLAVE
|
||||||
|
|
||||||
Il faut :
|
Il faut :
|
||||||
|
|
Loading…
Reference in a new issue