Utilisant Centreon depuis quelques temps déjà, et plus particulièrement Centreon Enterprise Server, je vais dérouler ici son installation reposant sur un cluster Galera avec MariaDB 10.1
La première partie consistera à la mise en place du cluster Galera MariaDB (il n’y aura qu’un node exploitable au départ), une deuxième partie pour installer HAProxy afin d’accéder aux DB servers puis installer Centreon Enterprise Server dans une troisième phase, et enfin terminer la configuration du cluster DB dans la dernière partie.
Tout d’abord, pourquoi MariaDB, tout simplement car c’est le moteur installé par l’ISO de CES. Bien que la version de l’ISO soit en 5.5.x, je suis parti sur la 10.1 pour cet article mais c’est tout aussi fonctionnel avec la 5.5.x.
Toute la documentation est disponible ici et elle permet de se former sur l’installation, le fonctionnement et l’exploitation d’un cluster Galera. Il est plus prudent de partir sur un nombre impair de nodes mais dans certains cas, ce n’est pas vital. Ici j’ai installé 3 nodes afin de conserver un primary component lors d’une panne (ou de l’arrêt) d’un seul serveur sans modifier le poids des nodes.
Je ne détaillerai pas l’installation système des serveurs CentOS 7, je passerai donc directement à l’installation des services applicatifs.
Présentation de la maquette
5 serveurs vont être utilisés pour monter cette petite infra:
- un serveur Centreon : ces1 (192.168.1.175)
- un serveur HAProxy : ha1 (192.168.1.172)
- 3 serveurs MariaDB pour le cluster Galera : maria-cl1 (192.168.1.169), maria-cl2 (192.168.1.170), maria-cl3 (192.168.1.171)
Installer et configurer le cluster
à faire sur les 3 nodes
On commence par ajouter le dépôt nécessaire:
vim /etc/yum.repos.d/MariaDB.repo
# MariaDB 10.1 CentOS repository list - created 2016-04-04 21:28 UTC
# http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
Cette configuration se génère sur le site suivant : MariaDB Foundation
Installer MariaDB avec le support de Galera natif, la partie client servira pour les connexions de test:
yum -y install mariadb-server mariadb-client
Paramétrage du moteur
systemctl start mysql mysql_secure_installation
Les paramètres de ce script sont décrits ici dans la partie Installation du SGBD MySQL.
systemctl stop mysql
Configurations du système
Il faut créer l’arborescence des logs:
mkdir /var/log/mysql cd /var/log/mysql/ touch mysql.log touch mysql-slow.log chown mysql:root *.log chmod 664 *.log
Ensuite modifier le fichier server.cnf dans /etc/my.cnf.d:
bloc [mysqld]
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
open-files-limit = 32000
#LOGS
general_log_file = /var/log/mysql/mysql.log
general_log = 0
slow_query_log_file = /var/log/mysql/mysql-slow.log
slow_query_log = 1
long_query_time = 10
log_error = /var/log/mysql/mysql_error.log
bloc [galera]
[galera]
# Mandatory settings
wsrep_on=ON
wsrep_provider=/usr/lib64/galera/libgalera_smm.so
wsrep_cluster_address="gcomm://ip1,ip2,ip3"
wsrep_provider_options="gcache.size=300M; gcache.page_size=300M"
binlog_format=row
default_storage_engine=InnoDB
query_cache_size=0
innodb_autoinc_lock_mode=2
# Allow server to accept connections on all interfaces.
bind-address="ip1"
# Optional setting
wsrep_cluster_name="clu1"
wsrep_node_name="server1"
wsrep_node_address="ip1"
wsrep_sst_method=rsync
Dans le fichier ci-dessus, il faut adapter les valeurs en rouge et modifier seulement les paramètres suivants pour chaque node:
- bind-address
- wsrep_node_name
- wsrep_node_address
Ajouter les 2 lignes suivantes dans le fichier /etc/systemd/system/mariadb.service.d/limits.conf
[Service]
LimitNOFILE=32000
Recharger ensuite le service mariadb
systemctl daemon-reload
Initialiser le cluster
seulement sur le node 1
Créer le cluster et lancer le service
galera_new_cluster systemctl start mysql
Ne pas démarrer les autres nodes pour le moment.
Il faut maintenant mettre en place HAProxy afin de pouvoir se connecter à la base de données sans se soucier du fonctionnement des 3 nodes : Installer CES 3.3 + cluster Galera avec MariaDB 10.1 – Part 2.