Galera Cluster
Calcul du quorum — Nodes available
PmaControl calcule les nœuds réellement utilisables dans le quorum Galera :
Nodes available (X) =
mysql_available = 1
AND wsrep_cluster_status = Primary
AND (
wsrep_local_state_comment = Synced
OR (Donor/Desync/Unsync AND wsrep_desync = OFF)
)
Cette règle exclut les nœuds :
- Non-Primary — Nœud hors du quorum
- Disconnected — Nœud déconnecté du cluster
- Inconsistent — Données incohérentes
- Donor avec wsrep_desync=ON — Désynchronisé volontairement
Le dénominateur Y (total) est toujours le nombre total de nœuds détectés, même si certains sont offline.
Segments wsrep
Les segments Galera (gmcast.segment) sont affichés comme sous-graphes dans Dot3 :
- SEGMENT_OK — Tous les nœuds du segment sont Synced
- SEGMENT_KO — Aucun nœud du segment n'est disponible
- SEGMENT_PARTIAL — Certains nœuds seulement sont disponibles
Flux IST / SST
PmaControl détecte les transferts d'état entre nœuds :
- IST (Incremental State Transfer) — Transfert incrémental via le cache gcache
- SST (State Snapshot Transfer) — Transfert complet (mariabackup, rsync, mysqldump)
Dot3 affiche un lien hint donor→joiner quand un SST/IST est en cours.
Arbitre garb
PmaControl détecte l'arbitre Galera (garbd) via wsrep_incoming_addresses. L'arbitre apparaît dans Dot3 comme un nœud virtuel — il participe au vote du quorum sans stocker de données.
wsrep-notify
Le script wsrep-notify.sh (dans documentation/wsrep-notify/) peut être configuré sur chaque nœud Galera pour loguer les changements d'état dans /var/log/galera.log.
# Dans my.cnf
[mysqld]
wsrep_notify_cmd = /usr/local/bin/wsrep-notify.sh