●非冗長化構成の場合
API Proxyサーバ(az1_sghpf_api_proxy_server_00)にログインします。
以下のコマンドを実行します。
>sudo su >BACKUP_FILE=<退避したバックアップデータ> >API_PROXY_CONTAINER_NAME=fj_kong >DB_CONTAINER_NAME=fj_kong_db >DB_NAME=kong >DB_USER=postgres >docker stop ${API_PROXY_CONTAINER_NAME} >PG_CTL=$(docker exec ${DB_CONTAINER_NAME} /bin/which pg_ctl) >docker exec --user ${DB_USER} ${DB_CONTAINER_NAME} ${PG_CTL} restart
データベースが正常に起動していることを確認します。以下のコマンドを実行し、標準出力に「OK」が表示されることを確認してください。「OK」以外の場合は、しばらく経ってから、再度実行してください。
>docker exec --user ${DB_USER} ${DB_CONTAINER_NAME} ${PG_CTL} status | awk -e 'BEGIN { rtn = "NG" } /server\s+is\s+running/ { rtn = "OK" } END { print rtn }'
以下のコマンドを実行し、バックアップデータをリストアします。
>docker cp ${BACKUP_FILE} ${DB_CONTAINER_NAME}:${BACKUP_FILE} >docker exec ${DB_CONTAINER_NAME} /usr/bin/dropdb -U ${DB_USER} ${DB_NAME} >docker exec ${DB_CONTAINER_NAME} /usr/bin/createdb -U ${DB_USER} ${DB_NAME} >docker exec ${DB_CONTAINER_NAME} /usr/bin/pg_restore -U ${DB_USER} -d ${DB_NAME} -Fc ${BACKUP_FILE} >docker exec ${DB_CONTAINER_NAME} /bin/rm -f ${BACKUP_FILE} >docker start ${API_PROXY_CONTAINER_NAME}
リストア後のコンテナ状態を確認します。以下のコマンドを実行し、「fj_kong」および「fj_kong_db」のコンテナのSTATUSに「Up」が表示されることを確認してください。
>docker ps
■コマンドの出力例
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2ce5254fffc8 kong:0.14.1 "/docker-entrypoint.…" 2 days ago Up 3 seconds 0.0.0.0:8000-8001->8000-8001/tcp, 8443-8444/tcp fj_kong 72f3fd078009 postgres:9.6.8 "docker-entrypoint.s…" 2 days ago Up 13 minutes 0.0.0.0:5432->5432/tcp fj_kong_db
●冗長化構成の場合
仮想サーバ az1_sghpf_api_proxy_server_00のみ起動します。
他の仮想サーバが起動されている場合、「6.2.1 API Proxyサーバの停止」に従って停止します。
「●非冗長化構成の場合」の手順でリストアします。
仮想サーバ az1_sghpf_api_proxy_server_01を「6.1.1 API Proxyサーバの起動」に従って起動します。
仮想サーバ az1_sghpf_api_proxy_server_01を起動し、「10.5 API Proxyの復旧」の(6)~(12)を実行します。