web-dev-qa-db-fra.com

La bonne façon de démarrer un cluster Galera

Je suis confus sur le bootstrap Processus du cluster Mariadb Galera.

Disons que nous avons 3 nœuds d'un cluster de Mariadb Galera, travaillant et fonctionnant normalement sur Centos6/7. Cependant, à un moment donné, nous avons (peu importe dans quelle raison) arrêter les 3 nœuds, puis commencer le cluster. Nous arrêtons les nœuds 1 par 1 normalement et proprement. Pour démarrer le cluster, je vais vérifier grastate.dat et voir quel nœud est avec la plupart des données actuelles. I bootstrap Ce nœud en premier.

Ce qui n'est pas clair pour moi, c'est comment le bootstrap est fait exactement pour Centos 6 et 7. Le 2e et 3ème nœud peut être démarré avec systemctl start mysql. Comment pouvons-nous commencer le premier nœud? Utilisons-nous service mysql start --bootstrap sur le premier nœud avec la plupart des données actuelles? J'ai lu que pour Centos 7 c'est systemctl start [email protected]. Quelle est la procédure de boostrage du premier nœud du cluster après avoir arrêté les 3 nœuds normalement?

PS: lié à cela, avec d'autres détails, est le message par DR01 : grastate.dat avec Seqno -1 sur un cluster sain. Pourquoi?

2
user3526540

Chez Mariadb 10.1 Où Galera incluait que vous devez démarrer le premier nœud avec la clé --wsrep-new-cluster

par exemple. /etc/init.d/mysql start --wsrep-new-cluster

Tous les autres nœuds commencent comme généralement:

/etc/init.d/mysql start

Pour déterminer quel nœud doit être bootstrapped, comparez le wsrep_last_committed Valeur sur tous les nœuds DB:

KVM-1> SHOW STATUS LIKE 'wsrep_%';
+----------------------+-------------+
| Variable_name        | Value       |
+----------------------+-------------+
| wsrep_last_committed | 21568       |
...
| wsrep_cluster_status | non-Primary |
+----------------------+-------------+

KVM-2> SHOW STATUS LIKE 'wsrep_%';
+----------------------+-------------+
| Variable_name        | Value       |
+----------------------+-------------+
| wsrep_last_committed |  1359       |
...
| wsrep_cluster_status | non-Primary |
+----------------------+-------------+



KVM-3> SHOW STATUS LIKE 'wsrep_%';
+----------------------+-------------+
| Variable_name        | Value       |
+----------------------+-------------+
| wsrep_last_committed |   537       |
...
| wsrep_cluster_status | non-Primary |
+----------------------+-------------+

KVM-1 a les données les plus récentes. Dans ce cas, tous les nœuds Galera sont déjà démarrés, vous n'avez donc pas besoin de bootstrap le cluster à nouveau. Nous devons simplement promouvoir KVM-1 pour être un élément principal:

KVM-1> SET GLOBAL wsrep_provider_options="pc.bootstrap=1";

Les nœuds restants se reconnecteront ensuite sur le composant principal (KVM-1) et la résynçage des données back basées sur ce nœud.

3
Roman Bogachev