外部バックアップを用いたリカバリーは、以下の手順で実施します。
以下の準備を実施することで、指定した時刻にリカバリーが一度だけ実行されます。
アプリケーションの停止や、利用者へ停止をアナウンスします。
被災などでPRIMEFLEX for HA Databaseのサーバおよびストレージが破壊されてしまった場合には、以下の操作を実施します。
“3.6.4 ハードウェア部品交換”に従い、ハードウェアの部品交換を行います。この際、“交換した装置の起動”では、“データベースを復旧せずにデータベースインターフェースの初期化を行う場合”の方法を実施してください。
データベースインターフェース、データベースの文字コード、ポート番号については、初期化前と同一の値を指定してください。
Native SQLインターフェースの場合、[手動バックアップ]ボタンによりバックアップを実施します。
Appliance Managerにエラーメッセージが出力されている場合は、“3.4 警告・異常時の対処とリカバリー”に従い対処します。
Open SQLインターフェース使用時で、格納データの暗号化を設定している場合は、以下の作業を実施します。
なお、本作業ではサーバユニットに管理用のユーザーIDでログインする必要があります。サーバユニットへログイン方法については、“付録G サーバへのログイン方法”を参照してください。ただし、接続時のユーザーIDはrootではなく、管理用のユーザーIDを指定してください。
キーストアをリストアします。
両方のサーバユニット(ServerUnit#1およびServerUnit#2)に管理用のユーザーIDでログインし、バックアップ済のキーストアをscpコマンド、sftpコマンドなどを利用して、リストアします。本作業は、両方のサーバユニットに対して行ってください。
scp -p 鍵管理サーバ用ID@鍵管理サーバのIPアドレス:/work/keystore_20131201.ks(注) /var/pg_keystore/location/keystore.ks
注) リストアするバックアップデータに対応したキーストアをリストアする必要があります。対応関係については“D.8.3 バックアップ”を参照してください。
ファイルの所有者の変更とキーストアの自動オープンの有効化を実施します。
pgx_keystoreコマンドを実行し、キーストアの自動オープンを有効にしてください。本作業は、両方のサーバユニットに対して行ってください。
# chown 管理用ユーザーID /var/pg_keystore/location/keystore.ks # pgx_keystore --enable-auto-open /var/pg_keystore/location/keystore.ks パスフレーズを入力してください: キーストアの自動オープンが有効になりました
バックアップ製品にリストアジョブを登録します。
バックアップ製品には、リストアジョブという機能があり、外部バックアップからPRIMEFLEX for HA Databaseのストレージにリストアを実行できます。また、リストア実行後に実行するコマンドを登録することにより、前回PRIMEFLEX for HA Databaseのバックアップが完了した時点までデータベースを復旧できます。リストアジョブは、ServerUnit#1とServerUnit#2のそれぞれに登録します。リストアジョブでは、以下の設定を行います。
リストアジョブのスケジュールを登録
リストアジョブは一度だけ実行されるように設定します。また、ServerUnit#1のリストアジョブと、ServerUnit#2のリストアジョブが同時刻に開始するように設定します。
リストア対象のディレクトリを登録
それぞれのリストアジョブがリストアするディレクトリとして、以下のディレクトリを登録します。
データベース | リストアジョブ | リストア元 | リストア先 |
---|---|---|---|
Open SQL | ServerUnit#1のジョブ | 共通のバックアップ先 | ServerUnit#1上の以下2つ。 |
ServerUnit#2のジョブ | ServerUnit#2上の以下2つ。 | ||
Native SQL | ServerUnit#1のジョブ | ServerUnit#1用のバックアップ先 | ServerUnit#1上の以下2つ。 |
ServerUnit#2のジョブ | ServerUnit#2用のバックアップ先 | ServerUnit#2上の以下2つ。 |
リストア実行前とリストア実行後に実行するコマンドを登録
以下のコマンドをバックアップ製品からアクセスできるディレクトリにコピーし、リストアジョブに登録します。
状況 | コマンド名 |
---|---|
リストア実行前に実行するコマンド | /opt/FJSVaplamdb/bin/apl_prerestore_to_StorageUnit.sh |
リストア実行後に実行するコマンド(注) | /opt/FJSVaplamdb/bin/apl_postrestore_to_StorageUnit.sh |
注) バックアップ製品ごとにカスタマイズすることを推奨します。
例
バックアップ製品でエラーが発生した際にAppliance Managerにメッセージを表示する場合
「リストア実行後に実行するコマンド」をカスタマイズすることで、リストア中にバックアップ製品でエラーが発生した場合に、Appliance Managerのメッセージウィンドウに「外部バックアップからのリストアが失敗しました。」のメッセージを出力させることができます。
この場合、以下の条件を満たすコマンドを作成し、バックアップ製品からアクセスできるディレクトリに置いて実行権を付けた後、リストアジョブに登録します。
リストア実行後に実行するコマンドの例(NetVault Backup使用時)を以下に示します。
#!/bin/bash if [ "${NV_STATUS}" = "FAILED" ] ; then /opt/FJSVaplamdb/bin/apl_postrestore_to_StorageUnit.sh 1 …(1) exit $? else /opt/FJSVaplamdb/bin/apl_postrestore_to_StorageUnit.sh 0 …(2) exit $? fi
(1)、(2)で、/opt/FJSVaplamdb/bin/apl_postrestore_to_StorageUnit.shに渡す引数は、以下のとおりです。
状況 | 引数 |
---|---|
外部バックアップからのリストアに成功した場合 | 0 |
外部バックアップからのリストアに失敗した場合 | 1 |
参考
リストア実行前に実行するコマンドが失敗した場合の動作や、リストアに失敗した場合にリストア実行後に実行するコマンドが実行されるかどうかは、バックアップ製品によって異なります。以下の条件を満たすように、バックアップ製品で設定を行ってください。
注)バックアップ製品によっては、リストアジョブを中止した場合、リストア実行後に実行するコマンドが自動では実行されません。
そのときは、リストアジョブを中止したServerUnitにおいて、手動で以下のコマンドを実行してください。
/opt/FJSVaplamdb/bin/apl_postrestore_to_StorageUnit.sh 1
外部バックアップを用いたリカバリー運用時の注意
外部バックアップを用いたリカバリー運用時の注意事項について説明します。
リストア中にAppliance Managerに以下のメッセージが出力される場合がありますが、問題はありません。
二重化したデータベースの一方が停止しました。
データベースサービスが停止しました。
切り替えに失敗しました。
Open SQLインターフェースの場合には、片方のサーバだけでリストアを実行すればよいため、ServerUnit#1またはServerUnit#2のいずれかでリストア実行前に実行するコマンドが失敗しますが、問題はありません。
Appliance Managerのメッセージウィンドウに、「業務が開始できるようになりました。引き続きリカバリーを継続します。」が表示された時点で、業務が再開できます。
Appliance Managerに「外部バックアップからのリストアが失敗しました。」のメッセージが表示された場合、または、バックアップ製品にエラーが出力されている場合は、外部バックアップを用いたリカバリーに失敗しています。以下の手順で対処を実施してください。
Appliance Managerの対処ウィンドウに表示されている対処方法、または、バックアップ製品のドキュメントに従って対処する。
再度“表D.2 リストアジョブの一覧”で示すServerUnit#1およびServerUnit#2のリストアジョブを作成し、実行する。そのとき、ServerUnit#1とServerUnit#2のリストアジョブの開始時刻は同一にする。