Go to file
2018-06-21 18:32:58 +02:00
creolefuncs Adding mariadb service management 2018-04-12 10:38:53 +02:00
dicos Adding tunning options for InnoDBLogBufferSize and InnoDBLogFileSize 2018-06-21 15:57:17 +02:00
postservice Manage multiple clients 2018-05-28 16:13:45 +02:00
posttemplate Stoping service before bootstrap 2018-05-09 17:01:22 +02:00
preservice Fixing init script 2018-05-09 17:07:19 +02:00
scripts Using the correct Variable name 2018-04-12 17:16:59 +02:00
tmpl Make cache query really disabled 2018-06-21 18:32:58 +02:00
apps.mk Adding project base 2018-04-10 14:21:22 +02:00
eole-mariadb.mk Adding eole-mariadb.mk to deploy creolefuncs 2018-04-11 17:11:16 +02:00
eole.mk Adding project base 2018-04-10 14:21:22 +02:00
LICENSE Initial commit 2018-04-10 14:15:57 +02:00
Makefile Adding project base 2018-04-10 14:21:22 +02:00
README.md Manage multiple clients 2018-05-28 16:13:45 +02:00

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

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

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     |
+--------------------+-------+