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 が両方のデータベースクラスターのプライマリーサーバーになる可能性があります。

フィードバック

お役に立ちましたか?

はい いいえ
お役に立ちましたか
理由をお聞かせください
フィードバックありがとうございました

このトピックへフィードバック

送信