配置文件
索引:
tuxedo的运行需要配置文件UBBCONFIG,该文件由管理员编写,然后使用tmloadcf编译成二进制文件。它有以下几个部分组成:
1.RESOURCES
该部分包括整个应用系统的一些配置信息,必须存在而且是配置文件的第一部分。有如下几个参数:
(1).IPCKEY(必需)
用于指定tuxedo分配和存取IPC资源的key,范围是32,768到262,143,该值在系统是唯一的,不能和别的应用同时使用这个值。
(2).MASTER(必需)
指定系统的主节点,主节点控制着整个应用系统的启动和管理。它的值是一个Logical Machine Identifier(LMID),LMID在后面的MACHINES定义。当主节点是集群时,需要指定两个LMID。
(3).UID、GID、PERM
指定系统的存取权限。UID和GID是tuxedo管理员的用户id和组id,PERM是一个八进制数指定读写权限。
(4).MAXACCESSERS、MAXSERVERS、MAXSERVICES
MAXACCESSERS:指定能连接到tuxedo一个节点的最大进程数。缺省是50,这包括所有的client、server和管理进程BBL等。增加该值将会消耗更多的系统信号量IPC资源。
MAXSERVERS:整个应用系统中最大的server进程数。包括管理server进程,缺省是50。提高该值需要共享内存资源。
MAXSERVICES:整个系统可以发布的service的最大数量。缺省是100。提高该值需要更多的共享内存资源。一个service可以被多个server发布,此时,它的数量要算多份。
(5).MODEL(必需)
有两个可选值:
- SHM:应用运行在单机或多机下,使用全局共享内存;
- MP:不使用共享内存,运行在网络多机环境下。
(6).OPTIONS
有两个可选值:
- LAN:支持网络;
- MIGRATE:支持server集群。
可同时指定这两个值,用逗号分隔。
(7).LDBAL
是否打开load balancing(负载均衡)功能。可设置为Y或N,缺省为N。
(8).NOTIFY
设置client接收unsolicited message(请求消息)的方法。有如下三个可选值:
- IGNORE:client忽略此类消息;
- DIPIN:当client调用tpchkunsol或其他ATML调用时接收此类消息;
- SIGNAL:通过系统产生信号通知client接收消息。有两个信号可以产生:SIGUSR1和SIGUSR2,缺省是SIGUSR2。若要指定为SIGUSR1则需设置下面的USIGNAL参数。
缺省是DIPIN。
(9).USIGNAL
设置系统产生的信号是SIGUSR1还是SIGUSR2。
(10).SCANUNIT、SANITYSCAN、BLOCKTIME
管理server(BBL)定期对所属机器上的servers进行正常检测。下面是有关的设置。
- SCANUNIT:指定检测粒度。单位是秒,值必须是5的倍数。缺省是10。
- SANITYSCAN:在两次检测之前间隔几个SCANUNIT。缺省是12(120秒)。SANITYSCAN*SCANUNIT不能大于300。
- BLOCKTIME:一个消息超时前可阻塞的SCANUNIT。缺省是6(60秒)。BLOCKTIME*SCANUNIT不能超过32767。
2.MACHINES
该部分包括整个应用系统中所有计算机的信息。在配置文件中必须存在,而且是第二部分。
每个主机有如下的属性:
(1).主机名
使用命令”uname -n”获得的名称。
(2).LMID(必需)
主机的逻辑id:logical identifier of the machine(LMID)。
(3).TUXCONFIG(必需)
配置文件所在的绝对路径(最大64字符)。
(4).TUXDIR(必需)
Tuxedo的安装绝对目录(最大64字符)。
(5).APPDIR(必需)
应用server所在的绝对目录(最大64字符)。
(6).ENVFILE
环境文件所在绝对路径(最大64字符)。
(7).ULOGPFX
用户日志文件的绝对路径和前缀。
其他
UID、GID、PERM、MAXACCESSERS、MAXCONV可以在此定义而覆盖RESOURCES部分对该计算机的定义。
3.GROUPS
该部分包括所有server组的定义。每台机器必须至少定义一个组。每个组有如下属性:
(1).组名
(2).GRPNO(必需)
组名对应的组号,它必须是唯一的数字。
(3).LMID(必须)
该组属于的逻辑主机id。
4.SERVERS
该部分包括所有server的信息。每个条目描述一个server。Server有如下属性:
(1).server名
server可执行程序名(用buildserver编译)。
(2).SRVGRP(必需)
该server所属的group id(在GROUPS定义)。
(3).SRVID(必需)
每个server在group里定义一个唯一的id号。
对于同一个可执行程序可以在SERVERS中有多个条目,即server名不是唯一的。
(4).CLOPT
指定传递给程序的命令行选项。命令行串由”--"分隔,之前的部分由标准main()处理,后面的部分(有的话)由tpsvrinit()处理,用户自定义的选项放在此处。
缺省CLOPT=“-A”,表示发布该server所有的services。
部分选项如下:
-e filename:重定向标准出错文件(缺省是$APPDIR/stderr);
-o filename:重定向标准输出文件(缺省是$APPDIR/stdout);
-p [L][low_water][,[terminate_time]][:[high_water][,create_time]]:允许server的动态伸缩;
-s services:发布特定的services(语法同buildserver)。该部分优先于buildserver;
-r:记录services的统计信息和标准错误。
(5).ENVFILE
每个server也可指定环境文件,它与MACHINES定义的ENVFILE都起作用,相同的变量以server的为主。
(6).RQADDR、RQPERM、REPLYQ、RPPERM
RQADDR:起用MSSQ(Multiple Server Single Queue)集合。指定一个名字,集合中其他server用同样的名字。
RQPERM:指定队列的访问权限(如0666)。
REPLYQ:属于MSSQ中server的service从队列中取消息的话,它必须回应该消息,这通过指定REPLYQ=Y完成。缺省REPLYQ=N。
RPPERM:当REPLYQ=Y时,指定相关权限。
(7).CONV
如果server是一个会话server,则该属性必须指定为Y。缺省是N,表示它不是一个会话server。
(8).SEQUENCE
指定server的启动顺序,范围是1-9,999。该值小的先于值大的启动;指定该值的server比没有指定的server先启动;如果server都没有指定该选项,则按定义的顺序启动。
server终止时按照启动的反序停止。
(9).MIN
指定启动server的最小实例数。缺省为1。
(10).MAX
指定server能启动的最大实例数。缺省等于MIN。
(11).RESTART、RCMD、MAXGEN、GRACE
RESTART:指定当server死后是否重新启动它。当RESTART=Y时,下面的选项有用。
RCMD:指定重启时同时执行的命令,它必须是一个可执行文件。
MAXGEN:在GRACE时间范围内能重启的次数(MAXGEN-1)。如果GRACE=0则表示重启没有限制。
GRACE:值必须大于等于0,小于等于2,147,483,647秒(大概70年)。缺省是24小时。
5.SERVICES
该部分包括应用中的所有service的信息。每个service一个条目。有如下属性:
(1).LOAD
当LDBAL为Y时,指定该service的负载因子。缺省是50。
(2).PRIO
指定service的优先级。缺省是50。值越大级别越高。
(3).SRVGRP
(4).BUFTYPE