2.5.3 管理ホスト障害時のジョブ状態監視機能
グリッド実行ジョブの実行中に管理ホストで障害が発生すると,ジョブは異常終了しても実行ノードでサブジョブが実行し続ける場合があります。このとき,JP1/AJS3からジョブを再実行することで,実行中のサブジョブの状態を監視し,すべてのサブジョブの実行が完了するのを待ってからジョブが再実行されます。これによって,実行ノードでサブジョブとして動作しているユーザアプリケーションが不当に二重起動されることを防ぐことができます。
管理ホストで障害が発生した場合に,ジョブ状態監視機能を使用した回復方法について説明します。
-
ジョブ実行中に管理ホストで障害が発生。
実行中のジョブが異常終了します。ただし,実行ノードでサブジョブが実行し続けている可能性があります。
-
管理ホストで,系切り替えが必要なディレクトリを待機系に引き継いで,待機系でプロセスを起動します。
ジョブ状態監視機能では,グリッドジョブ管理ホストおよび実行ノードが管理するステータスファイルを使って,グリッドプロパティ管理ホストが管理するグリッドプロパティ情報を回復します。そのため,これらの情報を待機系に引き継ぐ必要があります。
-
異常終了したジョブを再実行します。
ジョブを再実行することで,ジョブ状態監視機能が動作します。再実行したときの動作を次の表に示します。
表2‒43 再実行したときの動作 再実行時における前回実行したジョブの状態
動作
実行完了
正常終了,警告終了
サブジョブの再実行設定に従って再実行されます。
なお,単体グリッドジョブで,グリッド終了処理まで完了している場合は,グリッド開始処理から新規実行されます。
異常終了
サブジョブの再実行設定に従って再実行されます。
グリッド実行ジョブで再実行対象にする場合は,再実行設定の自動登録オプション(RERUN_SET_REG_MODEパラメータ)を使用する必要があります。
実行中
(ただし,ジョブマネージャSPPで障害が発生したため,ジョブが停止している状態の場合。)
定期的にジョブ状態が監視され,監視中はグリッドプロパティ情報が更新されます。
-
監視中にすべてのサブジョブが実行完了した場合
サブジョブ再実行設定に従ってジョブが再実行されます。
-
監視時間を経過してもすべてのサブジョブが実行完了しなかった場合
ジョブが終了コード90で終了します。
実行中
定期的にジョブ状態が監視されますが,監視中はグリッドプロパティ情報は更新されません。
-
監視中にすべてのサブジョブが実行完了した場合
ジョブが終了コード123で終了します。
-
監視時間を経過してもすべてのサブジョブが実行完了しなかった場合
ジョブが終了コード90で終了します。
-
- 〈この項の構成〉
(1) ジョブ状態監視機能の適用条件
ジョブ状態監視機能は,設定ファイル(ugpsm.conf)のGRIDJOB_MONITORING_COUNTパラメータおよびGRIDJOB_MONITORING_INTERVALパラメータで設定します。デフォルトでは無効になっています。パラメータの詳細については,「4.8.44 GRIDJOB_MONITORING_COUNTパラメータ(ジョブ再実行時のジョブ状態監視回数定義)」および「4.8.45 GRIDJOB_MONITORING_INTERVALパラメータ(ジョブ再実行時のジョブ状態監視間隔定義)」を参照してください。
ジョブ状態監視機能を有効にすると,次の設定もできます。
-
グリッド開始ジョブ,およびグリッド終了ジョブの監視
設定ファイル(ugpsm.conf)のGRIDJOB_FORCED_RERUNパラメータで設定します。デフォルトでは,グリッド実行ジョブ,単体グリッドジョブのジョブ状態監視は無効になっています。パラメータの詳細については,「4.8.50 GRIDJOB_FORCED_RERUNパラメータ(グリッド開始ジョブ,グリッド終了ジョブ実行中断後の再実行の定義)」を参照してください。
グリッド開始ジョブ,グリッド終了ジョブ実行のジョブ状態監視の詳細については,「(3) グリッド開始ジョブ,グリッド終了ジョブ実行のジョブ状態監視」を参照してください。
-
兼用ホストのジョブ状態の監視
設定ファイル(ugpsm.conf)のGRIDJOB_NODE_FAILURE_RERUNパラメータで設定します。デフォルトでは,兼用ホストのジョブ状態監視は無効になっています。パラメータの詳細については,「4.8.52 GRIDJOB_NODE_FAILURE_RERUNパラメータ(兼用ホストのジョブ状態監視の定義)」を参照してください。
兼用ホストのジョブ状態監視の詳細については,「(5) 兼用ホストのジョブ状態監視」を参照してください。
(2) ジョブ状態監視機能適用時のジョブ実行結果
ジョブ状態監視機能を適用した場合,ジョブの実行結果に,監視対象ジョブと再実行ジョブの情報が表示されます。再実行されなかった場合は,監視対象ジョブの情報だけが表示されます。
実行結果の出力例を次に示します。
(3) グリッド開始ジョブ,グリッド終了ジョブ実行のジョブ状態監視
グリッド開始ジョブ,グリッド終了ジョブ実行中に管理ホスト障害で中断したジョブに対して,JP1/AJS3から再実行操作をすることで回復処理を実行して,再実行します。このとき,グリッド開始ジョブおよびグリッド終了ジョブが二重起動されることがあるため,注意してください。
グリッド開始ジョブ,グリッド終了ジョブでデータマネージャから実行中と応答された場合は,ジョブマネージャのステータスファイルの内容に従ってジョブの回復処理を実行します。その後,再実行可能であればグリッドクライアントからグリッド開始ジョブまたはグリッド終了ジョブを再実行します。
グリッド開始ジョブ,グリッド終了ジョブでのジョブ状態監視機能の障害回復動作を次の表に示します。
項番 |
障害発生時でのジョブマネージャステータスファイルの状態 |
状態回復後にデータマネージャへ登録する終了コード |
再実行動作 |
---|---|---|---|
1 |
グリッド開始ジョブのステータスファイルなし,またはデータ(レコード)なし |
RC=113(UNKNOWN) |
グリッド開始ジョブを再実行 |
2 |
グリッド開始ジョブのUAP実行中 |
RC=113(UNKNOWN) |
グリッド開始ジョブを再実行 |
3 |
グリッド開始ジョブのUAP実行完了 |
RC=0 |
グリッド開始ジョブ終了 単体グリッドジョブの場合,グリッドジョブを実行 |
4 |
グリッド開始ジョブのステータスファイルなし,またはデータ(レコード)なし |
RC=113(UNKNOWN) |
グリッド終了ジョブを再実行 |
5 |
グリッド終了ジョブのUAP実行中 |
RC=113(UNKNOWN) |
グリッド終了ジョブを再実行 |
6 |
グリッド終了ジョブのUAP実行完了 |
RC=0 |
グリッド終了ジョブ終了として扱う |
(4) グリッド開始ジョブ,グリッド終了ジョブのジョブ状態監視時のジョブ実行結果
グリッド開始ジョブ,グリッド終了ジョブのジョブ状態監視を適用した場合,ジョブの実行結果に,監視対象ジョブと再実行ジョブの情報が表示されます。再実行されなかった場合は,監視対象ジョブの情報だけが表示されます。
グリッド開始ジョブ,グリッド終了ジョブ実行のジョブ状態監視の実行結果の出力例を次に示します。
(5) 兼用ホストのジョブ状態監視
管理ホストと実行ノードの同時障害,または兼用ホストの障害後のジョブ再実行で,ジョブ状態監視機能による再実行をします。このとき,ジョブが二重起動されることがあるため,注意してください。
この機能は管理ホストと実行ノードの二重障害時に適用する機能であり,ノードマネージャデーモンが再起動されたことを判断して動作する機能です。管理ホスト障害の場合は,ノードマネージャは処理を続行してサブジョブの終了をステータスファイルに設定します。また,実行ノードだけの障害であれば,管理ホストは実行ノード障害を検知してサブジョブ状態をNOEXECまたはUNKNOWNに設定してジョブを完了させます。
兼用ホストダウン時のジョブ状態監視機能によるサブジョブ状態を次の表に示します。
項番 |
サブジョブジョブ実行状態 |
GRIDJOB_NODE_FAILURE_RERUNの指定値 |
||
---|---|---|---|---|
有効(Y) |
無効(N) |
|||
ジョブ状態監視機能 |
回復コマンド-wの指定なし |
|||
1 |
実行待ち(ジョブマネージャ側で保留中) |
NOEXEC |
NOEXEC |
NOEXEC |
2 |
実行待ち(ノードマネージャ側で保留中) |
UNKNOWN |
UNKNOWN |
UNKNOWN |
3 |
実行中 |
UNKNOWN |
RUNNING※ |
UNKNOWN |
4 |
実行完了 |
NORMAL,ERROR,またはCANCEL |
NORMAL,ERROR,またはCANCEL |
NORMAL,ERROR,またはCANCEL |