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).
Deploy a Galera 3 cluster with MariaDB 10.1, supports SELinux, firewalld, Pacemaker
ansible-galaxy install uoi-io.galera