環境設定
TJESを実行するには、Tmaxの環境とTJESの環境をあらかじめ設定する必要があります。本節では、TJESを実行するために必要なTmaxの環境設定について説明します。
TJESの環境設定については、OpenFrame Batch『環境設定ガイド』のtjes、tjesmgr、print、tjclrun、rcサブジェクトを参照してください。 |
1. Tmaxの設定
OpenFrameでTJESを実行するには、Tmaxのインストールおよび環境設定を行う必要があります。OpenFrameをインストールするとき、Tmaxの環境はデフォルト値で登録されます。以下の手順でデフォルト値を変更することができます。
-
Tmaxサーバーを停止します。
$ tmdown
-
$TmaxDIR/config/XXX.mファイルを開いて環境を再設定します。
-
変更した設定を適用します。
$ cfl -i $TMAXDIR/config/XXX.m
-
Tmaxサーバーを再起動します。
$ tmboot
上記例のXXX.m環境ファイルの変更方法については、『Tmax インストールガイド』を参照してください。 |
1.1. Tmaxサーバー
TJESを運用するためには、以下のサーバーが起動している必要があります。
-
TJESサーバー
サーバー名 役割 obmjschd
ジョブ・スケジューラー
obmjinit
ジョブ・イニシエーター
obmjmsvr
ジョブ・マネージャー
obmjhist
ジョブの履歴
obmjspbk
ジョブ・スプールのバックアップ
ofrpmsvr
プリンター・マネージャー
obmtsmgr
TSOジョブの処理
obmtscmd (オプション)
TSOコマンド処理(このサーバーは、ISPFサービスを使用する環境でのみ提供されます)
-
TJES関連サーバー
サーバー名 役割 ofrsasvr
セキュリティ管理
ofrlhsvr
ロック・ハンドラー割り当て
ofruisvr
ユーザー・インターフェース・サーバー
ofrcmsvr
コンソール管理
ofrcmd
コマンド処理担当サーバー
OpenFrameのインストール時に、TJESサーバーとTJES関連サーバーは自動的に登録されます。
以下は、Tmax環境に登録されているTJESサーバーの例です。
obmjschd SVGNAME = svg_domain,MIN = 1, MAX = 1, SVRTYPE=UCS, CLOPT="-o $(SVR)$(DATE).out -e $(SVR)$(DATE).err" obmjinit SVGNAME = svg_node1,MIN = 1, MAX = 1, SVRTYPE=UCS, CLOPT="-o $(SVR)$(DATE).out -e $(SVR)$(DATE).err" obmjmsvr SVGNAME = svg_node1, CLOPT="-o $(SVR)$(DATE).out -e $(SVR)$(DATE).err" obmjhist SVGNAME = svg_domain, MIN = 1, MAX = 1, CLOPT="-o $(SVR)$(DATE).out -e $(SVR)$(DATE).err" obmjspbk SVGNAME = svg_domain, MIN = 1, MAX = 1, CLOPT="-o $(SVR)$(DATE).out -e $(SVR)$(DATE).err" ofrpmsvr SVGNAME = svg_domain, MIN = 1, MAX = 1, SVRTYPE=UCS, CLOPT="-o $(SVR)$(DATE).out -e $(SVR)$(DATE).err" obmtsmgr SVGNAME = svg_domain, MIN = 1, MAX = 1, SVRTYPE=UCS, CLOPT="-o $(SVR)$(DATE).out -e $(SVR)$(DATE).err" obmtscmd SVGNAME = svg_node1, CLOPT="-o $(SVR)$(DATE).out -e $(SVR)$(DATE).err"
上記例のSVGNAME=svg_domainは、1つのノードでのみ起動される必要があることを示しています。また、MIN=1、MAX=1は、1つのサーバーのみ起動される必要があることを示します。
したがって、obmjschdは1つのノードで1つのみ起動されるサーバーであり、obmjinitは各ノードごとに1つずつ起動されるサーバーです。また、obmjmsvrは各ノードごとに複数起動できるサーバーです。使用環境の負荷状況に応じてMIN値を調整してください。未指定の場合は、MIN = 1です。
TJES関連サーバーの設定については、OpenFrame Base『Baseガイド』を参照してください。 |
以下は、Tmaxサーバーの起動と正常に起動したかどうかを確認する方法です。
-
Tmaxサーバーの起動
$ tmboot
-
Tmaxサーバーの状態を確認
$ tmadmin $$1 node (tmadm): si
以下は、Tmaxサーバーが正常に動作しているかどうかを表示する画面です。statusのRDYはサーバーが起動中であることを、NRDYはサーバーが終了したことを示します。
------------------------------------------------------------------------ clh svrname (svri) status count qcount qpcount emcount ------------------------------------------------------------------------ 0 obmjmsvr ( 11) RDY 0 0 0 0 0 obmjschd ( 12) RDY 0 0 0 0 0 obmjinit ( 13) RDY 1 0 0 0 0 obmjhist ( 14) RDY 0 0 0 0 0 obmjspbk ( 15) RDY 0 0 0 0 0 ofrpmsvr ( 16) RDY 0 0 0 0 0 obmtsmgr ( 17) RDY 0 0 0 0 0 obmtscmd ( 18) RDY 0 0 0 0
-
Tmaxサーバーの停止
$ tmdown
tmadminを使用してTmaxサーバーの状態を確認する際、サーバーの状態がNRDYの場合は、サーバー・ログからその原因を確認することができます。Tmaxによって作成されるサーバー・ログ・ファイルは、$TMAXDIR/log/ulogディレクトリに格納されています。
Tmaxについての詳細は、『Tmax 管理者ガイド』を参照してください。 |
1.2. マルチノードの設定
TJESをマルチノードで運用するには、以下のような追加設定が必要です。また、同一ドメインに属するすべてのノードのTmax設定ファイルは同じである必要があります。
以下は、NODE1とNODE2でマルチノードのTJESを実装する例です。
-
ノードの追加
次のようにマルチノードとして構成するノードを追加します。
*NODE DEFAULT: DOMAINNAME = "domofb" NODE1 HOSTNAME = "tmaxof1", IP = "192.168.1.1", TMAXHOME = "$OPENFRAME_HOME/tmax", TMAXDIR = "$OPENFRAME_HOME/tmax", APPDIR = "$OPENFRAME_HOME/server", TLOGDIR = "$OPENFRAME_HOME/tmax/log/tlog", ULOGDIR = "$OPENFRAME_HOME/tmax/log/ulog", SLOGDIR = "$OPENFRAME_HOME/tmax/log/slog", CLHOPT = " -o $OPENFRAME_HOME/tmax/log/clh.log -e /$OPENFRAME_HOME/tmax/log/clh.err", TPORTNO = 9400, SHMKEY = 94000, RACPORT = 9450 NODE2 HOSTNAME = "tmaxof2", IP = "192.168.1.2", TMAXHOME = "$OPENFRAME_HOME/tmax", TMAXDIR = "$OPENFRAME_HOME/tmax", APPDIR = "$OPENFRAME_HOME/server", TLOGDIR = "$OPENFRAME_HOME/tmax/log/tlog", ULOGDIR = "$OPENFRAME_HOME/tmax/log/ulog", SLOGDIR = "$OPENFRAME_HOME/tmax/log/slog", CLHOPT = " -o $OPENFRAME_HOME/tmax/log/clh.log -e /$OPENFRAME_HOME/tmax/log/clh.err", TPORTNO = 9400, SHMKEY = 94000, RACPORT = 9450
-
[SVRGROUP]セクションの変更
SVRGROUPセクションには、新しいノードにサーバー・グループを追加、同じサーバーを起動するためのCOUSINを設定、フェイルオーバーのためにsvg_domainのBACKUPを設定します。
svg_domain NODENAME = "NODE1",BACKUP="svg_domain2" svg_domain2 NODENAME = "NODE2" svg_node1 NODENAME = "NODE1",COUSIN="svg_node2" svg_node2 NODENAME = "NODE2"
-
[ROUTING]セクションの追加およびルーティングするサービスの指定
マルチノードを構成するために、いくつかのサービスはTmaxのデータ駆動型ルーティング機能を使用します。そのとき、ルーティングに使用されるデータはノード名です。[SERVICE]セクションには、変更が必要なサービスのみ表示します。
*ROUTING rt_nodename FIELD = "FIELD/FB_NODENAME", RANGES = "'NODE1':svg_node1,'NODE2':svg_node2,*:svg_node1" *SERVICE OBMJMSVRJDETAIL SVRNAME = obmjmsvr, ROUTING = rt_nodename OBMJINITCTLNODE SVRNAME = obmjinit, ROUTING = rt_nodename OBMJINITCTLJOB SVRNAME = obmjinit, ROUTING = rt_nodename OBMJINITCTLINIT SVRNAME = obmjinit, ROUTING = rt_nodename OBMJINITRUN SVRNAME = obmjinit, ROUTING = rt_nodename OBMJINITSTATUS SVRNAME = obmjinit, ROUTING = rt_nodename OBMJINITCHECK SVRNAME = obmjinit, ROUTING = rt_nodename