第1章 設計編
1.9 ジョブを自動的に負荷の少ないサーバに分散して実行させたい
実行依頼したジョブを、自動的に負荷の少ないサーバに分散させて実行したい場合には、分散実行機能を利用します。分散実行では、
実行依頼されたジョブは自動的に負荷の一番低いサーバに割り振られます。
分散実行したいジョブを投入する分散実行キューに対して、分散先の実行サーバグループとなるホストグループを割り当てることで分 散実行させることができます。
以下のように、分散実行キュー“queueA”に投入されたジョブを、hostA、hostB、hostCから構成されるホストグループ“Grp1”で分散実 行させる手順について説明します。
手順
分散実行させたい場合は、
a. 分散実行するためのキューを作成 b. 分散実行するジョブを作成 することで利用できます。
注意
実行ユーザの登録を忘れずに
ジョブの実行ユーザは、実行サーバだけでなく、投入元サーバ(スケジュールサーバ)にも登録しておいてください。
a. 分散実行するためのキューを作成します 1. [キューの作成]ウィンドウの表示
[Systemwalker Operation Manager 環境設定]ウィンドウで、[運用情報]ボタンをクリックし、表示された[運用情報の定義]
ウィンドウで[追加]ボタンをクリックします。
2. queueAの作成
表示された[キューの作成]ウィンドウで、以下のように指定します。
- [キュー名]→ queueA
- [分散実行機能を有効にする]→ チェックします
- [ホストグループ]→ Grp1
- [構成ホスト名]→ (hostA(4),hostB(10),hostC(6)) [構成ホスト名]について
ホストグループの構成を指定します。
分散先となる実行サーバのホスト名と多重度(サーバで同時に実行できるジョブ数)
を、“実行サーバ名(多重度)”の形式で記述します。実行サーバとして複数登録する 場合は、上記のように“,(コンマ)”で区切り、全体を“()”で囲みます。
なお、1つのホストグループには100個まで実行サーバを登録できます。
b. 分散実行するジョブを作成します 1. [登録-ジョブ]ウィンドウの表示
[ジョブネットの新規作成/変更]ウィンドウで以下の操作を行います。([ジョブネットのリカバリ変更]ウィンドウまたは[ジョブ ネットの監視]ウィンドウからでも表示できます。)
- ジョブのアイコンをダブルクリック
- ジョブのアイコンを右クリックし、表示されたポップアップメニューから[プロパティ]を選択 - ジョブのアイコンを選択し、[ファイル]メニュー-[プロパティ]を選択
2. キューの指定
表示された[登録-ジョブ]ウィンドウ-[基本情報]シートの[キュー名]に“queueA”を指定し、ジョブを登録します。
[キュー名]にqueueAを指定したジョブが投入されると、Grp1の中から一番負荷の少ないサーバに実行依頼されます。
分散実行機能を利用した場合の動作
上記のような構成で分散実行機能を利用した場合に、分散実行キュー“queueA”に投入されたジョブがどのように実行サーバに割り当 てられるかについて説明します。
以下のように、ホストグループ“Grp1”の各実行サーバでジョブが実行されているとします。
ジョブの実行数
hostA (多重度:4) 2
hostB (多重度:10) 4
hostC (多重度:6) 6
投入されたジョブは、ホストグループの中から、“実行中ジョブ数÷[構成ホスト名]で指定した多重度”が最も小さいサーバで実行され ます。
上記の場合、
hostA 2÷4= 0.5 hostB 4÷10=0.4 hostC 6÷6= 1.0
となるため、値が一番小さいhostBに投入されます。
参考
分散先の実行サーバがダウンした場合の動作
ダウンした実行サーバは分散先から除外されます。分散実行機能は、ダウンしたサーバ以外のサーバで継続されます。なお、ダウン したサーバが復旧後、再度分散先として機能するまでには、最大10分程度かかります。
また、サーバがダウンした時に、そのサーバ上で実行されていたジョブについては、異常終了となります。異常終了したジョブについて は、動作状況を確認し、適宜、再実行などの対処をしてください。
注意
ネットワークジョブと同時に使用できません
分散実行キューに対して、依頼ホストを指定したネットワークジョブは投入できません。
マニュアルの参照先
Systemwalker Operation Manager 導入手引書“運用情報の定義”