Menu Close
Settings Close

Language and Page Formatting Options

7.2. データベースクラスターの整合性の確認

MariaDB Galera クラスターの問題を調査する場合、各コントローラーノードで特定の wsrep データベース変数をチェックすることで、クラスター全体の整合性をチェックできます。

手順

次のコマンドを実行し、VARIABLE を確認する wsrep データベース変数に置き換えます。

$ sudo docker exec galera-bundle-docker-0 sudo mysql -B --password="[MYSQL-HIERA-PASSWORD]" -e "SHOW GLOBAL STATUS LIKE 'VARIABLE';"

以下の例で、ノードのクラスター状態の UUID を表示する方法を説明します。

$ sudo docker exec galera-bundle-docker-0 sudo mysql -B --password="[MYSQL-HIERA-PASSWORD]" -e "SHOW GLOBAL STATUS LIKE 'wsrep_cluster_state_uuid';"

    +--------------------------+--------------------------------------+
    | Variable_name            | Value                                |
    +--------------------------+--------------------------------------+
    | wsrep_cluster_state_uuid | e2c9a15e-5485-11e0-0800-6bbb637e7211 |
    +--------------------------+--------------------------------------+

以下の表には、クラスターの整合性を確認するのに使用できる wsrep データベース変数をまとめています。

表7.1 クラスターの整合性を確認するためのデータベース変数

変数概要説明

wsrep_cluster_state_uuid

クラスターの状態の UUID

ノードが属するクラスターの ID。全ノードに同一のクラスター ID が割り当てられている必要があります。異なる ID が割り当てられたノードは、クラスターに接続できません。

wsrep_cluster_size

クラスター内のノード数

任意のノードで確認することができます。値が実際のノード数を下回る場合には、いずれかのノードで異常が発生したか、接続が失われたことを意味します。

wsrep_cluster_conf_id

クラスターの全変更回数

クラスターが複数のコンポーネント (パーティション とも呼ばれる) に分割されたかどうかを判断します。通常、ネットワーク障害が原因でパーティションが発生します。全ノードで値が同一でなければなりません。

異なる wsrep_cluster_conf_id を報告するノードがある場合には、wsrep_cluster_status の値をチェックして、ノードがクラスターにまだ書き込み可能かどうかを確認します(Primary)。

wsrep_cluster_status

Primary コンポーネントのステータス

ノードがクラスターに書き込み可能かどうかを判断します。ノードがクラスターに書き込み可能であれば、wsrep_cluster_status の値は Primary になります。それ以外の値の場合には、ノードが稼働していないパーティションの一部であることを示します。