uoi-io.galera

Ansible Galera (Prêt pour OpenStack)

Ce module permet de configurer un cluster Galera.

Deux dépôts seront ajoutés au système de packaging :

  • MariaDB (MariaDB, Galera)
  • Percona (xtrabackup)

Distributions supportées :

  • CentOS 7.x
  • RedHat EL 7.x
  • Debian 8.x

Fonctionnalités supportées :

  • Firewalld (les paquets iptables et firewalld sont nécessaires sur le serveur)
  • SELinux
  • Pacemaker

Le support de Pacemaker fournit l'outil clustercheck et la configuration nécessaire pour xinetd.

Lorsque le support de Pacemaker est défini, le cluster Galera sera arrêté et l’option wsrep_cluster_address de la configuration MariaDB sera supprimée pour laisser Pacemaker décider.

Exigences

Ce module nécessite au moins 3 nœuds et Ansible 2.0.

Variables du rôle

Si galera_reset_cluster est défini sur true, toutes les bases de données seront effacées, soyez très prudent !

CONFIG

### MARIADB
maître: ctrl01
adresse_de_liaison_mariadb: 0.0.0.0
port_mariadb: 3306
nb_connexions_max_mariadb: 4096
taille_cache_requêtes_mariadb: 0
moteur_de_stockage_par_defaut_mariadb: InnoDB
mot_de_passe_maintenance_mariadb: I3uL6AqJLHInv85x
mot_de_passe_root_mariadb: 3248ew7dsYUG762
hôtes_autorisés_mariadb: 192.168.%
répertoire_des_données_mariadb: /var/lib/mysql

### GALERA
adresse_noeud_galera: "{{ ansible_eth0.ipv4.address }}"
support_pacemaker_galera: false
utilisateur_clustercheck_galera: clustercheck
mot_de_passe_clustercheck_galera: Y3aH1l0ved2CH3CK
reset_cluster_galera: false
selinux_galera: true
firewalld_galera: true
nom_du_cluster_galera: uoi-sql-cluster
méthode_sst_galera: xtrabackup-v2
utilisateur_sst_galera: sst-replication
mot_de_passe_sst_galera: gr34tp4ss0rd
nœuds_cluster_galera:
  - ctrl01
  - ctrl02
  - ctrl03
options_fournisseur_galera: 'pc.ignore_quorum=true; gcache.size=1G'
retry_autocommit_galera: 10
threads_esclaves_galera: 8

VARIABLES

Étant donné que le module prend en charge les distributions RedHat et Debian, nous devons définir certaines valeurs en fonction de la famille du système d'exploitation.

### REDHAT
# fichier : roles/galera/vars/RedHat.yml
paquets_galera:
  - MariaDB-server
  - percona-xtrabackup
  - socat
  - MySQL-python
  - percona-toolkit
  - galera
  - policycoreutils-python
  - checkpolicy
  - xinetd
nom_svc_mariadb: mariadb
config_mariadb: my.cnf.d/server.cnf
fournisseur_galera: /usr/lib64/galera/libgalera_smm.so
package_percona: https://www.percona.com/redir/downloads/percona-release/redhat/latest/percona-release-0.1-3.noarch.rpm
### DEBIAN
# fichier : roles/galera/vars/Debian.yml
paquets_galera:
  - mariadb-server
  - xtrabackup
  - socat
  - python-mysqldb
  - percona-toolkit
  - xinetd
nom_svc_mariadb: mysql
config_mariadb: mysql/conf.d/galera.cnf
fournisseur_galera: /usr/lib/galera/libgalera_smm.so
## PRINCIPAL
# fichier : roles/galera/vars/main.yml
port_xinet_galera: 9200

# PORTS DU FIREWALL
fw_mysql: "{{ port_mariadb }}"
fw_mysql_ist: 4568
fw_mysql_sst: 4444
fw_galera: 4567
fw_xinetd: "{{ port_xinet_galera }}"

Dépendances

Aucune.

Exemple de Playbook

maître: node1
adresse_de_liaison_mariadb: 0.0.0.0
nb_connexions_max_mariadb: 4096
mot_de_passe_maintenance_mariadb: I3uL6AqJLHInv85x
mot_de_passe_root_mariadb: 3248ew7dsYUG762
hôtes_autorisés_mariadb: 10.0.%

adresse_noeud_galera: "{{ ansible_eth0.ipv4.address }}"
support_pacemaker_galera: false
utilisateur_clustercheck_galera: clustercheck
mot_de_passe_clustercheck_galera: Y3aH1l0ved2CH3CK
nom_du_cluster_galera: uoi-sql-cluster
mot_de_passe_sst_galera: gr34tp4ss0rd
nœuds_cluster_galera:
  - node-1
  - node-2
  - node-3
  - node-4
  - node-5

statut-galera

À la fin du déploiement, veuillez exécuter la commande galera-status pour obtenir un état clair du cluster Galera.

# galera-status

Licence

Apache

Informations sur l'auteur

Ce rôle a été créé en 2016 par Gaëtan Trellu (goldyfruit).

À propos du projet

Deploy a Galera 3 cluster with MariaDB 10.1, supports SELinux, firewalld, Pacemaker

Installer
ansible-galaxy install uoi-io.galera
Licence
apache-2.0
Téléchargements
126