3.5.6 システムログ運用

システムログとバックアップファイルを使用して回復するシステムログ運用について説明します。システムログ運用での障害発生時の回復方法を次の図に示します。

図3-41 障害発生時の回復方法(システムログ運用)

[図データ]

<この項の構成>
(1) システムファイルの二重化について検討する
(2) システムログファイルの監視
(3) 組み込みDB環境の構築
(4) 運用方法
(5) 障害発生時の組み込みDBの回復手順
(6) 注意事項

(1) システムファイルの二重化について検討する

組み込みDBで使用するシステムファイルを二重化しない構成では,システムファイルに障害が発生すると組み込みDBは停止してしまいます。

システムファイルを二重化すると,片方のシステムファイルにディスク障害などが発生しても,もう一方のシステムファイルについては引き続き使用できるため,組み込みDBは停止させないで運用できます。

ただし,システムファイルの容量は,二重化しない構成と比較すると増加します。

(2) システムログファイルの監視

組み込み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に表示されている文字列(下線部分)がシステムログファイルの状態を示す情報です。状態ごとの表示内容を次に示します。

注※
回復に必要な更新履歴情報が格納されていて上書きできない状態です。この状態では,使用できるシステムログファイルとして再度割り当てられません。

アンロード待ちのシステムログファイルは,ajsembdbbackupコマンドを実行することで,使用できるシステムログファイルになります。そのため,使用できるシステムログファイルがなくなる前に,ajsembdbbackupコマンドを実行して,使用できるシステムログファイルを確保してください。なお,ajsembdbbackupコマンドの実行時は,-zオプションを指定してください。

システムログファイルの切り替え頻度が高く,ajsembdbbackupコマンドの実行間隔が短くなった場合は,システムログファイルの拡張を検討してください。組み込みDB環境構築時のシステムログファイルは6個あり,30個まで拡張できます。システムログファイルを拡張することで,ajsembdbbackupコマンドの実行間隔を延ばせます。

このシステムログファイルの拡張は,ajsembdbaddlogコマンドで実施できます。

使用できるシステムログファイルが無くなり,組み込みDBが異常終了した場合の対処方法を次に示します。

  1. 該当するスケジューラーデータベースを使用するスケジューラーサービス,JP1/AJS2 Monitorサービスを含む,スケジューラーデータベースにアクセスするサービスをすべて停止する。
  2. システムログのアンロードを行う。
    ajsembdboplogコマンドを実行して,アンロード待ち状態のシステムログファイルをアンロードします。アンロード時に出力される1個当たりのアンロードログファイルのサイズを次に示します。

    表3-17 出力されるアンロードログファイルのサイズ

    セットアップ時の規模
    (ajsembdbbuildコマンドのオプション)
    アンロードログファイル1個のサイズ
    -l(大規模セットアップ)約570メガバイト
    -m(中規模セットアップ)約200メガバイト
    -s(小規模セットアップ)約120メガバイト
  3. 組み込みDBを起動する。
    ajsembdbstartコマンドを実行して,組み込みDBを起動してください。
    OS,または組み込みDBの状態によって実行方法が異なります。
    • Windowsの場合
      ajsembdbstartコマンドの実行時,-idオプション以外のオプションは指定しないで実行してください。
    • UNIXの場合
      組み込みDBの状態によって,ajsembdbstartコマンドの実行方法が異なります。組み込みDBの状態は,ajsembdbstatusコマンドを実行することで確認できます。_JA0の組み込みDB識別子でセットアップした環境が構築されている場合のajsembdbstatusコマンドの実行例を次に示します。

      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

      実行結果のうち,UNIT-STATに表示されている文字列(下線部分)が,組み込みDBの状態を示す情報です。この情報によってajsembdbstartコマンドの実行方法が異なります。
      表示内容が「STOP」の場合,-idオプション以外のオプションは指定しないで実行してください。
      「PAUSE」の場合,-idオプションのほかに-Rオプションを指定して実行してください。
  4. 手順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) バックアップファイルの取得方法

次に示す二とおりのバックアップファイルの取得方法があります。

(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)に示す手順で回復してください。

障害発生直前の状態に回復する場合は,次に示す手順で回復してください。

  1. 物理ホストおよびすべての論理ホストにおいて,JP1/AJS2サービス,JP1/AJS2 MonitorサービスおよびJP1/AJS2 Console Agentサービスを含め,スケジューラーデータベースにアクセスするサービスをすべて停止する。
  2. 障害を取り除く。
  3. データ領域を再作成する。
    データ領域は次に示すファイルを実行することで再作成できます。
    • Windowsの場合
      組み込みDB運用ディレクトリ¥conf¥fmkfile.bat
    • UNIXの場合
      組み込みDB運用ディレクトリ/conf/fmkfile
  4. 組み込みDBを起動する。
    次に示すコマンドを実行して,組み込みDBを起動してください。
    • Windowsの場合
      組み込みDB運用ディレクトリ¥bin¥pdstart
    • UNIXの場合
      組み込みDB運用ディレクトリ/bin/pdstart
    pdstartコマンドは,組み込みDBを起動するコマンドです。
  5. データ領域を初期化する。
    手順4でpdstartコマンドを実行すると,KFPS05201-Qのメッセージが標準出力に出力されます。このメッセージ出力後,別の画面から次に示すコマンドを実行してください。
    • Windowsの場合
      組み込みDB運用ディレクトリ¥bin¥pdinit -d 組み込みDB運用ディレクトリ¥conf¥mkinit
    • UNIXの場合
      組み込みDB運用ディレクトリ/bin/pdinit -d 組み込みDB運用ディレクトリ/conf/mkinit
    pdinitコマンドは,組み込みDBのデータ領域を初期化するコマンドです。
  6. データ領域を拡張する。
    この操作は,データ領域を拡張している場合に実施する操作です。データ領域を拡張していない場合,この操作は不要です。
    次に示すのファイルを実行してください。
    • Windowsの場合
      次に示すファイルの拡張子を「.bat」に変更して実行してください。
      組み込みDB運用ディレクトリ¥conf¥embrm¥addarea
      このファイルを実行したあと,ファイル名を元に戻してください。
    • UNIXの場合
      組み込みDB運用ディレクトリ/conf/embrm/addarea
  7. スケジューラーデータベースを回復する。
    ajsembdbrstrコマンドに,-lrオプションを指定して実行してください。
  8. スケジューラーデータベースのバックアップファイルを取得する。
    ajsembdbbackupコマンドに,-sオプションを指定しないで実行してください。
  9. 手順1で停止したサービスを起動する。

 

注※
pdstartコマンドおよびpdinitコマンドを実行する前に,次に示す環境変数を設定しておく必要があります。

表3-19 pdstartコマンドおよびpdinitコマンド実行時に必要な環境変数

環境変数設定内容
PDDIR組み込みDB運用ディレクトリ名を設定してください。
PDCONFPATH次に示す内容を設定してください。
・OSがWindowsの場合
 %PDDIR%¥conf
・OSがUNIXの場合
 $PDDIR/conf
PDUXPLDIROSがWindowsの場合に必要な環境変数です。次に示す内容を設定してください。
%PDDIR%¥UXPLDIR
PATH次に示す内容をPATHに追加してください。
・OSがWindowsの場合
 %PDDIR%¥bin
・OSがUNIXの場合
 $PDDIR/bin
SHLIB_PATHOSがHP-UXの場合に必要な環境変数です。次に示す内容を設定してください。
$PDDIR/lib
LD_LIBRARY_PATHOSがSolarisまたはLinuxの場合に必要な環境変数です。次に示す内容を設定してください。
$PDDIR/lib
LIBPATHOSがAIXの場合に必要な環境変数です。次に示す内容を設定してください。
$PDDIR/lib

(b) 組み込みDBのシステムログファイルのディスクに障害が発生した場合

システムファイルを二重化していない場合は,次に示す手順で回復してください。

システムファイルを二重化している場合は,片方のシステムファイルに障害が発生しても引き続き運用できますが,もう一方のシステムファイルに障害が発生すると,障害直前の状態まで回復できなくなります。そのため,次に示す手順で回復してください。

  1. 物理ホストおよびすべての論理ホストにおいて,JP1/AJS2サービス,JP1/AJS2 MonitorサービスおよびJP1/AJS2 Console Agentサービスを含め,スケジューラーデータベースにアクセスするサービスをすべて停止する。
  2. スケジューラーデータベースのバックアップファイルを取得する。
    ajsembdbbackupコマンドに,-sオプションを指定しないで実行してください。
    この操作は,システムファイルを二重化している場合に実施できる操作です。二重化していない場合は,障害発生前に取得したバックアップファイルを準備してください。ここで準備するバックアップファイルは,JP1/AJS2サービス停止中に取得したバックアップファイルのことです。

これ以降の手順については,「3.5.5(4)(a) データ領域のディスクに障害が発生した場合」に示した回復手順の手順2以降を実施してください。なお,この手順のうち,スケジューラーデータベースの回復時に必要なバックアップファイルは,上記手順2で準備したバックアップファイルです。

(c) JP1/AJS2と組み込みDBに同時に障害が発生した場合

  1. 障害を取り除く。
  2. JP1/AJS2をバックアップファイルからリカバリーする。
    JP1/AJS2のリカバリーについては,「11. バックアップとリカバリー」を参照してください。
  3. 該当するスケジューラーデータベースを使用するスケジューラーサービス,JP1/AJS2 Monitorサービスを含む,スケジューラーデータベースにアクセスするサービスをすべて停止する。
  4. スケジューラーデータベースを回復する。
    ajsembdbrstrコマンドに,-lおよび-lrオプションを指定しないで実行してください。この場合,JP1/AJS2サービス停止中に取得したバックアップファイルが必要です。
  5. 手順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) 運用時の注意事項

(c) 回復時の注意事項

ディスク障害等が発生して,システムログファイルが使用できない状態になると,障害直前の状態に回復できません。回復手順については,「(5) 障害発生時の組み込みDBの回復手順」を参照してください。