UJP - 技術情報

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

     

Tuxedoのコンフィギュレーション(ubbconfig)


Tuxedoのコンフィギュレーション

ubbconfig


0.改定履歴

  • 1996.06.27 初 版(制作途中版で公開・配布)
  • 1996.07.07 内容をubbconfig部分に絞り,とりあえず完成させた.
  • 1996.07.10 間違いを直した.
  • 1996.07.11 章の発番間違いを直した.
  • 1996.07.12 MACHINESセクションのenvfileの記述を追加した.
  • 1996.07.25 「LMID名はUNIQにする」命名規則を追加.
  • 1996.08.13 詳細情報の追加

1.はじめに

 ここでは,それぞれのユーザが,既にTuxedoおよびC,COBOLコンパイラ,Oracle等が使用可能である環境である事を前提とする.

2.ubbconfigとは

  • ubbconfigとは,Tuxedoで使用されるサービスの定義ファイル.
  • tuxconfigファイルの元になるモノである.
  • ubbconfigと呼ばれる種類のファイルは,中身はテキストファイル.
  • ubbconfigのファイル名は何でも良い.
  • 「tmloadcf」コマンドによりubbconfigファイルをtuxconfigファイルに変換する.

3.ubbconfigファイル

 使用したubbconfigは,次のようになっている.

01:*RESOURCES
02:IPCKEY          123456
03:UID             1001
04:GID             1000
05:MASTER          HostName
06:MAXACCESSERS    50
07:MAXSERVERS      50
08:MAXGTT          50
09:CMTRET          COMPLETE
10:SCANUNIT        10
11:PERM            0660
12:MODEL           MP
13:NOTIFY          DIPIN
14:LDBAL           Y
15:OPTIONS         LAN
16:
17:*MACHINES
18:apserver1     LMID=APSERVER1
19:                ROOTDIR="/opt/FSUNtpbs"
20:                APPDIR="/LOCAL/0/tuxdemo/samp"
21:                TUXCONFIG="/LOCAL/0/tuxdemo/samp/tuxconfig"
22:                ENVFILE="/LOCAL/0/tuxdemo/samp/envfile"
23:                MAXWSCLIENTS=4
24:                TYPE=euc
25:
26:apserver2     LMID=APSERVER2
27:                ROOTDIR="/opt/FSUNtpbs"
28:                APPDIR="/home1/minipro2/samp"
29:                TUXCONFIG="/home1/minipro2/samp/tuxconfig"
30:                ENVFILE="/home1/minipro2/samp/envfile"
31:                MAXWSCLIENTS=4
32:                TYPE=euc
33:*NETWORK
34:APSERVER1       NADDR="0x00021389429ba082"
35:                BRIDGE="/dev/tcp"
36:                NLSADDR="0x00021388429ba082"
37:APSERVER2       NADDR="0x00021389429ba083"
38:                BRIDGE="/dev/tcp"
39:                NLSADDR="0x00021388429ba083"
40:
41:#port 5000 -> 1388
42:#port 5001 -> 1389
43:#DB Server 66.155.160.130 -> 429ba082
44:#AP Server 66.155.160.131 -> 429ba083
45:
46:*GROUPS
47:GROUP1
48:        LMID=APSERVER1           GRPNO=1 OPENINFO=NONE
49:GROUP2
50:        LMID=APSERVER2           GRPNO=2 OPENINFO=NONE
51:
52:*SERVERS
53:DEFAULT:
54:                RESTART=Y MAXGEN=5 REPLYQ=Y CLOPT="-A"
55:dbserver        SRVGRP=GROUP1 SRVID=1
56:                CLOPT="-A"
57:APLSERVER       SRVGRP=GROUP2 SRVID=2
58:                CLOPT="-A"
59:"WSL"           SRVGRP=GROUP2 SRVID=3 GRACE=0
60:                CLOPT="-A -- -n 0x0002138A429ba083 -d /dev/tcp"
61:
62:*SERVICES
63:DBSERVER
64:APLSERVER

 ubbconfigファイル内は,いくつかのセクションに別れている.
 次にそれを示す.

3.1 RESOURCEセクション

  1. 02:IPCKEYを設定する. 他のTuxedoのプロセスと重複しない用に設定する.32769以上262141以下の値を用いる.
  2. 03:プロセスを稼働させるユーザのユーザID(UNIX)を指定する.
  3. 04:プロセスを稼働させるユーザのグループID(UNIX)を指定する.
  4. 05:TuxedoのマスタサーバとなるマシンのLMID名を設定する.
  5. 06:掲示板を同時に使用するプロセスの最大値を指定する. クライアントアプリおよびサーバアプリの数を含むが,管理用サーバやtmadminは除く. 1以上32767以下になる. デフォルト50となる.
  6. 07:掲示板を同時に使用するサーバ数の最大値を指定する. 1以上8191以下とする. デフォルト50となる.
  7. 12:TPシステムのマシン形態を定義する. SHMは1台のマシン,MPは複数代のマシンで構成される事を示す.

 Tuxedoが複数のマシンで通信をしながら稼働する環境の場合,その中の1つのマシンをマスタサーバとする.
 このプロジェクトの場合,APサーバ上がこのマスタサーバになると思われる.(確定ではない)

3.2 MACHINESセクション

 今回のデモでは,2つのマシンを使用しているが,ここではDBサーバ側の設定のみ説明する.

  1. 18:論理マシン名を設定する. ここではホスト名「apserver1」を「APSERVER1」として定義している.
  2. 19:Tuxedoがインストールされているディレクトリを示す.
  3. 20:Tuxedoに登録したサービスのモジュールが格納されているディレクトリを設定する.
  4. 21:ubbconfigによって生成された「tuxconfig」ファイルが格納されているディレクトリを示す.
  5. 22:envfileを記述する.envfileにはCOBOLプログラムが稼働するために必要なライブラリへのパスが設定されている.

 複数のTuxedoが,同じマシン構成で稼働している場合,論理マシン名がそれぞれの設定で重複していると不具合が発生するので,開発者毎等で切り分ける必要がある.
 開発者毎に作成されるアプリケーションの保存位置(ディレクトリパス)は異なるので,APPDIRが指す位置は個別に編集する必要がある.
 複数のマシンでTuxedoが稼働する場合,tuxconfigはマスタサーバ上のモノがスレーブとなるマシンに転送される. よって,マスタサーバ以外のマシンでは,その転送先を示すこととなる.

3.3 NETWORKセクション

  • 34:LMID名APSERVER1上で稼働するBRIDGEプロセスが通信に使用するアドレスとポートを16進数で記述する.
  • 35:BRIDGEが通信する形態を示す.
  • 36:tlistenが他のマシンとの通信に使用するアドレスとポートを16進数で記述する.

 BRIDGEは,他の論理マシンで稼働しているTuxedoプロセスと通信を行なうためのプロセスである.
 tlistenは,マスタサーバ上でTuxedoを起動(tmboot)した際に,他のマシンへtuxconfigファイルの転送およびそのサーバでのサービスプロセスを稼働させる為の通信用プロセスである.

3.4 GROUPSセクション

  • 47:サービスのグループ名を設定する. ここでは「GROUP」としているが名前は任意.
  • 48:前述47行目で設定しているグループがどのLMID上で稼働するか,また重複しないようにグループの番号を設定する.

3.5 SERVERSセクション

  • 55:サービスが所属しているGROUPセクションで設定したグループ,サーバのIDを設定する.

 1つ例にとると,「dbserver」というサービスはマシンf0asfs01で稼働されるべきモノである場合,SRVGRPはGROUPセクションで設定されているGROUP1を設定する.
 SRVIDは,SERVERSセクション内で重複しないように設定すればよい.
 サービス「WSL」とは,Tuxedoのプロセスがクライアントと通信を行なうためのプロセスである. この場合,APサーバ(apserver2)がクライアントと通信を行なう様になるので,そこで起動するためにSRVGRPはGROUP2(つまりapserver2)となっている.  また,60行目で指定してあるPort,IPアドレスは,クライアントとの通信を行なう為のもので,クライアントでは,この値をautoexec.batファイルで環境変数として設定する.

3.6 SERVICESセクション

 稼働するすべてのユーザのサービス名を記述する.
 Tuxedoのシステムが持っているサービス名(BBLとかWSLとか)は必要ない.
 サービスは,(C言語の場合)buildserver,(COBOLの場合)CB85SRVRコマンドで登録されたモノを利用する.(ビルドサーバについてはPro*C用Makefile解説またはCOBOL用Makefile解説を参照)

3.7 ヒント

IPCKEY
各開発者毎にある一定のIPCKEYの範囲を切ってあげれば良いかと思う.たとえば,「新内様は1000から1099までの範囲で使ってね」とか.
Port番号
 クライアント,AP,DBそれぞれのプロセスが通信を行なうPort番号を割り振る必要がある. これはIPCKEYと同様にテストを行なう場合のユーザおよびアプリケーションでのバッティングが発生すると厄介だからである.


広告スペース
Google