環境設定

TJESを実行するには、Tmax環境とTJES環境を事前に設定する必要があります。本節では、TJESで必要とする各種環境ファイルについて説明します。

1. Tmaxの設定

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ジョブの処理

  • TJES関連サーバー

    サーバー名 機能

    ofrsasvr

    セキュリティ管理

    ofrlhsvr

    ロック・ハンドルの割り当て

    ofruisvr

    ユーザー・インターフェース・サーバー

    ofrcmsvr

    コンソール管理

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"

SVGNAME=svg_domainは、全ノードのうち1つのノードでのみ起動する必要があることを意味します。また、MIN=1、MAX=1は、1つのサーバーのみを起動する必要があることを意味します。したがって、obmjschdは全ノードのうち1つのノードで1つのサーバーを起動し、obmjinitはノードごとに1つのサーバーを起動します。また、obmjmsvrはノードごとに複数のサーバーを起動できます。使用環境の負荷状況に応じてMINを設定して使用してください。指定しない場合は、MIN=1に設定されます。

TJES関連サーバーの設定については、OpenFrame Base『Baseガイド』を参照してください。

以下は、TJESサーバーが正常に起動していることを確認する方法です。

  • 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のバックアップを設定する必要があります。

    svg_domain
        NODENAME = "NODE1",BACKUP="svg_domain2"
    svg_domain2
        NODENAME = "NODE2"
    svg_node1
        NODENAME = "NODE1",COUSIN="svg_node2"
    svg_node2
        NODENAME = "NODE2"
  3. ROUTING句の追加とサービスにROUTINGを明示

    マルチノードを構成するために、一部のサービスではTmaxのData-Driven-Routing機能を使用します。ルーティングに使用するデータはノード名です。以下は、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