Failover Manager(EFM)5.2.0

日本語訳|EDB Failover Manager(EFM)5.2.0

※GoogleのAutoML Translationを使用して翻訳しております。

英語原文|EDB Failover Manager(EFM)5.2.0

概要

1. EFM (Failover Manager) とは?
EDB Failover Manager (EFM) は、Postgresデータベースクラスター(PostgreSQL および EDB Postgres Advanced Server)を管理するために設計された高可用性ツールです。ストリーミングレプリケーションを使用して、耐障害性のあるデータベースアーキテクチャの構築を可能にします。EFMはデータベースノード上で実行されるエージェントで構成され、クラスターの健全性を継続的に監視し、メンバー間の通信を促進することで、データベースの可用性を維持します。

2. EFMのメリット
EFMを使用する主な利点は以下の通りです。

  • 高可用性: プライマリノードでハードウェアやソフトウェアの障害が発生した際、フェイルオーバープロセスを自動化することでサービスの中断を最小限に抑えます。
  • データ保護: Postgresのストリーミングレプリケーションを利用し、データ損失のリスクを最小化します。
  • 自動化: 障害を自動的に検知し、スタンバイノードを昇格させることで、プライマリデータベース障害時の手動介入を不要にします。
  • スプリットブレインの防止: 証人ノード(Witness nodes)や分離チェックなどのメカニズムを採用し、2つのノードが同時に「自分がプライマリである」と誤認する状況を防ぎ、データの整合性を保ちます。
  • 柔軟なアーキテクチャ: 仮想IP(VIP)、クライアント接続フェイルオーバー、PgBouncerやPgpool-IIなどの接続プーラーとの統合など、様々なデプロイ構成をサポートします。

3. メリットを実現するEFMの仕組み
EFMは、監視、通信、および自動スクリプトを組み合わせてこれらのメリットを実現します。

  • クラスターアーキテクチャ: EFMクラスターは通常、プライマリノード(読み書き用)、1つ以上のスタンバイノード(読み取り専用/レプリケーションターゲット)、およびオプションのウィットネスノード(データベースを持たずに定足数/合意形成を支援するノード)で構成されます。
  • 継続的な監視: 全ノードでエージェントが実行されます。エージェントはローカルデータベースの健全性(接続試行)をチェックし、JGroupsを通じて他のエージェントと通信し、クラスターメンバーの状態を確認します。
  • 障害検知と検証: エージェントが障害(例:プライマリデータベースへの接続不可)を検知すると、他のエージェントとその事実を確認し、ネットワーク分離チェック(例:既知の外部サーバーへのping)を行ってローカルネットワークの問題ではないことを検証します。
  • 自動フェイルオーバー:
    • フェンシング: プライマリがダウンした場合、スプリットブレインを防ぐために隔離(例:仮想IPの解放)を試みます。
    • 昇格 (Promotion): データ損失を最小限にするため、(トランザクションログの位置に基づいて)最も最新の状態にあるスタンバイを選び、プライマリに昇格させます。
    • 再構成: 設定されている場合、残りのスタンバイノードが新しいプライマリに従うように自動的に再設定します。
    • 通知: クラスターの状態変更に関して、管理者へ通知(メール/SNMP)を送信します。

4. バージョン 5.2.0 の新機能
5.2.0 リリースでは、安定性と自動化を向上させるための機能拡張とバグ修正が行われています。

機能拡張:

  • 自動再構築: Failover Managerは、障害が発生したデータベースサーバーを pg_rewind または pg_basebackup を使用してスタンバイとして自動的に再構築することをサポートしました。これにより、フェイルオーバー後の手動メンテナンスが大幅に削減されます。
  • パフォーマンス向上: エージェント自身がネットワークから孤立したと判断した場合、切断されたスタンバイデータベースの健全性チェックをスキップし、不要な処理を削減するようになりました。
  • ログの改善: 通常の監視やヘルスチェック中に発生するデータベース接続失敗に関して、出力の一貫性を保つためにタイミング情報とスタックトレース情報を追加しました。

バグ修正:

  • データベースがまだ初期化されていない場合に efm create-standby コマンドが使用できないというバージョン5.1のリグレッション(回帰バグ)を修正しました。
  • 特定の状況下で、ローカルデータベースが初期化されていない場合にエージェントが起動しないバグを修正しました。
  • 無効なプロパティ名が使用された際のエラーメッセージを改善し、混乱を招かないように変更しました。
  • VIPが実際には使用されていない場合に、VIP解放に関する不要なログが出力されていた問題を削除しました。

Backup & Recovery

前の記事

Barman 3.17.0
AI

次の記事

EDB Postgres AI Hybrid Manager 1.3.5