Pacemaker 基本コンポーネント

Pacemakerを使用する統合高可用性 (HA) ソリューションでは、クラスター・ソフトウェア・スタックは、 Pacemaker を効果的に実行するために必要なすべてのコンポーネントで構成されています。

重要: Db2® 11.5.8 以降では、 Pacemaker を統合クラスター・マネージャーとして使用する場合に相互フェイルオーバーの高可用性がサポートされます。 Db2 11.5.6 以降では、HADR スタンバイ・データベースへの自動フェイルオーバー用の Pacemaker クラスター・マネージャーがパッケージ化され、 Db2とともにインストールされます。 Db2 11.5.5には、 Pacemaker が含まれており、実稼働環境で使用可能です。 Db2 11.5.4では、開発環境、テスト環境、および PoC (概念検証) 環境の場合にのみ、 Pacemaker がテクノロジー・プレビューとして組み込まれています。

リソース

状態がモニター、開始、または停止される Db2 定義済みエンティティーのセット。 これには、 Db2 メンバー・プロセス、HADR 対応データベース (HADR 用)、マウント・ポイント (相互フェイルオーバー用)、イーサネット・ネットワーク・アダプター、および仮想 IP アドレスが含まれます。

制約

クラスターの作成時には、プロセスの動作を拡張するために次のルールをセットアップします。

  • ロケーションの制約 - リソースを実行できる場所。
  • 順序付けの制約-特定のリソース・アクションを実行する必要がある順序。
  • コロケーション制約-あるリソースのロケーションと別のリソースのロケーションとの依存関係。
以下は、これらの制約がどのように機能するかを示す例です。
  • 以下のロケーション制約は、インスタンス・リソース db2_draping1_gerry_0 の実行ホストとして draping1 を優先することを指定しています。
    location prefer-db2_draping1_gerry_0 db2_draping1_gerry_0 100: draping1
  • ロケーション制約には条件を付けることもできます。以下のロケーション制約は、イーサネット・ネットワーク・アダプター eth1 が正常である場合にのみ、データベース・リソースを実行することを指定しています。
    location loc-rule-db2_gerry_gerry_SAMPLE-eth1-talkers1 db2_gerry_gerry_SAMPLE-clone \
            rule -inf: db2ethmon-eth1 eq 0
  • 順序の制約は、各リソースを正しい順序で開始することを保証します。 以下の順序の制約は、データベース・リソースを 1 次 VIP リソースより先に開始することを保証します。
    order order-rule-db2_gerry_gerry_SAMPLE-then-primary-VIP Mandatory: db2_gerry_gerry_SAMPLE-clone:start db2_gerry_gerry_SAMPLE-primary-VIP:start
  • コロケーション制約は、同じホストに存在する必要があるリソースが、同じホストで現在アクティブであることを保証します。 以下のコロケーション制約は、1 次 VIP を 1 次 HADR データベースと同じホストで実行することを保証します。
    colocation db2_gerry_gerry_SAMPLE-primary-VIP-colocation inf: db2_gerry_gerry_SAMPLE-primary-VIP:Started db2_gerry_gerry_SAMPLE-clone:Master

リソース・セット

特定の制約の影響を受けるリソースのグループ。

リソース・モデル

Db2Pacemaker リソース・モデルは、すべてのリソースの事前定義された関係と制約を参照します。 リソース・モデルは、 -create オプションを指定した db2cm ユーティリティーを使用して、クラスター・セットアップの一部として作成されます。 Db2 からの承認なしでモデルの偏差または変更を行うと、モデルはサポートされなくなります。

リソース・エージェント

Pacemaker のリソース・エージェントは、 Db2 ユーザー出口です。これは、実行するために Db2 によって開発およびサポートされているシェル・スクリプトのセットです。 リソース・モデルで定義されたリソースに対するアクション。

合計 3 つの次のリソース・エージェントが提供されます。
  • db2ethmon
    • 定義されたイーサネット・ネットワーク・アダプターをモニターするリソース・エージェントです。 これはホスト・レベルのリソース・エージェントです。
  • db2inst (HADR のみ)
    • Db2 メンバー・プロセスをモニター、開始、および停止するリソース・エージェント。 これは Db2 インスタンス・レベルです。
  • db2hadr (HADR のみ)
    • 個々の HADR 対応データベースをモニター、開始、および停止するリソース・エージェントです。 これは、 Db2 データベース・レベルです。
  • db2partition (相互フェイルオーバー)
    • Db2 区画プロセスをモニター、開始、および停止するリソース・エージェント。 これは Db2 インスタンス・レベルです。
  • db2fs (相互フェイルオーバー)
    • ファイル・システムをモニター、開始、および停止するリソース・エージェント。

クラスターのトポロジーと通信層

あらゆる HA クラスター・マネージャー・ソフトウェアは、クラスターのトポロジー (またはメンバーシップ) に対する同じ認識をすべてのノードで共有するための機能を必要とします。 Pacemaker は、オープン・ソース・グループ通信システム・ソフトウェアである Corosync Cluster Engine を使用して、クラスター・トポロジーの一貫性のあるビューを提供し、各ノードでイベントが同じ順序で実行されるように信頼性の高いメッセージング・インフラストラクチャーを確保し、クォーラム制約を適用します。

クラスター・ドメインのリーダー

クラスター内のノードの 1 つがドメイン・リーダー ( Pacemaker 用語では指定コントローラー (DC) とも呼ばれる) として選択されます。ここで、DC 上にある Pacemaker コントローラー・デーモンは、すべてのクラスターの決定を行う役割を担います。 現行ドメイン・リーダーのホストで障害が発生すると、新しいドメイン・リーダーが選出されます。

Pacemaker 内部コンポーネントとそれらの相互作用について詳しくは、 Pacemaker アーキテクチャーを参照してください。