web-dev-qa-db-ja.com

Galeraクラスターを「安全に」シャットダウン/再起動する方法は?

Galera(Ubuntu 14.04)を初めてセットアップしましたが、ノードの再起動後にクラスターを再起動できません。私は このガイド に従っていますが、シャットダウンまたは再起動の処理方法(カーネルパッチ、ハイパーバイザーの更新、定期的なメンテナンスの場合)については正確に説明されていません。

「safe_to_bootstrap」であるノードを見つける方法を説明する情報 ここ を少し見つけましたが、これはクラッシュしたノードを説明していると思います。上記のリンクは、これを、回復の運がほとんどないように見えるクラッシュしたノードとして説明しています。

# cat /var/lib/mysql/grastate.dat
# GALERA saved state
version: 2.1
uuid:    a4f9af07-f235-11e7-a0c0-233dd732dc29
seqno:   -1
safe_to_bootstrap: 1

ただし、そのノードを起動しようとすると、daemon.logでエラーが発生します。

`WSREP: failed to open gcomm backend connection: 110: failed to reach primary view: 110 (Connection timed out)`

クラスタをシャットダウンする最良の方法と、安全に再起動するにはどうすればよいですか?慣習的なrebootコマンドは、Galeraクラスターを正常にシャットダウンするには不十分だと思います。

1
Server Fault

クラスターを正常にシャットダウンするには、まずクラスターのステータスを確認します。各ノードについて、ステータスを確認します。次に、ステータスが同期されている場合は、ノードを一度に1つずつシャットダウンできます。トリッキーなのは、ノードを再起動すると、シャットダウンするとクラスターが破壊されるため、クラスターを再作成する必要があることです。クラスター内のすべてのノードが同期されている場合(つまり、同じ正の「seqno」値が含まれている場合)、どのノードでも新しいクラスターを開始できます。可能であれば、本番環境で実行する前に、これを徹底的にテストします。

0
Tux_DEV_NULL

この質問への回答が遅れていることは承知しています。ただし、mariadbgaleraクラスターを安全にシャットダウンして再起動する方法について正確な答えを探している人がいる場合に備えて。

たとえば、ubuntuサーバーで実行されている3つのmariadbガレラノード(1,2,3)があります。クラスターを破壊せずに安全な方法でクラスターを停止/シャットダウンするには:

  1. クラスターノードに対するアクティブなトランザクションまたは接続がないことを確認します。
  2. Node3で次のコマンドを実行して、ノードが最新かどうかを確認します。SHOW STATUS LIKE 'wsrep_local_state_comment';戻り値として 'synced'が表示されるはずです3-次のコマンドを実行してmariadbサービスを停止します。Sudo systemctl stop mariadb
  3. Node2とnode1で、最初にnode2で、次にnode1で、同じ手順を繰り返します。

ここで、ガレラクラスターを最善の方法で停止し、次のようにnode1から再開します。

1- Node1で次のコマンドを実行します:galera_new_cluster2-次にNode2でSudosystemctl start mariadb 3-node3でSudosytsemctl start mariadb