ウォームスタンバイ

ウォームスタンバイは、障害発生時のダウンタイムを最小限に留める手法の一つです。PowerGresを2系統用意してそれぞれを稼動系、待機系とし、障害発生時に切り替えることで耐障害性を向上することができます。

PowerGresはこれを実現するために、待機系は、稼動系から定期的にアーカイブログをダウンロードして適用します。アーカイブログは、トランザクションログのコピーです。以下のそれぞれのタイミングで生成されます。したがって、更新内容の反映は非同期で行われます。

! 注意

稼動系と待機系のPowerGresは、同一プラットフォームかつ同一バージョンである必要があります。
稼動系から待機系へのフェイルオーバは、手動で行う必要があります。自動では行われません。
待機系は常にリカバリを実施しているため、接続することはできません。
障害発生時は、以下の更新内容については待機系に反映できないため、失われますのでご注意ください。
データの損失を一定の範囲内に収めるには archive_timeout を設定します(「設定」「WAL」「アーカイブ生成」の中に項目があります)。 archive_timeout が 300秒であれば、5分前くらいのデータ更新内容までは待機系の転送されていることが期待できます。


1稼動系となるサーバの事前設定

ウォームスタンバイ構成を構築するには、事前に設定が必要です。稼動系となるサーバのマシンで、PowerGres Managerを起動して以下の設定を行います。

  1. サービスが開始していることを確認します。
    詳細については「基本的な使い方」の「2. サービス開始までの流れ」と「3. サービス稼働の確認」を参照してください。
  2. 『PITR』ツリーの『全般』タブにある『アーカイブモードを有効にする』にチェックを入れます。
  3. 『ベースバックアップとアーカイブログの格納ディレクトリ』の欄にデータベースクラスタディレクトリ以下にあるディレクトリを絶対パスで指定します。 『選択』ボタンから選択することもできます。

    ! 注意

    ウォームスタンバイの稼動系サーバにする場合、『ベースバックアップとアーカイブログの格納ディレクトリ』の欄は、必ずデータベースクラスタディレクトリ以下にあるディレクトリを指定してください。これはデータベースへの接続プロトコルを通して、アーカイブログを転送するための制限事項となります。ベースバックアップを取るときには、ディレクトリ内に含まれるアーカイブログディレクトリを自動的に除外するようになっています。

  4. 『指定世代以前のバックアップを自動的に削除』のチェックを外します。

    ! 注意

    稼動系サーバのアーカイブログは、待機系サーバによって削除されます。待機系サーバが存在しない間は、アーカイブログが削除されずにたまっていきますのでご注意ください。

  5. 『適用』ボタンをクリックします。
    アーカイブログが指定した格納ディレクトリに保存されるように設定されます。

    画面イメージ

    ! 注意

    手動でarchive_commandやarchive_modeを変更すると、PowerGres Managerによるウォームスタンバイ関連の操作が正しく行えなくなります。

  6. 設定を有効にするには、サービスを再起動します。
    サービスを再起動すると、データの更新によって発生するトランザクションログがアーカイブログとして保存されるようになります。
  7. ベースバックアップを作成します。
    ベースバックアップの作成は、『PITR』ツリーの『ベースバックアップ』タブで行います。詳細については「PITR」の「2. ベースバックアップ」を参照してください。
  8. 待機系サーバからの接続を許可するように接続認証を設定します。
    待機系サーバからの接続は、postgresデータベースへのスーパユーザによるパスワード認証接続となります。
    設定方法の詳細については「設定」の「2. 接続認証」を参照してください。

2待機系となるサーバの設定

設定方法の詳細については「サーバの登録」の「1-3. 待機系サーバを作成して登録」を参照してください。

待機系サーバを作成したら、「待機系としてサービス開始」を行います。