PostgreSQL データベースクラスターをインストールして設定する前に、設定する方法を理解しておくことが重要です。また、アクティブ/スタンバイとアクティブ/アクティブ構成の概念、およびそれらを PostgreSQL 構成で設定する方法を理解することも重要です。
PostgreSQL データベースクラスターの設定に関する考慮事項
LifeKeeper for Windows for PostgreSQL は、PostgreSQL データベースクラスターの管理に Windows サービスを使用します。PostgreSQL データベースクラスター用の Windows サービスがない場合は、PostgreSQL 階層の作成時にセットアップされます。
LifeKeeper for Windows で PostgreSQL データベースクラスターを保護するには、次の条件が必要です。
- PostgreSQL が稼働している
- PostgreSQL の postmaster プロセスを、port オプション -p port を指定して実行している
- PostgreSQL データベースのクラスターデータディレクトリは、保護対象のボリューム上に存在する
- PostgreSQL データベースのクラスターデータディレクトリ、サブディレクトリ、およびすべてのファイルは、すべてのサーバー上の Windows サービスアカウントからアクセス可能である
現在、この Recovery Kit には次の構成上の制限事項があります。
- IP リソースインスタンスを階層の一部として自動的に追加しません。ユーザーがリモートで接続する場合は、IP リソースを作成し、PostgreSQL 階層に子リソースとして追加する必要があります。
- どのボリュームリソースをリソース階層の一部として含める必要があるかを判断するときは、データベースクラスターのデータディレクトリの場所のみを考慮に入れてください。データベーステーブルスペースがデータディレクトリと同じ保護ボリューム上にない場合は、テーブルスペースを含むボリュームを保護し、PostgreSQL 階層内の子リソースとして追加する必要があります。
PostgreSQL のアクティブ/スタンバイ構成
共有ボリュームまたは複製されたボリューム上に PostgreSQL データベースクラスターが1つしかない場合、構成はアクティブ/スタンバイになります。PostgreSQL データベースのクラスターサービスは、一度に1つのシステム上でのみ実行されます。サーバーには、特定の階層のフェールオーバーの順序を決定する LifeKeeper for Windows 内の優先順位が割り当てられます。
以下の図は、1つの PostgreSQL インスタンスが 1組のサーバーにインストールされている様子を示しています。このインスタンスには、1つのボリューム上に存在する1つのデータベースクラスター PGSQL1 が含まれています。
LifeKeeper for Windows 内で PostgreSQL 階層を作成する場合は、PostgreSQL のデータディレクトリ(データベースクラスターの場所)を指定するように求められます。データベースクラスターへのリモート接続を行う場合、保護された IP リソースを設定し、リソース階層に追加する必要があります。その後、LifeKeeper for Windows はそのインスタンスの構成データを読み取り、関連付けられたボリュームを階層にプルします。
階層が作成されると、LifeKeeper GUI に次のように表示されます。
アクティブ/スタンバイフェールオーバー
障害が発生した場合、LifeKeeper for Windows は、PostgreSQL の階層をバックアップサーバーで In Service にします。PostgreSQL はバックアップサーバーで起動され、以下の図に示すように、データベースクラスターの保護を引き継ぎます。
PostgreSQL のアクティブ/アクティブ構成
initdb を使用して、複数の PostgreSQL のデータベースクラスターを任意のサーバー上で設定できます。LifeKeeper for Windows は、アクティブ/アクティブ構成と呼ばれる複数の PostgreSQL データベースクラスターを保護することができます。 LifeKeeper for Windows は、接続に使用されるポートによって各インスタンスを識別します。
各データベースクラスターは、単一の LifeKeeper for Windows 階層で保護されています。
以下の図は、2つの PostgreSQL データベースクラスター、PGSQL1 と PGSQL2 を示しています。
注記:
- この構成では、Server1 が PGSQL1 データベースクラスターのプライマリーサーバー、Server2 が PGSQL2 データベースクラスターのプライマリーサーバーです。
- 各サーバーは、複数のインスタンスのプライマリーサーバーおよびバックアップサーバーとなることができます。
- Server1 または Server2 が両方のデータベースクラスターのプライマリーサーバーになる可能性があります。
このトピックへフィードバック