Failover Manager Overview¶
EDB Postgres Failover Manager(EFM)クラスターは、ネットワーク上の次のホストにあるフェールオーバーマネージャープロセスで構成されます。
プライマリノード-プライマリノードは、データベースクライアントにサービスを提供しているプライマリデータベースサーバーです。
1つ以上のスタンバイノード-スタンバイノードは、プライマリノードに関連付けられたストリーミングレプリケーションサーバーです。
監視ノード-監視ノードは、フェールオーバーシナリオでプライマリまたはスタンバイのアサーションを確認します。クラスターに3つ以上のノードが含まれる場合、クラスターには専用の監視ノードは必要ありません。データベースホストである3番目のクラスターメンバーがない場合は、専用の監視ノードを追加できます。クラスターには、複数の監視ノードが含まれる場合があります。
従来、クラスタ は、複数のデータベースを管理するPostgresの単一インスタンスです。このドキュメントでは、クラスターという用語はFailover Managerを指しますクラスター。AFailover Managerクラスターは、クラウドまたは従来のネットワーク上のサーバーに存在し、JGroupsツールキットを使用して通信するプライマリエージェント、1つ以上のスタンバイエージェント、およびオプションの監視エージェントで構成されます。
仮想IPアドレスを使用するEFMシナリオ¶
非監視エージェントが起動すると、ローカルデータベースに接続し、データベースの状態を確認します。
エージェントがデータベースに到達できない場合、エージェントはアイドルモードで起動します。
データベースが回復中であることがわかると、エージェントはスタンバイの役割を引き継ぎます。
データベースが回復中でない場合、エージェントはプライマリの役割を引き受けます。
フェイルオーバーの場合、|Failover Managerプロモートされたスタンバイがクラスター内の最新のスタンバイであることを確認しようとします。スタンバイノードがプライマリノードと同期していない場合、データが失われる可能性があることに注意してください。
`JGroups<http://www.jgroups.org/>`_はFailover Managerを可能にするテクノロジーを提供しますメンバーノードが互いに通信し、ノード障害を検出できるクラスターを作成します。
上記の図はFailover Managerを示しています仮想IPアドレスを使用するクラスター。独自の script の代わりにロードバランサーを使用できます。また、高可用性のためにネイティブEFM-Pgpool統合を有効にすることもできます。