アクティブ / スタンバイ設定では、バックアップサーバは PostgreSQL をアクティブに実行せず、プライマリサーバに障害が発生した場合に備えてスタンバイします。アクティブ / アクティブ設定では、障害時、他のサーバに対するバックアップとして各サーバがアクティブに PostgreSQL インスタンスを実行します。以下に、アクティブ / スタンバイもしくはアクティブ / アクティブ設定で PostgreSQL リソースインスタンスを保護するときに従わなければならない具体的な要件を示します。

  1. PostgreSQL の DataDir および Write-Ahead-LogPath (PGDATA/pg_xlog) を 1 つ以上の共有ファイルシステムにインストールしてください。DataDir および WAL-Path は、リソースインスタンスを保護するすべてのサーバ間で共有してください。
    • PostgreSQL オペレーティングシステムユーザは、データディレクトリと、Write-Ahead-LogPath を含むディレクトリを所有している必要があります。
    • PostgreSQL データベースは、initdb ユーティリティを使用して作成してください。initdb ユーティリティは、PostgreSQL オーナとして、-D <datadir> オプションを使用して実行する必要があります。
    • デフォルトの PostgreSQL インスタンスの自動スタートアップは無効にするか、またはデフォルトの PostgreSQL インスタンスが LifeKeeper で使用するポート以外のポートで稼働するように制限する必要があります。
    • LifeKeeper で保護する PostgreSQL インスタンスの自動スタートアップは無効にする必要があります。LifeKeeper は、保護するインスタンスの開始と停止を制御します。
    • PostgreSQL インスタンスは、階層の作成に先だって手動で開始する必要があります。インスタンスは、pg_ctl ユーティリティにバックエンドオプション – o “ – p <port>” を指定して開始してください。
  1. StartupLogPath、SocketPath 、ExecutablePath は、プライマリサーバの任意の共有ファイルシステム上か、各クラスタノードのローカルファイルシステム上に配置することができます。
    • PostgreSQL オペレーティングシステムユーザはソケットパスを含むディレクトリを所有している必要があります。
    • PostgreSQL オペレーティングシステムユーザは StartupLogPath を含むディレクトリでの書き込み権限を所有している必要があります。
  1. アクティブ / スタンバイもしくはアクティブ / アクティブのどちらかで複数のインスタンスを起動する場合は、各インスタンスに一意のポートおよびソケットパスを割り当ててください。

フィードバック

フィードバックありがとうございました

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

送信