Tuxedo ubbconfig配置詳解
應用的描述資訊配置在系統核心位置,用一個檔案描述,通常稱為ubbconfig檔案,在主控機器上。整個TUXEDO系統的管理任務可以在一臺機器上完成,在配置中被定為主控節點。
在執行時,這些資訊被裝入一段共享記憶體(一個IPC資源),稱為公告牌(Bulletin Board—BB);包含有配置中不同機器的資訊,在這些機器上執行的服務的資訊,這些服務提供的交易的資訊以及其他相關資訊。
客戶端在執行時連線公告牌。當客戶端程式呼叫一個交易,將根據公告牌找到合適的服務佇列。
所以,公告牌是:
——供客戶端尋找適當的服務,執行一個交易請求
——包含應用資訊:機器,服務,交易,網路等
——創建於ubbconfig檔案
TUXEDO提供一個管理程序,稱為BBL(Bulletin Board Liaison),包含了一個公告牌的本地拷貝和本地伺服器上應用的狀態。
TUXEDO提供的另一個管理程序DBBL(Distinguished Bulletin Board Liaison),用於多伺服器配置時。DBBL與BBL協同,保證所有部分的公告牌內容的一致性。
配置檔案
任何TUXEDO應用系統的最基本的管理任務,是建立並維護配置檔案。該檔案通常稱為ubbconfig檔案。負責該工作的系統管理員必須很好的瞭解分佈於各臺機器上的應用服務的資料流,訊息佇列的構造,資源間的相互關係。ubbconfig檔案可視作包含應用啟動資訊的容器,需編譯成二進位制檔案tuxconfig,作為啟動時的參考。
其內資訊包括:
2 系統範圍資訊(*RESOURCES節)
2 機器資訊(*MACHINES節)
2 組資訊(*GROUPS節)
2 服務資訊(*SERVERS節)
2 交易資訊(*SERVICES節)
2 網路組資訊(*NETGROUPS節)
2 網路資訊(*NETWORK節)
2 路由原則資訊(*ROUTING節)
當完成了ubbconfig檔案後,用tmloadcf命令生成tuxconfig
另一種從ubbconfig生成tuxconfig的方法是使用圖形管理介面(GAI—Graphical Administration Interface)。
- // 應用的資訊
- *RESOURCES節包含整個應用範圍的資訊。本節必須在配置檔案第一節,不可缺少。資訊說明如下:
- // 引數 意義
- *RESOURCES *RESOURCES節
- IPCKEY 共享記憶體id
- UID TUXEDO管理員使用者id
- GID TUXEDO管理員組id
- PERM TUXEDO管理員組使用者的許可權
- MAXACCESSERS 服務端和客戶端的最大程序數
- MAXSERVERS 限制可以啟動服務總數
- MAXSERVICES 限制可以釋出交易總數
- MASTER 指出主控節點的邏輯名,第二個是備份節點
- MODEL 應用構架,MP表示多機
- OPTIONS LAN,MIGRATE表示是一個網路應用,服務可以移植到替代處理器上
- SECURITY 安全級別(5個)
- AUTHSVC 客戶端可以通過交易“AUTHSVC”獲得認證
- NOTIFY DIPIN,客戶端通過dip-in收到廣播通知
- SYSTEM_ACCESS PROTECTED,NO_OVERRIDE,應用程式碼不得干擾共享記憶體
- LDBAL 設Y則進行負載均衡
- MAXBUF[S]TYPE 資料緩衝型別及子類的最大數
- SCANUNIT 內部時間間隔單位,單位是秒
- SANITYSCAN 檢索公告牌的內部時間間隔,單位是SCANUNIT
- BLOCKTIME 交易超時時間,單位是SCANUNIT
- BBLQUERY DBBL查詢所有BLL的時間間隔
- DBBLWAIT DBBL等待BBL迴應的超時時間
- MAXCONV 同時最大會話數
- 注意:本處未列出全部引數。這些系統範圍內引數可以被後序節內參數超越。
- 範例
- *RESOURCES
- IPCKEY 80952
- UID 213
- GID 1
- PERM 0660
- MAXACCESSERS 150
- MAXSERVERS 75
- MAXSERVICES 200
- MASTER SITE1,SITE2
- MODEL MP
- OPTIONS LAN,MIGRATE
- SECURITY APP_PW
- AUTHSVC AUTHSVC
- NOTIFY DIPIN
- SYSTEM_ACCESS PROTECTED,NO_OVERRIDE
- LDBAL Y
- MAXBUFTYPE 10
- MAXBUFSTYPE 15
- SCANUNIT 10
- SANITYSCAN 12
- BLOCKTIME 3
- BBLQUERY 24
- DBBLWAIT 10
- MAXCONV 10
- // 機器資訊
- *MACHINES節包含應用有關的每個處理器的資訊。本節必須在*RESOURCES節後列出。
- // 引數 意義
- *MACHINES MACHINES節
- gumby 物理處理器名,可以通過”uname –n”或節點名得到
- TUXDIR TUXEDO系統軟體安裝位置
- APPDIR 應用服務位置全路徑
- TUXCONFIG TUXEDO配置檔案全路徑
- ENVFILE 環境檔案全路徑
- ULOGPFX 應用日誌檔案全路徑
- MAXACCESSERS 本機最多處理器數,可以超越*RESOURCES節定義
- MAXCONV 本機最大會話數,可以超越*RESOURCES節定義
- 範例
- *MACHINES
- gumby LMID=SITE1
- TUXDIR=”/usr/tuxedo”
- APPDIR=”/usr/apps/atmapp”
- TUXCONFIG=” /usr/apps/atmapp/atmapp.tux”
- ENVFILE=” /usr/apps/atmapp/ENVFILE”
- ULOGPFX=”/usr/apps/atmapp/logs/ULOG”
- MAXACCESSERS=100
- MAXCONV=15
- // 組定義
- *GROUP節包含服務組的定義。一臺機器至少要定義一個服務組。如果沒有定義組,管理命令tmadmin可能依然能執行。
- 每個組只要定義組名,對映組名的組號和邏輯機器名。組為分散式交易系統和資料依賴路由等靈活性措施提供了支援。
- // 引數 意義
- *GROUPS GROUP節
- BANKB1 組的唯一識別符號,可以是字母數字
- GRPNO 組的唯一數字識別符號
- LMID 組所在的機器
- 範例
- *GROUPS
- BANKB1 GRPNO=200 LMID=SITE1
- BANKB2 GRPNO=220 LMID=SITE1
- SYSGRP GRPNO=110 LMID=SITE1
- EVTGRP1 GRPNO=120 LMID=SITE1
- // 服務定義
- ubbconfig的*SERVERS 節包含的是服務程序的資訊。本節中每一個入口代表一個應用啟動時載入的服務。這些資訊包含服務名,命令列引數,服務環境,重啟動等等。由於每個服務功能各不相同,其配置引數也因此相同或相異。
- 引數 意義
- *SERVERS SERVER節,列出所有服務程式
- DEFAULT: 本處列出的引數為其下列出的服務的預設值,但可以被單列條目替代相應值
- RESTART 如果設成Y,則服務可以重啟動
- MAXGEN 在GRACE定義時間之內,服務可以重啟動MAXGEN次
- GRACE 週期,單位是秒
- RCMD 每次服務重啟動,本處定義的指令碼或命令被執行
- ENVFILE 列有環境變數的檔案,在交易啟動前設入環境
- TLR 一個服務名,用buildserver建立,應在APPDIR或$TUXDIR/bin
- SRVGRP 服務屬於一個在*GROUPS節中定義的服務組;如果需要移植服務,也可以定義在多個組中。
- SRVID 服務組中代表服務的唯一值
- MIN 最少在啟動時啟動的服務數
- MAX 執行時,最多可以起的例項數
- CLOPT 跟隨服務啟動的其他引數
- -A 服務內建交易全釋出
- –r 指定服務記錄時間戳,用於以後計算交易處理時間
- -e 定義標準錯誤重定向檔案
- -o 定義標準輸出重定向檔案
- -- TUXEDO引數和服務特定引數的分隔符
- … 傳給tpsvrinit()的引數
- SYSTEM_ACCESS 設定後,應用錯誤不干擾公告牌
- RQADDR 當設定此項後,所有本服務的例項都使用相同的請求佇列。這是在應用中設定MSSQ(Multiple Server Single Queue)的方便辦法,可以改善處理流量。任何時候,所有MSSQ集中的例項釋出相同的交易集。
- XFER 另一個服務
- REPLYQ 設成Y,則服務又作為一個MSSQ集配置,任何其中的交易呼叫其他交易,就建立一個單獨的迴應佇列。
- 範例
- *SERVERS
- DEFAULT: RESTART=Y MAXGEN=5 GRACE=3600
- RCMD=”/sur/apps/atmapp/scripts/beeper”
- CLOPT=”-A” ENVFILE=”/usr/apps/atmapp/envfile”
- TLR SRVGRP=BANKB1 SRVID=10 MIN=1 MAX=2
- CLOPT=”-A –r
- -e /usr/apps/atmapp/logs/TLR1.err
- -o /usr/apps/atmapp/logs/TLR1.out
- --
- -T 101 –e 300 –d dbfile”
- SYSTEM_ACCESS=PROTECTED
- RQADDR=”TLR_Q1”
- XFER SRVGRP=BANKB1 SRVID=20 MIN=1 MAX=2
- RQADDR=”XFER_Q1” REPLYQ=Y
- CLOPT=”-A –r”
- // 交易定義
- *SERVICES節提供了應用的特殊交易的資訊。包括負載平衡(LOAD)和資料緩衝型別檢查(BUFTYPE)。如果全部都是預設值則本節可以省略。
- 引數 意義
- *SERVICES 交易節
- # 註釋行符號
- 大寫字母 交易名,由應用服務提供
- BUFTYPE 任何向該交易的請求,資料應該是此處定義型別
- GROUP 交易所在服務所在的組
- LOAD 負載因子,表示處理請求的時間,用於計算負載平衡
- PRIO 優先順序
- 範例
- *SERVICES
- #comment line
- DEPOSIT BUFTYPE=”FML”
- SRVGRP=BANKB1
- LOAD=25 PRIO=70
生成TUXCONFIG檔案
UBBCONFIG檔案是一個可以編輯成需要的應用配置的文字檔案。但是,/T在實際應用上讀取的是二進位制TUXCONFIG檔案用於操作。命令tmloadcf可以把UBBCONFIG檔案轉化成TUXCONFIG檔案。
tmloadcf命令接受以下4個引數:
-c 計算執行應用需要的IPC資源,該資訊將提供給管理員,用於在各機器上配置資源。
-n 進行語法檢查並不生成TUXCONFIG。
-b 控制TUXCONFIG佔用的物理頁數。
-y 無條件覆蓋TUXCONFIG
環境變數TUXCONFIG必須設定指向二進位制TUXCONFIG檔案。
在安全要求高的應用中,tmloadcf不能從標準輸入接受,環境變數APP_PW必須包含應用密碼。
tmunloadcf將TUXCONFIG轉換成ASCII格式用於檢查。該工具讀取環境變數TUXCONFIG指向的檔案。輸出包含所有的引數,包括TUXEDO設定的預設值,是UBBCONFIG檔案的一個超集。
*************************************************
UID和GID是你的服務以哪個使用者和組執行,聯合PERMS可以判斷執行許可權,不置為本使用者。
Domain是在Tuxedo的架構中,可以共同負載均衡,遷移,備份等功能的一組機器,勿要同Group混淆。
一個tuxedo應用只能有一個DMADM,可以在任何一個組中
一個tuxedo應用可以有多個GWADM---GWTDOMAIN對,一個組只能有一個GMADM----GWTDOMAIN對,