MariaDB Galera Cluster 復旧方法

忘れないようにメモ

全ノードにおよぶ障害が発生しクラスタが崩壊した場合の復旧手順メモ

※注意:この方法は、クラスタを組みなおした際、初期ノードとしたノードのデータになるので、初期ノード以外のノードが最新データを持っていた場合データロストする可能性が高いので注意が必要!

 

1.全ノードのMariaDBを停止する

systemctl stop mariadb

 

2.最新データを持っているノードをさがす

1台ずつ起動して wsrep_last_committed の値を確認し、停止させる

galera_new_cluster

show status like ‘wsrep_%’;

systemctl stop mariadb

 

3.wsrep_last_committedの値が一番大きいノードを初期ノードとして起動する

初期ノードの設定を行う

vi /etc/my.cnf.d/server.cnf

[galera] の下にある wsrep_cluster_address にIP登録がある場合、初期ノードはIPを消す

wsrep_cluster_address=gcomm://

MariaDBを初期ノードとして起動する

galera_new_cluster

 

4.2番目以降のノードを起動する

vi /etc/my.cnf.d/server.cnf

[galera] の下にある wsrep_cluster_address に初期ノードと自分のIPを登録する

wsrep_cluster_address=gcomm://初期ノードIP,自分のIP

MariaDBを起動する

systemctl start mariadb

 

上記を実施して2番目以降のノードで起動時にエラーが発生する場合 grastate.dat を削除する

grastate.dat は /var/lib/mysql/ にある