3.7.2. ランブックオートメーションのリカバリ処理について

マネージャノードにて障害が発生し、マシンリブートが行われ千手システムの再起動となることがあります。

この時ブック管理サーバー(sjRBA_pxd)が再起動され、リカバリ処理が行われます。(通常のマシン計画リブートの際は、事前に実行ブックをすべて削除する事を推奨します。)

ここではランブックオートメーションのリカバリ処理について述べます。

3.7.2.1. リカバリ手順

以下に一般的な障害時のリカバリ処理の流れを示します。

  1. ブックが実行されると稼働ノードに指定したノードでセクションが起動します。
    ../../_images/07_Recovery_Procedure_No01.jpg
  2. セクションが稼働している時にマネージャ上で障害が発生して、ブック管理サーバーが終了します。
    ../../_images/07_Recovery_Procedure_No02.jpg
  3. 障害が復旧され、ブック管理サーバーが再起動すると、ブック管理サーバーのリカバリ処理が行われます。実行ブックのリカバリが完了する毎に、メッセージモニタにメッセージ「!RBA058 実行ブック状況通知[リカバリが完了しました]」が表示されます。付加メッセージにはリカバリを行う全実行ブック中、何実行ブックのリカバリが完了したか出力されるため、現在の進捗状況を確認することができます。リカバリ処理は運用日付毎に、実行ブックの名称順に行われます。
    ../../_images/07_Recovery_Procedure_No03.jpg
  4. リカバリ処理が完了すると、メッセージモニタにメッセージ「!RBA060 実行ブック状況通知[全実行ブックのリカバリが完了しました]」が表示され、稼働中だった実行ブックは不明となります。 リカバリ処理後の状態の遷移 を参考にして、ランブックモニタのランチャートでセクションの状況を個別に確認し、各セクションの再ランを行って下さい。実行ブック全体で再ランの必要がなければ、実行ブックの削除(強制初期化)を行って下さい。稼働中のセクションについてはリカバリ対象となっていません。そのまま再ランを行うとコマンドを2重起動してしまいます。必要応じて、コマンド停止後に再ランを実施や、スキップ指定後に再ランを実施するなど手動で復旧させて下さい。
    ../../_images/07_Recovery_Procedure_No04.jpg
  5. 以上でリカバリ手順は終了です。

3.7.2.2. リカバリ処理後の状態の遷移

障害発生前とリカバリ処理後の実行ブック、セクションの状態の変化を以下の表に示します。

3.7.2.2.1. 実行ブックの状態遷移

表 3.346 実行ブックのリカバリ処理前後の状態遷移

リカバリ処理前(障害発生前)

リカバリ処理後

未投入

未投入

正常終了

正常終了

スキップ終了

スキップ終了

待機中

実行ブックが起動されます。

一時停止

一時停止となります。

稼働中

不明

  • 稼働中のセクションは停止され不明となります。

  • リカバリ処理により不明になったセクションは再起動されません。

  • 稼働ノードで起動しているコマンドは停止されません。

異常終了

異常終了

  • セクションの状態取得、再起動は行われません。

  • セクションの再ラン操作で再起動されます。

停止中

実行ブックが起動されます

  • キューイング、起動待ちセクションは起動します。

異常あり

実行ブックが起動されます

  • キューイングのセクションは起動します。

  • 稼働中、異常終了、および一時停止のセクションの動作については、実行ブックのリカバリ処理後の動作を参照して下さい

3.7.2.2.2. セクションの状態遷移

表 3.347 セクションのリカバリ処理前後の状態遷移

リカバリ処理前(障害発生前)

リカバリ処理後

セクション再ラン後の動作

未投入

未投入

起動待ち(キューイングセクションを強制停止した場合)

稼働中

起動待ち(上記以外の場合)

起動待ち

起動待ちとなります。(先行条件を満たした後で起動します。)

正常終了

正常終了

スキップ終了

スキップ終了

スキップ待ち

スキップ待ち

スキップ待ちとなります。(先行条件を満たした後でスキップ終了となります。)

一時停止

一時停止

一時停止待ち

一時停止待ち

一時停止待ちとなります。(先行条件を満たした後で一時停止となります。)

稼働中

不明(稼働中のセクションは停止され不明となります。リカバリ処理により不明になったセクションは再起動されません。稼働ノードで起動しているコマンドは停止されません。)

稼働中となります。

異常終了

異常終了(セクションの状態取得、再起動は行われません。セクションの再ラン操作で再起動されます。)

稼働中となります。

不明

不明(セクションの状態取得、再起動は行われません。セクションの再ラン操作で再起動されます。)

稼働中となります。

キューイング

稼働中

3.7.2.3. 制限・注意事項

  • 稼働中のセクションについてはリカバリ対象となっていません。稼働中のセクションの状態はリカバリ後不明となり、稼働ノードで起動しているコマンドは停止されません。そのまま再ランを行うとコマンドを2重起動してしまいます。ご注意下さい。必要応じて、コマンド停止後に再ランを実施や、スキップ指定後に再ランを実施するなど手動で復旧させて下さい。

  • 所要時間監視が指定してあるブックの場合、リカバリ後に実行ブックが起動した時刻が起点となります。

  • 打ち切り時刻で所要時間が指定してあるブックの場合、リカバリ後に実行ブックが起動した時刻が起点となります。

  • 「!RBA209 セクション機能障害[ステータスファイル作成エラー]」のメッセージが出力されている場合、セクションの実行は問題なく行えますが、障害時の回復のための保存情報が生成できていない事から、このメッセージが出力中は、実行ブックのリカバリ投入ができません。このメッセージが出力されている原因を追求してから対応して下さい。

  • セクションに正常/異常終了アクションで追加メッセージを送信する設定している場合、リカバリ時には正常/異常終了時アクションは実行されません。

  • セクションに異常時アクションの自動実行再ランを設定している場合、再ラン回数はリカバリ対象となっていません。リカバリ後に再度異常終了した場合、再ラン回数は1回目から実行されます。

  • 同時に稼働できるセクションの最大数を超えてセクションがキューイングの状態の場合、リカバリ後に稼働数の制限を超えてセクションが稼働する場合があります。

  • セクションが稼働中の状態でコマンド実行サーバー(sjRBA_cmdexecd)が停止すると、稼働中のセクションの状態は異常終了となります。このとき稼働ノードで起動しているコマンドは停止されません。コマンド実行サーバー起動後に、そのまま再ランを行うとコマンドを2重起動してしまいます。ご注意下さい。必要応じて、コマンド停止後に再ランを実施や、スキップ指定後に再ランを実施するなど手動で復旧させて下さい。

3.7.2.4. リカバリ手順の例

ここでは基本的なブックの構成での、リカバリ手順の例を示します。

3.7.2.4.1. セクションの稼働中にブック管理サーバーが終了した場合(スキップ指定なし)

../../_images/image514.jpg

3.7.2.4.2. セクションの稼働中にブック管理サーバーが終了した場合(スキップ指定あり)

../../_images/image515.jpg