6.2. MariaDB クラスターの整合性の確認

MariaDB Galera Cluster の問題を調べるには、各コントローラーノードで特定の wsrep データベース変数を調べて、クラスター全体の整合性を確認します。

手順

  • 以下のコマンドを実行します。その際、<variable> を確認する wsrep データベース変数に置き換えます。

    $ sudo podman exec galera-bundle-podman-0 sudo mysql -B --password="[MYSQL-HIERA-PASSWORD]" -e "SHOW GLOBAL STATUS LIKE <variable;"

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

    $ sudo podman exec galera-bundle-podman-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 データベース変数をまとめています。

表6.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 になります。それ以外の値の場合には、ノードが稼働していないパーティションの一部であることを示します。