Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 運用と操作


3.16.6 サンプルシナリオテンプレートの利用

OpenTP1では,スケールアウトのシナリオテンプレートのうち,新しいOpenTP1ノードを追加するシナリオのサンプルシナリオテンプレートを提供しています。

OpenTP1をインストールした状態でサンプルシナリオテンプレート(OpenTP1_ScenarioScaleout)を実行すると,新しいOpenTP1の環境構築をしたあとに,OpenTP1とサンプルユーザサーバ(basespp)を起動します。サンプルシナリオテンプレートをカスタマイズすると,ご使用の環境に合わせて,スケールアウトを簡単に実行できます。

〈この項の構成〉

(1) サンプルシナリオテンプレートの概要

サンプルシナリオテンプレートの概要について説明します。

サンプルシナリオテンプレートは,次の表に示す処理を実行します。

表3‒41 サンプルシナリオテンプレートが実行する処理

項番

処理内容

シナリオテンプレートの名称

参照する入力シナリオ変数

1

OpenTP1ディレクトリの作成

OpenTP1_MakeTP1Dir

  • DCDIR

  • DCCONFPATH

  • HOST_NAME

  • USER_NAME

  • GROUP_NAME

2

OpenTP1の定義設定

OpenTP1_SetConfig

  • DCDIR

  • DCCONFPATH

  • HOST_NAME

  • USER_NAME

  • BETRAN_FILE1

  • BETRAN_FILE2

  • PORT_NUMBER

3

ノードIDの設定

OpenTP1_ChangeNodeID

  • DCDIR

  • DCCONFPATH

  • HOST_NAME

  • USER_NAME

  • NODE_ID

4

OpenTP1の登録

OpenTP1_Deploy

  • DCDIR

  • DCCONFPATH

  • HOST_NAME

5

OpenTP1ファイルシステムの作成

OpenTP1_MakeFileSystem

  • DCDIR

  • DCCONFPATH

  • HOST_NAME

  • USER_NAME

  • BETRAN_FILE1

  • BETRAN_FILE2

6

OpenTP1の起動

OpenTP1_Start

  • DCDIR

  • DCCONFPATH

  • HOST_NAME

  • USER_NAME

7

UAP(サンプルプログラム)の起動

OpenTP1_StartUAP

  • DCDIR

  • DCCONFPATH

  • HOST_NAME

  • USER_NAME

  • USER_SERVER_NAME

シナリオテンプレートごとに詳細を説明します。

1.OpenTP1ディレクトリの作成(OpenTP1_MakeTP1Dir)

OpenTP1ディレクトリ作成シェルファイルを使用して,次に示す順序でOpenTP1ディレクトリを作成します。

  1. ユーザ名・グループ名を取得(getUSERNAME)します。

    指定したUSER_NAME,GROUP_NAMEが取得され,makeTP1Dirシナリオに引き継がれます。ただし,USER_NAME,GROUP_NAMEを両方とも省略した場合は,JP1/Baseで定義したユーザマッピングのプライマリユーザおよびユーザが属するグループが取得されます。

  2. OpenTP1ディレクトリを作成(makeTP1Dir)します。

    OpenTP1ディレクトリ作成シェルファイルを使用して,次のようなOpenTP1ディレクトリを作成します。

     ・ディレクトリ:入力シナリオ変数DCDIRの設定値

     ・所有者:入力シナリオ変数USER_NAMEの設定値

     ・グループ:入力シナリオ変数GROUP_NAMEの設定値

     ・モード:0755

    指定したOpenTP1ディレクトリの親ディレクトリがない場合は,親ディレクトリも含めて作成します。ただし,所有者・グループ・モードの設定は,OpenTP1ディレクトリにだけ行います。

2.OpenTP1の定義設定(OpenTP1_SetConfig)

OpenTP1環境設定シェルファイルを使用して,OpenTP1のシステム定義およびロードモジュールを,次に示す順序で設定します。

  1. $DCDIR/aplib,$DCDIR/jp1_template/tools,および$DCCONFPATHディレクトリを作成します。

  2. /BeTRAN/jp1_template/examplesディレクトリ下のaplib,conf,およびtoolsを作成したディレクトリ下にコピーします。

  3. システム定義のノード固有情報(ファイルシステムのパス名など)を設定します。

3.ノードIDの設定(OpenTP1_ChangeNodeID)

OpenTP1のノードIDを入力シナリオ変数NODE_IDの設定値で設定します。

4.OpenTP1の登録(OpenTP1_Deploy)

dcsetupコマンドを実行し,OpenTP1をOSに登録します。

5.OpenTP1ファイルシステムの作成(OpenTP1_MakeFileSystem)

OpenTP1ファイル作成シェルファイルを使用して,OpenTP1ファイルシステムおよびOpenTP1ファイルを作成します。

OpenTP1ファイルシステム名は,入力シナリオ変数BETRAN_FILE1,およびBETRAN_FILE2の設定値になります。

6.OpenTP1の起動(OpenTP1_Start)

OpenTP1を起動します。

7.UAP(サンプルプログラム)の起動(OpenTP1_StartUAP)

入力シナリオ変数USER_SERVER_NAMEに設定されたユーザサーバのUAPを起動します。

注※

シェルファイルは,ご使用のOSによって異なります。OSごとのシェルファイルのパスを,次の表に示します。

表3‒42 OSごとのシェルファイルのパス

シェルファイル名

OS

UNIX

Windows

OpenTP1ディレクトリ作成シェルファイル

/BeTRAN/jp1_template/examples/tools/dcjmk_dcdir.sh

(OpenTP1をインストールしたディレクトリ)\jp1_template\examples\tools\dcjmk_dcdir.bat

OpenTP1環境設定シェルファイル

/BeTRAN/jp1_template/examples/tools/dcjset_conf.sh

(OpenTP1をインストールしたディレクトリ)\jp1_template\examples\tools\dcjset_conf.bat

OpenTP1ファイル作成シェルファイル

/BeTRAN/jp1_template/examples/tools/dcj_mkfs.sh

(OpenTP1をインストールしたディレクトリ)\jp1_template\examples\tools\dcj_mkfs.bat

(2) サンプルシナリオテンプレートの登録

サンプルシナリオテンプレートを実行するには,サンプルシナリオテンプレートを,JP1/AJS2 - Scenario Operation Viewの操作によってJP1/AJS - Managerに登録します。

サンプルシナリオテンプレートは,次の場所に格納されています。

/ScenarioLibrary/OpenTP1/TP1_ServerBase/OpenTP1_ScenarioScaleout

サンプルシナリオテンプレートを登録するには,次の表に示す入力シナリオ変数を設定します。

表3‒43 サンプルシナリオテンプレートへの設定情報

入力シナリオ変数

内容

設定例

DCDIR

OpenTP1のホームディレクトリ

/home/user/OpenTP1

DCCONFPATH

OpenTP1定義ファイル格納ディレクトリ

/home/user/OpenTP1/conf

HOST_NAME※1

実行するOpenTP1ノードのホスト名

hostX

USER_NAME※1

OpenTP1のユーザ名

user

GROUP_NAME※1

OpenTP1のグループ名

tp1

BETRAN_FILE1※2

OpenTP1ファイルシステムのパス

/home/user/OpenTP1/betranfile1

BETRAN_FILE2※2

OpenTP1ファイルシステムのパス

/home/user/OpenTP1/betranfile2

USER_SERVER_NAME

ユーザサーバ名

basespp(サンプルでは固定)

NODE_ID

OpenTP1のノード識別子(ノードごとに一意の4文字の文字列)

smpl

PORT_NUMBER

OpenTP1のネームポート番号

10000

注※1

設定を省略できます。入力シナリオ変数USER_NAMEおよび入力シナリオ変数GROUP_NAMEは,両方設定するか,または両方設定しないかのどちらかにしてください。

注※2

キャラクタ型スペシャルファイルを設定する場合は,シナリオを実行する前にパーティションを割り当ててください。

この設定例の値をサンプルシナリオテンプレートに設定してシナリオを実行した場合,次の図に示すようなディレクトリ構成のOpenTP1実行環境が作成されます。

図3‒51 サンプルシナリオテンプレート実行後のOpenTP1ディレクトリ

[図データ]

(3) サンプルシナリオテンプレートのカスタマイズ

サンプルとして提供されるOpenTP1定義ファイルやシェルファイルなどをカスタマイズすると,OpenTP1の構成を簡単に変更できます。また,ご使用の環境に合わせてカスタマイズしたファイルを,OpenTP1のインストール環境とともにDPMで作成するマスタディスクに格納すると,スケールアウトを簡単に実行できます。

ユーザがカスタマイズできるサンプルファイルを次に示します。

各ファイルのカスタマイズ方法を次に示します。

(a) サンプルプログラムのロードモジュールのカスタマイズ

業務に合わせたSUPおよびSPPを作成し,ロードモジュール(実行形式ファイル)を任意のディレクトリに格納してください。

(b) システム定義ファイルおよびOpenTP1環境設定シェルファイルのカスタマイズ

OpenTP1のシステム定義をカスタマイズするには,システム定義ファイルおよびOpenTP1環境設定シェルファイルを変更します。

  • システム定義ファイルのカスタマイズ

    OpenTP1の各システム定義ファイルの中で,必要なものをあらかじめ設定しておきます。設定内容をノードごとに変えたい場合は,シナリオテンプレート用の文字列「@DCxxxxxx@」を設定してください。「@DCxxxxxx@」の値は,dcjchconfコマンドで設定できます。

  • OpenTP1環境設定シェルファイルのカスタマイズ

    次の表に示すファイルは,OpenTP1環境設定シェルファイルの設定に従って,インストールディレクトリ(/BeTRAN)下からOpenTP1ディレクトリ($DCDIR)下にコピーされます。そのため,これらのファイルの格納場所を変更した場合は,OpenTP1環境設定シェルファイルの設定値を変更してください。

    表3‒44 サンプルのOpenTP1環境設定シェルファイルの設定値

    ファイルの種類

    格納場所

    コピー先

    サンプルプログラムのロードモジュール

    /BeTRAN/jp1_template/examples/aplib

    $DCDIR/aplib

    システム定義ファイル

    /BeTRAN/jp1_template/examples/conf

    $DCCONFPATH

    OpenTP1ファイル作成シェルファイル

    /BeTRAN/jp1_template/examples/tools

    (ファイル名:dcj_mkfs.sh)

    $DCDIR/jp1_template/tools

    OpenTP1環境設定シェルファイルは,システム定義ファイルに設定された文字列「@DCxxxxxx@」を,dcjchconfコマンドを実行して設定します。サンプルシナリオテンプレートの場合,次の表に示すように設定されます。

    表3‒45 サンプルシナリオテンプレートの文字列「@DCxxxxxx@」の設定値

    ファイル名

    オペランド名/定義コマンド名

    システム定義ファイルの設定値

    OpenTP1環境設定シェルファイルの設定値※1

    cdtrn

    jnladdpf

    @DCbetran@

    ?BETRAN_FILE1?

    env

    DCCONFPATH

    @DCconfpath@

    $DCCONFPATH

    prc

    prcsvpath

    @DChomepath@

    $DCDIR

    sts

    sts_file_name

    @DCbetran@

    ?BETRAN_FILE1?

    @DCbetran2@

    ?BETRAN_FILE2?

    sysjnl

    jnladdpf

    @DCbetran@

    ?BETRAN_FILE1?

    betranrc

    node_id※2

    @DCNODE_ID@

    ?NODE_ID?

    name_port

    @DCport_number@

    ?PORT_NUMBER?

    注※1

    「?」で囲まれた文字列は,入力シナリオ変数に設定された値を示します。

    注※2

    サンプルシナリオテンプレートが実行する「ノードIDの設定」シナリオを実行すると,自動的に設定されます。

(c) OpenTP1ファイル作成シェルファイルのカスタマイズ

サンプルシナリオテンプレートでは,入力シナリオ変数BETRAN_FILE1および入力シナリオ変数BETRAN_FILE2で設定したOpenTP1ファイルシステム(/home/user/OpenTP1/betranfile1および/home/user/OpenTP1/betranfile2)に,次の表に示すファイルを作成します。作成するファイルを変更する場合は,OpenTP1ファイル作成シェルファイルをカスタマイズしてください。

表3‒46 入力シナリオ変数BETRAN_FILEに作成されるファイル

ファイル名

ファイル種別

cpdf01※1

チェックポイントダンプファイル

cpdf02※1

cpdf03※1

stsfil01※1

ステータスファイル(A系)

stsfil03※1

jnlf01※1

システムジャーナルファイル

jnlf02※1

jnlf03※1

stsfil02※2

ステータスファイル(B系)

stsfil04※2

注※1

/home/user/OpenTP1/betranfile1に作成されるファイルです。

注※2

/home/user/OpenTP1/betranfile2に作成されるファイルです。