システムログとバックアップファイルを使用して回復するシステムログ運用について説明します。システムログ運用での障害発生時の回復方法を次の図に示します。
図3-41 障害発生時の回復方法(システムログ運用)
(1) システムファイルの二重化について検討する
組み込みDBで使用するシステムファイルを二重化しない構成では,システムファイルに障害が発生すると組み込みDBは停止してしまいます。
システムファイルを二重化すると,片方のシステムファイルにディスク障害などが発生しても,もう一方のシステムファイルについては引き続き使用できるため,組み込みDBは停止させないで運用できます。
ただし,システムファイルの容量は,二重化しない構成と比較すると増加します。
(2) システムログファイルの監視
組み込みDBは,次のどれかのタイミングで,使用できるシステムログファイルに出力先を切り替えます。
このとき,使用できるシステムログファイルがないと,組み込みDBは異常終了します。
システムログ運用では,使用できるシステムログファイルが常に存在する必要があります。そのため,ajsembdbstatusコマンドを使用してシステムログファイルの状態を監視しておく必要があります。
ajsembdbstatusコマンドに-lオプションを指定して実行することで,システムログファイルの状態を確認できます。_JA0の組み込みDB識別子でセットアップした環境が構築されている場合のajsembdbstatusコマンドの実行例を次に示します。
ajsembdbstatus -l -id _JA0 |
実行結果のうちStatusに表示されている文字列(下線部分)がシステムログファイルの状態を示す情報です。状態ごとの表示内容を次に示します。
アンロード待ちのシステムログファイルは,ajsembdbbackupコマンドを実行することで,使用できるシステムログファイルになります。そのため,使用できるシステムログファイルがなくなる前に,ajsembdbbackupコマンドを実行して,使用できるシステムログファイルを確保してください。なお,ajsembdbbackupコマンドの実行時は,-zオプションを指定してください。
システムログファイルの切り替え頻度が高く,ajsembdbbackupコマンドの実行間隔が短くなった場合は,システムログファイルの拡張を検討してください。組み込みDB環境構築時のシステムログファイルは6個あり,30個まで拡張できます。システムログファイルを拡張することで,ajsembdbbackupコマンドの実行間隔を延ばせます。
このシステムログファイルの拡張は,ajsembdbaddlogコマンドで実施できます。
使用できるシステムログファイルが無くなり,組み込みDBが異常終了した場合の対処方法を次に示します。
表3-17 出力されるアンロードログファイルのサイズ
セットアップ時の規模 (ajsembdbbuildコマンドのオプション) | アンロードログファイル1個のサイズ |
---|---|
-l(大規模セットアップ) | 約570メガバイト |
-m(中規模セットアップ) | 約200メガバイト |
-s(小規模セットアップ) | 約120メガバイト |
ajsembdbstatus -s ust -id _JA0 |
(3) 組み込みDB環境の構築
組み込みDBの環境構築方法については,マニュアル「JP1/Automatic Job Management System 2 セットアップガイド 5. スケジューラーデータベースに組み込みDBを使用する場合のセットアップ」(Windowsの場合),またはマニュアル「JP1/Automatic Job Management System 2 セットアップガイド 15. スケジューラーデータベースに組み込みDBを使用する場合のセットアップ」(UNIXの場合)を参照してください。
(4) 運用方法
障害発生時にシステムログとバックアップファイルを使用して回復するための運用方法を次に示します。
(a) バックアップファイルの取得方法
次に示す二とおりのバックアップファイルの取得方法があります。
(b) バックアップ方法の特徴
バックアップ方法の特徴を次の表に示します。
表3-18 バックアップ方法の特徴
バックアップ方法 | 長所 | 短所 |
---|---|---|
JP1/AJS2サービス停止中にバックアップファイルを取得する方法 | システムログの使用有無に関係なく,スケジューラーデータベースを回復できる。 | バックアップファイルを取得する前に,JP1/AJS2の運用を停止する必要がある。 |
バックアップ時点の状態に回復できる。 | ||
システムログファイルを使用すると,バックアップ時点以降の更新情報についても回復できる。 | ||
JP1/AJS2サービス稼働中にバックアップファイルを取得する方法 | JP1/AJS2の運用中でも,バックアップファイルを取得できる。 | システムログファイルに障害が発生すると,この方法で取得したバックアップファイルからの回復はできない。 |
バックアップ時点の状態には回復できない。 |
(c) バックアップ手順
バックアップの手順を次に示します。
ajsembdbbackupコマンドにはバックアップファイルの取得方法に関係なく,上記で示すオプション以外にも必要なオプションがあります。ajsembdbbackupコマンドの詳細については,マニュアル「JP1/Automatic Job Management System 2 コマンドリファレンス 1. コマンド ajsembdbbackup」を参照してください。
(d) バックアップファイルの取得タイミング
JP1/AJS2の環境に障害が発生した場合は,JP1/AJS2の環境とスケジューラーデータベースの環境を,同期を取って回復する必要があります。そのため,JP1/AJS2の運用を停止できるときは,JP1/AJS2のバックアップファイルを取得するとともに,-sオプションを指定しないajsembdbbackupコマンドを実行して,スケジューラーデータベースのバックアップファイルを取得してください。バックアップファイルを取得した場合,以前取得したバックアップファイルは任意の方法で削除して問題ありません。
運用中については,定期的に-sオプションを指定したajsembdbbackupコマンドを実行して,スケジューラーデータベースのバックアップファイルを取得してください。
バックアップファイルの取得時は,使用できるシステムログファイルが少なくても1個ある状態で実施してください。使用できるシステムログファイルがない場合に実施すると,バックアップファイルの取得に失敗します。システムログファイルの監視方法については,「(2) システムログファイルの監視」を参照してください。
バックアップファイルの取得タイミングを次の図に示します。
図3-42 バックアップファイルの取得タイミング(システムログ運用)
(e) バックアップファイルの管理
ajsembdbbackupコマンドを実行するとき,JP1/AJS2サービス停止中に取得したバックアップファイル,JP1/AJS2サービス稼働中に取得したバックアップファイルを,それぞれ最後に取得したファイルを1個ずつ保存してください。
JP1/AJS2サービス稼働中に取得したバックアップファイルだけを保存した場合,システムログファイルに障害が発生すると,バックアップファイルを使用した回復は一切できなくなります。そのため,JP1/AJS2サービス停止中に取得したバックアップファイルについても保存しておくことで,バックアップ時点の状態へ回復できます。このため,それぞれのバックアップ方法で取得したバックアップファイルを保存しておいてください。
(5) 障害発生時の組み込みDBの回復手順
障害ケースごとの回復手順を次に示します。
なお,回復手順で使用するajsembdboplogコマンド,ajsembdbbackupコマンド,ajsembdbrstrコマンドについてはマニュアル「JP1/Automatic Job Management System 2 コマンドリファレンス 1. コマンド」を,ajsembdbbuildコマンド,ajsembdbsetupコマンド,ajsembdbunsetコマンドについてはマニュアル「JP1/Automatic Job Management System 2 セットアップガイド 20. セットアップ時に使用するコマンド」を参照してください。
(a) データ領域のディスクに障害が発生した場合
バックアップ時点に回復する場合は,(b)に示す手順で回復してください。
障害発生直前の状態に回復する場合は,次に示す手順で回復してください。
表3-19 pdstartコマンドおよびpdinitコマンド実行時に必要な環境変数
環境変数 | 設定内容 |
---|---|
PDDIR | 組み込みDB運用ディレクトリ名を設定してください。 |
PDCONFPATH | 次に示す内容を設定してください。 ・OSがWindowsの場合 %PDDIR%¥conf ・OSがUNIXの場合 $PDDIR/conf |
PDUXPLDIR | OSがWindowsの場合に必要な環境変数です。次に示す内容を設定してください。 %PDDIR%¥UXPLDIR |
PATH | 次に示す内容をPATHに追加してください。 ・OSがWindowsの場合 %PDDIR%¥bin ・OSがUNIXの場合 $PDDIR/bin |
SHLIB_PATH | OSがHP-UXの場合に必要な環境変数です。次に示す内容を設定してください。 $PDDIR/lib |
LD_LIBRARY_PATH | OSがSolarisまたはLinuxの場合に必要な環境変数です。次に示す内容を設定してください。 $PDDIR/lib |
LIBPATH | OSがAIXの場合に必要な環境変数です。次に示す内容を設定してください。 $PDDIR/lib |
(b) 組み込みDBのシステムログファイルのディスクに障害が発生した場合
システムファイルを二重化していない場合は,次に示す手順で回復してください。
システムファイルを二重化している場合は,片方のシステムファイルに障害が発生しても引き続き運用できますが,もう一方のシステムファイルに障害が発生すると,障害直前の状態まで回復できなくなります。そのため,次に示す手順で回復してください。
これ以降の手順については,「3.5.5(4)(a) データ領域のディスクに障害が発生した場合」に示した回復手順の手順2以降を実施してください。なお,この手順のうち,スケジューラーデータベースの回復時に必要なバックアップファイルは,上記手順2で準備したバックアップファイルです。
(c) JP1/AJS2と組み込みDBに同時に障害が発生した場合
以上の手順を実施することで,JP1/AJS2と組み込みDBで同期を取ってバックアップファイルを取得した時点の状態まで回復できます。
(d) JP1/AJS2に障害が発生した場合
(c)の手順で回復してください。
(6) 注意事項
システムログ運用についての注意事項を次に示します。
(a) 環境構築時の注意事項
システムファイルを二重化すると,二重化していない場合に比べ,システムファイルの容量が増加します。必要なディスク容量については,マニュアル「JP1/Automatic Job Management System 2 セットアップガイド 5.1 組み込みDBを使用する場合の準備」(Windowsの場合),またはマニュアル「JP1/Automatic Job Management System 2 セットアップガイド 15.1 組み込みDBを使用する場合の準備」(UNIXの場合)を参照してください。
(b) 運用時の注意事項
(c) 回復時の注意事項
ディスク障害等が発生して,システムログファイルが使用できない状態になると,障害直前の状態に回復できません。回復手順については,「(5) 障害発生時の組み込みDBの回復手順」を参照してください。