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