環境設定

TJESを実行するには、Tmaxの環境とTJESの環境をあらかじめ設定する必要があります。本節では、TJESを実行するために必要なTmaxの環境設定について説明します。

TJESの環境設定については、OpenFrame Batch『環境設定ガイド』のtjestjesmgrprinttjclrunrcサブジェクトを参照してください。

1. Tmaxの設定

OpenFrameでTJESを実行するには、Tmaxのインストールおよび環境設定を行う必要があります。OpenFrameをインストールするとき、Tmaxの環境はデフォルト値で登録されます。以下の手順でデフォルト値を変更することができます。

  1. Tmaxサーバーを停止します。

    $ tmdown
  2. $TmaxDIR/config/XXX.mファイルを開いて環境を再設定します。

  3. 変更した設定を適用します。

    $ cfl -i $TMAXDIR/config/XXX.m
  4. 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=1MAX=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を実装する例です。

  1. ノードの追加

    次のようにマルチノードとして構成するノードを追加します。

    *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
  2. [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"
  3. [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