creolefuncs | ||
dicos | ||
postservice | ||
posttemplate | ||
preservice | ||
scripts | ||
tmpl | ||
apps.mk | ||
eole-mariadb.mk | ||
eole.mk | ||
LICENSE | ||
Makefile | ||
README.md |
eole-mariadb
Début des travaux pour l'utilisation de mariadb dans Eole avec des fonctionalitées avancées du type mise en clustter
How-to for Eole 2.6.2 (using this repo dico and templates)
Start with 3 fresh eolebase 2.6.2 instancied.
One for the Clustter Leader, another for the cluster Node another for the Arbitrator, the arbitrator can be replaced by another node.
The order is very important, Never configure a Node before the Leader ! The Leader must be the first one.
Add the Cadoles repository on all the nodes and the Leader
GenConfig [Mode Expert] -> Dépôts Tiers
- Libellé du dépôt : Cadoles dev
- Déclaration du dépôt : deb [ arch=all ] https://vulcain.cadoles.com 2.6.2-dev main
- Méthode de récupération de la clé publique du dépôt : URL de la clé
- URL de la clé : https://vulcain.cadoles.com/cadoles.gpg
Add the MariaDB repository on all the nodes and the Leader
GenConfig (Mode Expert) -> Dépôt tiers :
- Libellé du dépôt : MariaDB
- Déclaration du dépôt : deb [arch=amd64] http://mariadb.mirrors.ovh.net/MariaDB/repo/10.2/ubuntu xenial main
- Méthode de récupération de la clé publique du dépôt : serveur de clés
- URL du serveur de clés : hkp://keyserver.ubuntu.com:80
- Empreinte de la clé : 0xF1656F24C74CD1D8
Configure the Leader :
GenConfig (Mode Normal) -> Services :
- Activer le serveur de base de données MariaDB : oui
GenConfig (Mode Normal) -> Database :
- Activer la mise en grappe MariaDB Galera ? : oui
GenConfig (Mode Normal) -> Database cluster :
- Rôle dans la grappe : Leader
- Interface réseau dédiée à la grappe BDD : eth0
- Nom du noeud local :
- Membre de la grappe BDD :
-
Membre de la grappe BDD :
-
Adresse IP :
-
Membre de la grappe BDD :
-
Adresse IP :
-
- *Nom de la grappe :
Reconfigure Leader !
Run reconfigure command !
Configure the Nodes !
GenConfig (Mode Normal) -> Services :
- Activer le serveur de base de données MariaDB : oui
GenConfig (Mode Normal) -> Database :
- Activer la mise en grappe MariaDB Galera ? : oui
GenConfig (Mode Normal) -> Database cluster :
- Rôle dans la grappe : Node
- Interface réseau dédiée à la grappe BDD : eth0
- Nom du noeud local :
- Membre de la grappe BDD :
-
Membre de la grappe BDD :
-
Adresse IP :
-
Membre de la grappe BDD :
-
Adresse IP :
-
- *Nom de la grappe :
Reconfigure the Nodes !
Run reconfigure command on each node one by one.
Configure the Arbitrator if needed !
If you have only 2 nodes you need to setup an arbitrator, for this follow the tutorial in the eole-galera-arbitrator project page https://forge.cadoles.com/Cadoles/eole-galera-arbitrator
How-to for Eole 2.6.2 (From scratch)
Sources
- https://mariadb.com/kb/en/library/getting-started-with-mariadb-galera-cluster/
- https://mariadb.com/kb/en/library/installing-mariadb-deb-files/#installing-mariadb-galera-cluster-with-apt-get
- https://downloads.mariadb.org/mariadb/repositories/#mirror=ovh&distro=Ubuntu&distro_release=xenial--ubuntu_xenial&version=10.2
- http://galeracluster.com/documentation-webpages/?id=galera_parameters_0.8
- https://mariadb.com/kb/en/library/mariadb-galera-cluster-known-limitations/
- https://www.howtoforge.com/tutorial/how-to-install-and-configure-galera-cluster-on-ubuntu-1604/
Requirements
- 2 eolebase 2.6.2 servers
Adding MariaDB (Galera) cluster repository (on each server)
GenConfig (Mode Expert) -> Dépôt tiers :
- Libellé du dépôt : MariaDB
- Déclaration du dépôt : deb [arch=amd64] http://mariadb.mirrors.ovh.net/MariaDB/repo/10.2/ubuntu xenial main
- Méthode de récupération de la clé publique du dépôt : serveur de clés
- URL du serveur de clés : hkp://keyserver.ubuntu.com:80
- Empreinte de la clé : 0xF1656F24C74CD1D8
Installing MariaDB software on the First Node aka "Node1"
- Query-Auto
- apt install mariadb-server
Secure MariaDB installation
- mysql_secure_installation
Configure the Master
- vim /etc/mysql/conf.d/galera.cnf
[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="eole_cluster"
wsrep_cluster_address="gcomm://<IP_NODE1>,<IP_NODE2>"
# Galera Synchronization Configuration
wsrep_sst_method=rsync
# Galera Node Configuration
wsrep_node_address="<IP_NODE1>"
wsrep_node_name="Node1"
Open Firewall ports
- 3306/tcp
- 4444/tcp
- 4567/tcp
- 4568/tcp
- 4567/udp
Bootstraping the new cluster
- systemctl stop mariadb
- galera_new_cluster
Check cluster size
- mysql -u root -p -e "show status like 'wsrep_cluster_size'"
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| wsrep_cluster_size | 1 |
+--------------------+-------+
Installing MariaDB software in the Second node aka "Node2"
- Query-Auto
- apt install mariadb-server
Secure MariaDB installation
- mysql_secure_installation
Configure the Master
- vim /etc/mysql/conf.d/galera.cnf
[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="eole_cluster"
wsrep_cluster_address="gcomm://<IP_NODE1>,<IP_NODE2>"
# Galera Synchronization Configuration
wsrep_sst_method=rsync
# Galera Node Configuration
wsrep_node_address="<IP_NODE2>"
wsrep_node_name="Node2"
Open Firewall ports
- 3306/tcp
- 4444/tcp
- 4567/tcp
- 4568/tcp
- 4567/udp
Restart MariaDB
- systemctl restart mysql
Check Cluster Size
- mysql -u root -p -e "show status like 'wsrep_cluster_size'"
+--------------------+-------+
| Variable_name | Value |
+--------------------+-------+
| wsrep_cluster_size | 2 |
+--------------------+-------+