NRI 野村総合研究所
ジョブ管理の技10

障害が発生したサーバーのジョブを全てスキップして
切り離し作業をしたい

現状の課題

用途(業務)によっては、複数サーバーに分散してジョブを稼働させるケースがある。その場合、分散しているジョブを順序よく時間内に完了させるのがジョブ管理ツールの主な役目である。複数サーバーで動くジョブは、複雑な先行・後続関係がある。システムが複雑化し、大規模化すると、それぞれのジョブの関係も複雑になり、障害時の対応も大変になる。
例えば、ノード障害が発生したサーバーで稼働するジョブが異常終了した場合、後続の別サーバーで稼働するジョブの実行を遅延させないために、異常終了したジョブは一旦スキップ終了させ、後続を先に動作させるというケースがある。その場合、異常終了したジョブをスキップし、後続が稼働しても、そのさらに後続に(ノード障害が発生したサーバーで実行する)ジョブがあると、またそのジョブが異常終了してしまう。
ジョブが異常終了する都度、ノード障害が発生したサーバーで動くジョブかを確認し、スキップを行うというオペレーションが必要になる。これが、障害対応が遅れる要因となり得る。

解決策

ノード障害が発生したサーバーで稼働するジョブを一括してスキップし、切り離しができれば迅速な障害対応が可能となる。具体的には、指定したサーバー(障害が発生したサーバー)で、この後稼働する予定のジョブの一覧を抽出し、そのジョブ全てをスキップ指定できればよい。毎回手動で作業を行うとタイムラグが発生し、ミスの危険性もあるので、他のイベント(CPU使用率増やメモリー利用率増、など)をトリガーにして自動実行させるべきである。

Senju Familyでの実践方法

Senju DevOperation Conductorではサーバー指定での「ジョブスキップコマンド」機能を提供している。コマンドとして提供しているので、メッセージアクション、ランブックと組み合わせ、サーバーのリソース監視(CPUやメモリーなど)で異常が発生したら、ジョブスキップコマンドを自動実行するといった連携もできる。

図1
ジョブの技 資料一式ダウンロード ツール活用術一覧へ戻る
Contact

Senju Family / mPLATに関するお問い合わせ

ご購入前の製品・サービスに関するお問合せは
Senjuインフォメーションセンター までお願いします。

お問い合わせフォームはこちら

フリーダイヤル・メールでもお受けしております。

0120-736-580

受付時間 平日10:00〜17:00 土日祝祭日、弊社休日を除く

senjuinfo@nri.co.jp