JP1/Automatic Job Management System 2 設計・運用ガイド
システムログとバックアップファイルを使用して回復するシステムログ運用について説明します。システムログ運用での障害発生時の回復方法を次の図に示します。
図3-41 障害発生時の回復方法(システムログ運用)
- <この項の構成>
- (1) システムファイルの二重化について検討する
- (2) システムログファイルの監視
- (3) 組み込みDB環境の構築
- (4) 運用方法
- (5) 障害発生時の組み込みDBの回復手順
- (6) 注意事項
(1) システムファイルの二重化について検討する
組み込みDBで使用するシステムファイルを二重化しない構成では,システムファイルに障害が発生すると組み込みDBは停止してしまいます。
システムファイルを二重化すると,片方のシステムファイルにディスク障害などが発生しても,もう一方のシステムファイルについては引き続き使用できるため,組み込みDBは停止させないで運用できます。
ただし,システムファイルの容量は,二重化しない構成と比較すると増加します。
(2) システムログファイルの監視
組み込みDBは,次のどれかのタイミングで,使用できるシステムログファイルに出力先を切り替えます。
- 使用中のシステムログファイルが満杯になった場合
- ajsembdbbackupコマンドを実行した場合
- 組み込みDBを再起動した場合(前回の停止が正常停止している場合だけ)
このとき,使用できるシステムログファイルがないと,組み込みDBは異常終了します。
システムログ運用では,使用できるシステムログファイルが常に存在する必要があります。そのため,ajsembdbstatusコマンドを使用してシステムログファイルの状態を監視しておく必要があります。
ajsembdbstatusコマンドに-lオプションを指定して実行することで,システムログファイルの状態を確認できます。_JA0の組み込みDB識別子でセットアップした環境が構築されている場合のajsembdbstatusコマンドの実行例を次に示します。
ajsembdbstatus -l -id _JA0 Group Type Server Gen No. Status Run ID Block No. Ex-Status log1 sys ajs2 1 osu---u 47576555 1 63 -------- log2 sys ajs2 2 osu---u 47576555 64 64 -------- log3 sys ajs2 3 osud--u 47576555 65 65 -------- log4 sys ajs2 4 oc-d--u 47576555 66 66 -------- log5 sys ajs2 0 os----- 00000000 0 0 -------- log6 sys ajs2 0 os----- 00000000 0 0 --------実行結果のうちStatusに表示されている文字列(下線部分)がシステムログファイルの状態を示す情報です。状態ごとの表示内容を次に示します。
- 使用中のシステムログファイル
左から上位3文字が「oc-」と表示されている。
- 使用できるシステムログファイル
左から上位3文字が「os-」と表示されている。
- アンロード待ちのシステムログファイル※
左から上位3文字が「osu」と表示されている。
- 注※
- 回復に必要な更新履歴情報が格納されていて上書きできない状態です。この状態では,使用できるシステムログファイルとして再度割り当てられません。
アンロード待ちのシステムログファイルは,ajsembdbbackupコマンドを実行することで,使用できるシステムログファイルになります。そのため,使用できるシステムログファイルがなくなる前に,ajsembdbbackupコマンドを実行して,使用できるシステムログファイルを確保してください。なお,ajsembdbbackupコマンドの実行時は,-zオプションを指定してください。
システムログファイルの切り替え頻度が高く,ajsembdbbackupコマンドの実行間隔が短くなった場合は,システムログファイルの拡張を検討してください。組み込みDB環境構築時のシステムログファイルは6個あり,30個まで拡張できます。システムログファイルを拡張することで,ajsembdbbackupコマンドの実行間隔を延ばせます。
このシステムログファイルの拡張は,ajsembdbaddlogコマンドで実施できます。
使用できるシステムログファイルが無くなり,組み込みDBが異常終了した場合の対処方法を次に示します。
- 該当するスケジューラーデータベースを使用するスケジューラーサービス,JP1/AJS2 Monitorサービスを含む,スケジューラーデータベースにアクセスするサービスをすべて停止する。
- システムログのアンロードを行う。
ajsembdboplogコマンドを実行して,アンロード待ち状態のシステムログファイルをアンロードします。アンロード時に出力される1個当たりのアンロードログファイルのサイズを次に示します。
表3-17 出力されるアンロードログファイルのサイズ
セットアップ時の規模
(ajsembdbbuildコマンドのオプション)アンロードログファイル1個のサイズ -l(大規模セットアップ) 約570メガバイト -m(中規模セットアップ) 約200メガバイト -s(小規模セットアップ) 約120メガバイト - 組み込みDBを起動する。
ajsembdbstartコマンドを実行して,組み込みDBを起動してください。
OS,または組み込みDBの状態によって実行方法が異なります。
- Windowsの場合
ajsembdbstartコマンドの実行時,-idオプション以外のオプションは指定しないで実行してください。
- UNIXの場合
組み込みDBの状態によって,ajsembdbstartコマンドの実行方法が異なります。組み込みDBの状態は,ajsembdbstatusコマンドを実行することで確認できます。_JA0の組み込みDB識別子でセットアップした環境が構築されている場合のajsembdbstatusコマンドの実行例を次に示します。
実行結果のうち,UNIT-STATに表示されている文字列(下線部分)が,組み込みDBの状態を示す情報です。この情報によってajsembdbstartコマンドの実行方法が異なります。
ajsembdbstatus -s ust -id _JA0 HOSTNAME : host_name(144852) SYSTEMID : ajs2 UNITID : unt1 ENTRYHOST : host_name PAIRHOST : UNIT-STAT FES-STAT SETUP-STAT STOP ******** SETUP
表示内容が「STOP」の場合,-idオプション以外のオプションは指定しないで実行してください。
「PAUSE」の場合,-idオプションのほかに-Rオプションを指定して実行してください。
- 手順1で停止したサービスを起動する。
JP1/AJS2サービスをホットスタート,またはウォームスタートで起動してください。なお,ホットスタート,またはウォームスタートで起動する場合はスケジューラーデータベースと実際のジョブの実行状況を調査してから運用してください。これは組み込みDBが異常終了した直前までしかスケジューラーデータベースの状態が保持されないで,ほかの制御情報と不整合が発生しているおそれがあるためです。スケジューラーデータベースと実際のジョブの実行状況の不整合の判断が難しい場合はJP1/AJS2サービスをコールドスタートで起動して,ジョブネットを実行登録してください。
(3) 組み込みDB環境の構築
組み込みDBの環境構築方法については,マニュアル「JP1/Automatic Job Management System 2 セットアップガイド 5. スケジューラーデータベースに組み込みDBを使用する場合のセットアップ」(Windowsの場合),またはマニュアル「JP1/Automatic Job Management System 2 セットアップガイド 15. スケジューラーデータベースに組み込みDBを使用する場合のセットアップ」(UNIXの場合)を参照してください。
(4) 運用方法
障害発生時にシステムログとバックアップファイルを使用して回復するための運用方法を次に示します。
(a) バックアップファイルの取得方法
次に示す二とおりのバックアップファイルの取得方法があります。
- JP1/AJS2サービス停止中にバックアップファイルを取得する方法
スケジューラーデータベースのバックアップファイルを取得するとき,JP1/AJS2の運用を停止する必要があります。JP1/AJS2サービス停止中に取得したバックアップファイルで回復する場合は,バックアップ時点の状態に回復できます。また,バックアップファイルとともにシステムログを使用することで,バックアップ時点以降のスケジューラーデータベースの更新情報についても回復できます。
- JP1/AJS2サービス稼働中にバックアップファイルを取得する方法
スケジューラーデータベースのバックアップファイルを取得するとき,JP1/AJS2の運用を停止する必要はありません。
ただし,JP1/AJS2サービス稼働中に取得したバックアップファイルで回復する場合は,バックアップファイルだけでは回復できません。回復時は,バックアップファイルとともにシステムログを使用します。
(b) バックアップ方法の特徴
バックアップ方法の特徴を次の表に示します。
表3-18 バックアップ方法の特徴
バックアップ方法 長所 短所 JP1/AJS2サービス停止中にバックアップファイルを取得する方法 システムログの使用有無に関係なく,スケジューラーデータベースを回復できる。 バックアップファイルを取得する前に,JP1/AJS2の運用を停止する必要がある。 バックアップ時点の状態に回復できる。 システムログファイルを使用すると,バックアップ時点以降の更新情報についても回復できる。 JP1/AJS2サービス稼働中にバックアップファイルを取得する方法 JP1/AJS2の運用中でも,バックアップファイルを取得できる。 システムログファイルに障害が発生すると,この方法で取得したバックアップファイルからの回復はできない。 バックアップ時点の状態には回復できない。 (c) バックアップ手順
バックアップの手順を次に示します。
- JP1/AJS2サービス停止中にバックアップファイルを取得する方法
- 該当するスケジューラーデータベースを使用するスケジューラーサービス,JP1/AJS2 Monitorサービスを含む,スケジューラーデータベースにアクセスするサービスをすべて停止する。
- バックアップファイルを取得する。
ajsembdbbackupコマンドに,-zオプションを指定して実行してください。なお,この取得方法の場合,-sオプションは指定しないでください。
- 手順1で停止したサービスを起動する。
バックアップファイルを取得するときにスケジューラーサービスが稼働中であったり,ジョブネットワーク要素を参照および更新していたりすると,ajsembdbbackupコマンドがエラーになる場合があります。
- JP1/AJS2サービス稼働中にバックアップファイルを取得する方法
ajsembdbbackupコマンドに,-zオプションおよび-sオプションを指定して実行してください。
このバックアップ方法は,JP1/AJS2の運用中に実行できますが,ajsembdbbackupコマンドとジョブ実行処理が競合することによって,双方共に実行性能が若干低下します。ジョブの実行数ができるだけ少ない時間帯に実施してください。
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)に示す手順で回復してください。
障害発生直前の状態に回復する場合は,次に示す手順で回復してください。
- 物理ホストおよびすべての論理ホストにおいて,JP1/AJS2サービス,JP1/AJS2 MonitorサービスおよびJP1/AJS2 Console Agentサービスを含め,スケジューラーデータベースにアクセスするサービスをすべて停止する。
- 障害を取り除く。
- データ領域を再作成する。
データ領域は次に示すファイルを実行することで再作成できます。
- Windowsの場合
組み込みDB運用ディレクトリ\conf\fmkfile.bat
- UNIXの場合
組み込みDB運用ディレクトリ/conf/fmkfile
- 組み込みDBを起動する。
次に示すコマンドを実行して,組み込みDBを起動してください。※
pdstartコマンドは,組み込みDBを起動するコマンドです。
- Windowsの場合
組み込みDB運用ディレクトリ\bin\pdstart
- UNIXの場合
組み込みDB運用ディレクトリ/bin/pdstart
- データ領域を初期化する。
手順4でpdstartコマンドを実行すると,KFPS05201-Qのメッセージが標準出力に出力されます。このメッセージ出力後,別の画面から次に示すコマンドを実行してください。※
pdinitコマンドは,組み込みDBのデータ領域を初期化するコマンドです。
- Windowsの場合
組み込みDB運用ディレクトリ\bin\pdinit -d 組み込みDB運用ディレクトリ\conf\mkinit
- UNIXの場合
組み込みDB運用ディレクトリ/bin/pdinit -d 組み込みDB運用ディレクトリ/conf/mkinit
- データ領域を拡張する。
この操作は,データ領域を拡張している場合に実施する操作です。データ領域を拡張していない場合,この操作は不要です。
次に示すのファイルを実行してください。
- Windowsの場合
次に示すファイルの拡張子を「.bat」に変更して実行してください。
組み込みDB運用ディレクトリ\conf\embrm\addarea
このファイルを実行したあと,ファイル名を元に戻してください。
- UNIXの場合
組み込みDB運用ディレクトリ/conf/embrm/addarea
- スケジューラーデータベースを回復する。
ajsembdbrstrコマンドに,-lrオプションを指定して実行してください。
- スケジューラーデータベースのバックアップファイルを取得する。
ajsembdbbackupコマンドに,-sオプションを指定しないで実行してください。
- 手順1で停止したサービスを起動する。
- 注※
- pdstartコマンドおよびpdinitコマンドを実行する前に,次に示す環境変数を設定しておく必要があります。
表3-19 pdstartコマンドおよびpdinitコマンド実行時に必要な環境変数
環境変数 設定内容 PDDIR 組み込みDB運用ディレクトリ名を設定してください。 PDCONFPATH 次に示す内容を設定してください。
・OSがWindowsの場合
%PDDIR%\conf
・OSがUNIXの場合
$PDDIR/confPDUXPLDIR OSがWindowsの場合に必要な環境変数です。次に示す内容を設定してください。
%PDDIR%\UXPLDIRPATH 次に示す内容をPATHに追加してください。
・OSがWindowsの場合
%PDDIR%\bin
・OSがUNIXの場合
$PDDIR/binSHLIB_PATH OSがHP-UXの場合に必要な環境変数です。次に示す内容を設定してください。
$PDDIR/libLD_LIBRARY_PATH OSがSolarisまたはLinuxの場合に必要な環境変数です。次に示す内容を設定してください。
$PDDIR/libLIBPATH OSがAIXの場合に必要な環境変数です。次に示す内容を設定してください。
$PDDIR/lib(b) 組み込みDBのシステムログファイルのディスクに障害が発生した場合
システムファイルを二重化していない場合は,次に示す手順で回復してください。
システムファイルを二重化している場合は,片方のシステムファイルに障害が発生しても引き続き運用できますが,もう一方のシステムファイルに障害が発生すると,障害直前の状態まで回復できなくなります。そのため,次に示す手順で回復してください。
- 物理ホストおよびすべての論理ホストにおいて,JP1/AJS2サービス,JP1/AJS2 MonitorサービスおよびJP1/AJS2 Console Agentサービスを含め,スケジューラーデータベースにアクセスするサービスをすべて停止する。
- スケジューラーデータベースのバックアップファイルを取得する。
ajsembdbbackupコマンドに,-sオプションを指定しないで実行してください。
この操作は,システムファイルを二重化している場合に実施できる操作です。二重化していない場合は,障害発生前に取得したバックアップファイルを準備してください。ここで準備するバックアップファイルは,JP1/AJS2サービス停止中に取得したバックアップファイルのことです。
これ以降の手順については,「3.5.5(4)(a) データ領域のディスクに障害が発生した場合」に示した回復手順の手順2以降を実施してください。なお,この手順のうち,スケジューラーデータベースの回復時に必要なバックアップファイルは,上記手順2で準備したバックアップファイルです。
(c) JP1/AJS2と組み込みDBに同時に障害が発生した場合
- 障害を取り除く。
- JP1/AJS2をバックアップファイルからリカバリーする。
JP1/AJS2のリカバリーについては,「11. バックアップとリカバリー」を参照してください。
- 該当するスケジューラーデータベースを使用するスケジューラーサービス,JP1/AJS2 Monitorサービスを含む,スケジューラーデータベースにアクセスするサービスをすべて停止する。
- スケジューラーデータベースを回復する。
ajsembdbrstrコマンドに,-lおよび-lrオプションを指定しないで実行してください。この場合,JP1/AJS2サービス停止中に取得したバックアップファイルが必要です。
- 手順3で停止したサービスを起動する。
必要に応じて,JP1/AJS2サービスをコールドスタートで起動してください。
以上の手順を実施することで,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) 運用時の注意事項
- 使用できるシステムログファイルがなくなった場合に,システムログファイルの切り替えが発生すると,組み込みDBは異常終了します。そのため,システムログファイルの状態を監視してください。システムログファイルの監視方法については,「(2) システムログファイルの監視」を参照してください。
- ajsembdbbackupコマンドを実行すると,使用できるシステムログファイルに出力先を切り替えます。そのため,ajsembdbbackupコマンドは使用できるシステムログファイルが1個以上ある状態で実行してください。使用できるシステムログファイルがない場合に,ajsembdbbackupコマンドを実行するとエラーになります。使用できるシステムログファイルが存在しない場合は,ajsembdboplogコマンドを実行して,少なくても1個のシステムログファイルをアンロードし,そのあとにajsembdbbackupコマンドを実行してください。システムログファイルの監視方法については,「(2) システムログファイルの監視」を参照してください。
- JP1/AJS2サービス稼働中にバックアップファイルを取得する場合,ajsembdbbackupコマンドとジョブ実行処理が競合することによって,双方共に実行性能が若干低下します。そのため,ジョブの実行数ができるだけ少ない時間帯に実施してください。
(c) 回復時の注意事項
ディスク障害等が発生して,システムログファイルが使用できない状態になると,障害直前の状態に回復できません。回復手順については,「(5) 障害発生時の組み込みDBの回復手順」を参照してください。
Copyright (C) 2006, 2010, Hitachi, Ltd.
Copyright (C) 2006, 2010, Hitachi Software Engineering Co., Ltd.