第6章 Galera の使用


高可用性のデプロイメントでは、Red Hat OpenStack Platform は MariaDB Galera Cluster を使用してデータベースのレプリケーションを管理します。「Pacemaker で設定された OpenStack サービス」で説明したように、Pacemaker は、マスター/スレーブセットリソースを使用して Galera サービスを実行します。pcs status を使用して、galera-master が実行中かどうか、およびどのコントローラーで以下を実行します。

Master/Slave Set: galera-master [galera]
     Masters: [ overcloud-controller-0 overcloud-controller-1 overcloud-controller-2 ]
Copy to Clipboard Toggle word wrap
ホスト名の解決
MariaDB Galera Cluster のトラブルシューティングを行う場合には、まずホスト名の 解決を確認 してください。デフォルトでは、director は Galera リソースを IP アドレスではなく ホスト名 にバインドします。 [1].そのため、ホスト名の解決を妨げる問題(たとえば、間違った DNS や DNS の失敗)により、Pacemaker が Galera リソースを適切に管理できなくなる可能性があります。

ホスト名の解決の問題を除外したら、クラスター自体の整合性を確認します。そのためには、各コントローラーノード のデータベースで Write Set Replication のステータスを確認します。

Write Set Replication の情報は、各ノードの MariaDB データベースに保管されます。関連する変数はそれぞれ wsrep_ の接頭辞を使用します。そのため、データベースクライアントを介してこの情報を直接クエリーできます。

$ sudo mysql -B -e "SHOW GLOBAL STATUS LIKE 'wsrep_%';"
    +------------------------+-------+
    | Variable_name          | Value |
    +------------------------+-------+
    | wsrep_protocol_version | 5     |
    | wsrep_last_committed   | 202   |
    | ...                    | ...   |
    | wsrep_thread_count     | 2     |
    +------------------------+-------+
Copy to Clipboard Toggle word wrap

MariaDB Galera Cluster の正常性と整合性を検証するには、まず最初にクラスターが正しいノード数を報告するかどうかを確認します。続いて、各ノードで以下の点を確認します。

  • 適切なクラスターに属していること
  • クラスターへの書き込みが可能であること
  • クラスターからクエリーおよび書き込みを受信できる
  • クラスター内の他のユーザーに接続されていること
  • ローカルデータベースのテーブルに Write Set をレプリケートしている

以下のセクションでは、各ステータスを調査する方法を説明します。

6.1. データベースクラスターの整合性の調査

MariaDB Galera Cluster の問題を調査する場合は、クラスター自体の整合性から始めます。クラスターの整合性を検証するには、各コントローラーノードで特定の wsrep_ データベース変数を確認する必要があります。データベースの変数を確認するには、次のコマンドを実行します。

$ sudo mysql -B -e "SHOW GLOBAL STATUS LIKE 'VARIABLE';"
Copy to Clipboard Toggle word wrap

VARIABLE は、確認する wsrep_ データベース変数に置き換えます。たとえば、ノードの クラスターの状態 UUID を確認するには、以下を実行します。

$ sudo mysql -B -e "SHOW GLOBAL STATUS LIKE 'wsrep_cluster_state_uuid';"
    +--------------------------+--------------------------------------+
    | Variable_name            | Value                                |
    +--------------------------+--------------------------------------+
    | wsrep_cluster_state_uuid | e2c9a15e-5485-11e0-0800-6bbb637e7211 |
    +--------------------------+--------------------------------------+
Copy to Clipboard Toggle word wrap

以下の表には、クラスターの整合性に関連するさまざまな wsrep_ データベース変数をまとめています。

Expand
表6.1 クラスターの整合性を確認するためのデータベース変数
変数サマリー説明

wsrep_cluster_state_uuid

クラスターの状態の UUID

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

wsrep_cluster_size

クラスター内のノード数

これは、任意のノード 1 台で確認することができます。値が実際のノード数を下回る場合には、いずれかのノードでエラーが発生したか、接続を失ったことになります。

wsrep_cluster_conf_id

クラスターの全変更回数

クラスターが複数のコンポーネント (パーティション) に分割されているかどうかを確認します。これは、ネットワークのエラーが原因となっている場合が多いです。全ノードで値が同一でなければなりません。

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

wsrep_cluster_status

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

ノードがまだクラスターへの書き込みをできるかどうかを確認します。その場合には、wsrep_cluster_statusPrimary である必要があります。それ以外の値の場合には、ノードが稼働していないパーティションの一部であることを示します。



[1] このメソッドは、IPv6 を使用するオーバークラウドで Galera が正常に起動できるようにするために実装されました (詳しくは、BZ#1298671 を参照してください)。
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る