ページの先頭行へ戻る
Enterprise Service Development Platform V1.0.0 運用ガイド
FUJITSU Software

10.5 API Proxyの復旧

フェイルオーバ発生時の復旧手順について説明します。

以下では、各API Proxyサーバにログインし、管理者権限に変更してから実施します。詳細は、「第2章 共通の操作」を参照してください。

  1. 復旧させる旧master DBサーバを起動します。

    その後、起動した旧master DBサーバ上のfj_kong_dbコンテナのみを停止します。詳細は、「6.2.2 API Proxyサーバ内コンテナの停止」を参照してください。

  2. 旧master DBサーバ上でデータディレクトリを削除します。

    >rm -rf /var/FJSGHD/kong/postgres/data/pgdata/
  3. 旧master DBサーバ上で以下のコマンドによりベースバックアップを取得します。

    >pg_basebackup -x -h <旧slave サーバのIPアドレス> -U <ユーザー名> -R -D
     /var/FJSGHD/kong/postgres/data/pgdata/ 

    <ユーザー名>には、構築時に指定したユーザー名を指定します。

  4. 旧master DBサーバ上のfj_kong_dbコンテナを起動します。詳細は、「6.1.2 API Proxyサーバ内コンテナの起動」を参照してください。

  5. 復旧させる旧master DBサーバを以下のコマンドでmasterに昇格させます。

    >docker exec -u postgres fj_kong_db /usr/lib/postgresql/9.6/bin/pg_ctl promote -D
     /var/lib/postgresql/data/pgdata

    正常終了した場合は、以下が表示されます。

    server promoting
  6. 旧master DBサーバ上で以下のコマンドを実施し、Pgpool-Ⅱにnodeを復帰させます。

    docker exec -ti fj_pgpool2 pcp_attach_node -n 0 -h /var/run/pgpool -U <ユーザー名>
    Password:  

    <ユーザー名>には、構築時に指定したユーザー名を指定します。

    「Password」の入力が求められます。構築時に指定したパスワードを指定します。

    正常に終了した場合は、以下が表示されます。

    pcp_attach_node -- Command Successful
  7. 旧master DBサーバ上で以下のコマンドを実行します。

    >sed -ie "s/^pg_host = .*$/pg_host = <旧master DBサーバのIPアドレス>/" /var/FJSGHD/kong/conf/kong.conf
  8. 旧master DBサーバ上でfj_kongコンテナを再起動します。

    1. 6.2.2 API Proxyサーバ内コンテナの停止」に従って、旧master DBサーバ上のfj_kongコンテナのみを停止します。
    2. 6.1.2 API Proxyサーバ内コンテナの起動」に従って、旧master DBサーバ上のfj_kongコンテナを起動します。
  9. 旧slave DBサーバ上のfj_kong_dbコンテナのみを停止します。詳細は、「6.2.2 API Proxyサーバ内コンテナの停止」を参照してください。
  10. 旧slave DBサーバ上のデータディレクトリを削除します。

    >rm -rf /var/FJSGHD/kong/postgres/data/pgdata/
  11. 旧slave DBサーバ上で以下のコマンドによりベースバックアップを取得します。

    >pg_basebackup -x -h <master DBサーバのIPアドレス> -U <ユーザー名> -R -D \
     /var/FJSGHD/kong/postgres/data/pgdata/

    <ユーザー名>には、構築時に指定したユーザー名を指定します。

  12. 旧slave DBサーバ上のfj_kong_dbコンテナを起動します。詳細は、「6.1.2 API Proxyサーバ内コンテナの起動」を参照してください。

  13. 旧slave DBサーバ上で以下のコマンドを実施し、Pgpool-Ⅱにnodeを復帰させます。

    >docker exec -ti fj_pgpool2 pcp_attach_node -n 1 -h /var/run/pgpool -U <ユーザー名>
    Password:

    <ユーザー名>には、構築時に指定したユーザー名を指定します。

    「Password」の入力が求められます。構築時に指定したパスワードを指定します。

    正常に終了した場合は、以下が表示されます。

    pcp_attach_node -- Command Successful
  14. 旧slave DBサーバ上で以下のコマンドを実行します。

    sed -ie "s/^pg_host = .*$/pg_host = <旧master DBサーバのIPアドレス>/" /var/FJSGHD/kong/conf/kong.conf
  15. 旧slave DBサーバ上でfj_kongコンテナを再起動します。

    1. 旧slave DBサーバ上のfj_kongコンテナのみを停止します。詳細は、「6.2.2 API Proxyサーバ内コンテナの停止」を参照してください。
    2. 旧slave DBサーバ上のfj_kongコンテナを起動します。詳細は、「6.1.2 API Proxyサーバ内コンテナの起動」を参照してください。