Tux配置管理培训.ppt_第1页
Tux配置管理培训.ppt_第2页
Tux配置管理培训.ppt_第3页
Tux配置管理培训.ppt_第4页
Tux配置管理培训.ppt_第5页
已阅读5页,还剩73页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Bea Tuxedo 配置与管理简介,罗海龙 Hailong.LBEA Systems,Agenda,Bea Tuxedo 概要介绍 Bea Tuxedo 配置简介 Bea Tuxedo 管理简介,Bea Tuxedo 概要介绍,Agenda,TUXEDO应用模型 简单的应用示例 TUXEDO的数据缓冲区 七种通讯方式,三层结构的卓越,TUXEDO应用模型,TUXEDO应用的组件,Client main() tpinit(0); buf=tpalloc(“FML”,); bufoutput data tpfree(buf); tpterm() ,Server void NAME(TPSVCIN

2、FO *transb) s_buf = (FBFR*)transb-data; s_buf-input data; EXEC SQL INSERT INTO emp VALUES (:name,:age); r_buf=tpalloc(“FML”,.); r_buf - output data; tpreturn(TPSUCCESS, 0, r_buf,0 , 0); ,Tuxedo编程框架-名字调用,#include #include atmi.h/* TUXEDO Header File */ main(int argc, char *argv) char *buf ;long sendl

3、en, rcvlen;int ret; if (tpinit(TPINIT *) NULL) = -1) (void) fprintf(stderr, Tpinit failedn); exit(1); sendlen = strlen(argv1); if(buf = (char *) tpalloc(STRING, NULL, sendlen+1) = NULL) (void) fprintf(stderr,Error allocating send buffern); tpterm(); exit(1); (void) strcpy(buf, argv1); ret = tpcall(”

4、TOUPPER, (char *) buf, 0, (char *) ,Client 端应用示例,编写客户程序 simpcl.c,buildclient,客户进程 simpcl,本机: buildclient -o simpcl -f simpcl.c网络: buildclient -w -o simpcl -f simpcl.c buildclient -w -o simpcl -f simpcl.c -v,TUXDIR=/home/tuxedo; export TUXDIRPATH=$tuxdir/bin;$PATHNLSPATH=$TUXDIR/locale/C; export NLSP

5、ATHLANG=C; export LANG WSNADDR=/servername:port; export WSNADDR,Client 端程序编译,tpsvrinit(argc, argv) int argc; char *argv; userlog(Welcome to the simple server); return(0); tpsvrdone(argc, argv) int argc; char *argv; userlog(simple server is over); return(0); TOUPPER(rqst) TPSVCINFO *rqst; int i; for(

6、i = 0; i len-1; i+) rqst-datai = toupper(rqst-datai); /* Return the transformed buffer to the requestor. */ tpreturn(TPSUCCESS, 0, rqst-data, 0L, 0); ,Server 端应用示例,编写服务程序 simpserv.c,buildserver,服务进程 simpserv,原名发布:buildserver -o simpserv -f simpserv.c -s TOUPPER 别名发布:buildserver -o simpserv -f simpse

7、rv.c -s BIG:TOUPPER,TUXDIR=/home/tuxedo; export TUXDIRPATH=$tuxdir/path;$PATHNLSPATH=$TUXDIR/locale/C;LANG=C;,Server 端程序编译,*RESOURCES IPCKEY237456 MASTERotc MODELSHM *MACHINES ”AIX_SERVERLMID=otc TUXCONFIG=/usr/tuxedo/apps/dbteste/tuxconfig TUXDIR=/usr/tuxedo APPDIR=/usr/tuxedo/apps/dbtest MAXWSCLIE

8、NTS=10 *GROUPS GROUP1LMID=otcGRPNO=1 *SERVERS simpserv SRVGRP=GROUP1” SRVID=1 WSLSRVGRP=GROUP1 SRVID =300 CLOPT=-A - -n /159.226.5.218:5898 -d/dev/tcp -m1 -M5 -x 10 *SERVICES TOUPPER,系统配置文件 UBBCONFIG - Sample,tmloadcf -y ubbconfig,TUXDIR=/home/tuxedo; export TUXDIRPATH=$TUXDIR/path;$PATHAPPDIR=/home

9、/xiaohua/tuxtest; TUXCONFIG=/home/xioahua/tuxtest/tuxconfigNLSPATH=$TUXDIR/locale/C;LANG=C;,系统配置文件的生成,基本的应用布署过程,tmboot,tmadmin,tmshutdown,tmboot -y tmadmin psr psc pq help quit tmshutdown -y,应用的起动、监控、停止,缓冲区类型,同步调用 异步调用 管道 会话 广播、通知 队列 发布订阅,七种通讯方式,tpcall( ),C,S,同步调用,tpacall( ) tpgetrply( ) tpcancel(),

10、C,S,S,S,异步调用,tpforward( ),C,S,S,S,管道,C,C,S1,S2,S1,S2,Nested Services Tpcall(),Pipelined Services Tpforward(),What are the required ratios of S1 to S2?,管道通讯-节省资源,tpconnect( ), tpdisconnect() tpsend( ) ,tprecv(),*SERVERS convservSRVGRP=CONGRP SRVID=10 CONV=Y,会话,tpsetunsol(),tpchkunsol(),SIGNAL/DIPIN t

11、pnotify( ), tpbroadcast( ) Broadcast, Narrowcast or Point-to-Point From operator, client, server, .,广播、通知,tpenqueue( ); tpdequeue( ),可靠队列存储转发,tpsubscribe( ) tppost( ),发布和订阅,Tuxedo 配置介绍,Agenda,客户端的配置 服务器端的配置 配置文件UBBCONFIG RESOURCES Section MACHINES Section GROUPS Section SERVERS Section SERVICES Sect

12、ion 数据依赖路由 NETWORKS Section NETGROUPS Section MP模式的配置 动态迁移 XA的配置,Client端的配置,客房端环境变量,WSNADDR,Try each host in turn, until successful WSNADDR=ADDR1, ADDR2, ADDR3 Choose any host at random WSNADDR=(ADDR1|ADDR2|ADDR3) Choose one of two hosts at random, with the third as backup WSNADDR=(ADDR1|ADDR2), ADD

13、R3,The configuration file exists in two formats,1,UBBCONFIG - an ASCII version of the configuration file,2,TUXCONFIG - a binary version of the configuration file generated from UBBCONFIG,Tuxedo Domain,tmloadcf,tmboot,TUXCONFIG,Tuxedo Server端的配置方式,UBBCONFIG文件架构,UBBCONFIG文件各段的关系,SERVER和SERVICE的概念,SERV

14、ER,SERVER是一个进程,守侯一条消息队列; SERVICE是一个单一的函数; 一个SERVER可以包含多个SERVICE,对外提供多种服务; 同一个SERVER可以在同一机器上运行多个拷贝,并守侯同一条消息队列;,SVC1,SVC2,SVC3,SVC4,*RESOURCES #RESOUCES节提供整个系统的基本参数 IPCKEY237456 32769-16,777,214 MASTER“bill1”,”bill2” UID102 /* BEA TUXEDO Administrator GID10 PERM0660 /*Access Control */ MAXACCESSERS300

15、 /* on a node */ MAXSERVERS250 /* in the whole domain */ MAXSERVICES250 /* in the system */ MODELMP OPTIONLAN,MIGRATE LDBALY/* TMNETLOAD environment */ NOTIFYSIGNAL /* DIPIN,IGNORE, TPINIT flag override*/ USIGNALSIGUSR1 SCANUNIT10/* 5*x */ SANITYSCAN3 /* SCANUNIT*SANITYSCAN 300 */ BLOCKTIME1 /* a me

16、ssage may block */,RESOURCES Section,MASTERbill1,bill2 #指定DOMAIN中的管理主机为unicom1,运行过程中unicom1若出现问题,管理主机切换至unicom2 MAXACCESSERS 1000 #这里该值表示整个系统中每个机器上可以访问TUXEDO的Client和Server的总数(可以访问 BBL的最大进程数),应大于license用户数+server数(副本应记入)。该字段会被MACHINE部分的MAXACCESSERS覆盖。 #系统核心参数中SEMAPHORE的数目(SEMMNS)要大于这里的MAXACCESSERS数目,

17、而ipc消息个数(MSGMAX)应大于MAXACCESSERS数+所有带REPLYQ的SERVER的个数。 MAXSERVERS80 #最大的server数(副本应记入) MAXSERVICES200 #最大的service数(多个server重复记入) MAXOBJECTS20 #系统最多存在的CORBA对象数目 MODELMP #表示cluster方式,否则为SHM OPTIONSLAN,MIGRATE #多机cluster方式时必须指定为LAN方式,MIGRATE表示可以以组为单位进行机器间SERVER的迁移。,RESOURCES Section,RESOURCES Section,SC

18、ANUNIT10 #SCANUNIT 是BBL在所有服务请求中定期扫描以寻找超时的交易和被阻塞德调用和德间隔时间(秒)。这个参数指定BBL扫描间隔时间的基本单位, 它会影响在tpbegin中指定的交易超时时间和用BLOCKTIME指定的请求阻塞超时时间的精确程度。SANITYSCAN, BBLQUERY, DBBLWAIT, BLOCKTIME等参数都是SCANUNIT的倍数,而不是实际秒数。而作为时间单位SCANUNIT必须是5的倍数,并且满足0SCANUNIT60。 SANITYSCAN12 #SANITYSCAN的值指定在每个MACHINE上BBL自动检测所有进程的时间间隔,以SCANU

19、NIT为单元。缺省值满足(SCANUNIT*SANITYSCAN)约为120秒。 DBBLWAIT 2 #DBBLWAIT的值指定DBBL扫描BBL时等待所有BBL应答的最大时间,以SCANUNIT为单元,即超过DBBLWAIT*SCANUNIT(秒)就超时。每一次DBBL将请求转发给它的BBL时,BBL会在请求返回结果之前先回复一个肯定的应答。这样可以定时检测死掉或不正常的BBL。缺省值满足(SCANUNIT*DBBLWAIT)的值等于SCANUNIT和20秒两者之间的最大者。 BBLQUERY30 #BBLQUERY指定DBBL对所有BBL进行状态检查的时间间隔,它也是以SCANUNIT为

20、计算单位。如果DBBL的状态询问没有回答,该BBL就被隔离了。缺省值满足(SCANUNIT * BBLQUERY) 约为 300秒。 BLOCKTIME6 #BLOCKTIME指定在阻塞队列中的被阻塞请求的超时时间,以SCANUNIT为计算单位。缺省值满足(SCANUNIT * BLOCKTIME) 约为60秒。,*MACHINES billing-1 LMID=bill1 TUXCONFIG=/export/neva_app/tuxconfig TUXDIR=/export/program/Tuxedo APPDIR=/export/neva_app TLOGNAME=TLOG TLOGSI

21、ZE=100 SPINCOUNT=8 MAXACLCACHE=100 MAXOBJECTS=300 MAXWSCLIENTS=300 #LMID:Logical Machines ID 为tuxedo对主机的内部逻辑命名。 #APPDIR要求放置SERVER的可执行文件。 #TUXCONFIG为全路径的二进制配置文件,要求和环境变量TUXCONFIG相同。对于master机tuxconfig文件是由tmloadcf生成的,而非master机则是由tmboot启动后由tlisten从master机上拷贝获得。 #TUXDIR为tuxedo安装目录,要求和环境变量TUXDIR相同。 #MAXWSC

22、LIENTS表示可连接client的最大个数。,MACHINES Section,*GROUPS “APP_GRP1 LMID=bill1 GRPNO=1 TMSNAME=TMS_ORATMSCOUNT=3 OPENINFO=Oracle_XA:Oracle_XA+Acc=P/scott/tiger+SesTM=120+LogDir=.+SqlNet=abcde“ #GROUP1为组名,LMID表示该组运行的主机,GRPNO为组号,OPENINFO为该组通过XA打开RM(通常指数据库)的初始串。,GROUPS Section,*SERVERS # Start the system event

23、service TMSYSEVT SRVGRP=SYS_GRP1 SRVID=1 CLOPT=-A # Start the NameManager Service as a Master. TMFFNAME SRVGRP=SYS_GRP1 SRVID=2 CLOPT=-A - -N -M # Start a slave NameManager Service TMFFNAME SRVGRP=SYS_GRP1 SRVID=3 CLOPT=-A - -N # Start the FactoryFinder (-F) service TMFFNAME SRVGRP=SYS_GRP1 SRVID=4

24、CLOPT=-A - -F # Start the IIOP service listener “WSL SRVGRP=SYS_GRP1 SRVID=5 CLOPT=-A - -m8 -M20 -n /billing-1:9001 -d /dev/tcp RQPERM=0666 REPLYQ=N RPPERM=0666 MIN=1 MAX=1 CONV=N MAXGEN=5 GRACE=86400 RESTART=Y LoginSvrA SRVGRP=APP_GRP1 SRVID=17 CLOPT=-A -o logs/LoginA_out.log -e logs/LoginA_err.log

25、 - -noredirect ServiceID=LoginSrvA_C RQPERM=0666 REPLYQ=N RPPERM=0666 MIN=1 MAX=1 CONV=N MAXGEN=5 GRACE=86400 RESTART=Y,SERVERS Section,SERVERS Section,“LoginSever SRVGRP=GROUPMAINSRVID=1RQADDR=RQ_login RQPERM=0666 REPLYQ=Y CLOPT=-A -p 1,10:2,1 -o Inq.out -e Inq.err r - RPPERM=0666 MIN=10 MAX=30 CON

26、V=N MAXGEN=5 GRACE=86400 RESTART=Y # MSSQ配置的相关参数 RQADDR RQPERM MIN MAX MAXGEN GRACE,SERVERS Section,“LoginSever SRVGRP=GROUPMAINSRVID=1RQADDR=RQ_login RQPERM=0666 REPLYQ=Y CLOPT=-A -p 1,10:2,1 -o Inq.out -e Inq.err r - RPPERM=0666 MIN=10 MAX=30 CONV=N #CLOPT参数 -p Llow_water,terminate_time:high_water

27、,create_time 如果MAX1,并且使用了MSSQ(RQADDR, RQPERM)的Server可以配置-p来控制进程的增加和减少。控制算法如下:如果请求队列中的请求个数大于high_water后超过create_time 秒,就增加该服务的一个新进程; 如果请求队列中的请求个数小于low_water 后超过terminate_time 秒, 就停止该服务的一个进程。low_water 缺省是平均每个服务进程有一个请求消息或者workload 50;high_water 缺省是平均每个服务进程有两个请求消息或者workload 100. create_time 缺省是50, and t

28、erminate_time 缺省是60。 -o 重定向服务进程标准输出 -e 重定向服务进程错误输出 -r在错误输出中生成服务报表,“WSL SRVGRP=SYS_GRP1 SRVID=5 CLOPT=-A - -m8 -M20 x5 -n /billing-1:9001 -d /dev/tcp RQPERM=0666 REPLYQ=N RPPERM=0666 MIN=1 MAX=1 CONV=N #常用CLOPT参数 -n 表示出接入点为HOST/IP:PORT,与客户端环境变量WSNADDR相同 -m 表示这个WSL最少会folk出来的WSH进程个数(初始个数) -M 表示这个WSL最多会

29、folk出来的WSH进程个数 -x 表示每个WSH同时处理多少个client端连接(请求队列长度) -T 10 表示client端和server连接后如果10分钟内没有交易请求则自动关闭连接。,SERVERS Section,SERVICES Section,An example of the SERVICES section showing the use of the LOAD , PRIO, SVCTIMEOUT, and BUFTYPE parameters,数据依赖路由 (DDR),NETWORKS Section,NETGROUPS Section,分布式应用模型,MP启动过程,M

30、P模式的配置要点,These sections and parameters must be updated to distribute an application:,MP模式的配置例子,先在所有主机上执行 tlisten -l /HostOrIp:Port,主机管理的动态切换(1),主机管理的动态切换(2),To restore the original MASTER role after a failure of the original Master machine,动态迁移,动态迁移的必须配置,Server Groups 的动态迁移,TUXEDO使用以下命令进行Server Grou

31、ps 的动态迁移,组的动态迁移(1),当所有的服务器都是可用的情况下:,组的动态迁移(2),当主机不可用的情况下:,主机的动态迁移(1),当所有的服务器都是可用的情况下:,主机的动态迁移(2),当主机不可用的情况下:,XA相关配置,RESOURCES段 MAXGTT :GTRID的最大数目 CMTRET : TP_COMMIT_CONTROL的缺省值 MACHINES段 TLOGDEVICE TLOGNAME TLOGSIZE : (1-2048) GROUPS段 TMSNAME :对应RM的TMS名 TMSCOUNT :启动个数(2-10) OPENINFO SERVICES段 AUTOTR

32、AN TRANTIME,1. MACHINES段: #ubbconfig *MACHINES “HOSTNAME”LMID=LMNAME TLOGDEVICE=/usr/my/TLOG TLOGNAME=TLOG TLOGSIZE=300 $tmadmin -c crdl b 400 z /usr/my/TLOG,XA相关配置,2. 修改$TUXDIR/udataobj/RM文件,生成相应的TMS #Oracle 8i for NT Oracle_XA;xaosw;%ORACLE_HOME%RDBMSXAORAXA8.LIB %ORACLE_HOME%PRECOMPLIBMSVCORASQL8

33、.LIB %ORACLE_HOME%PRECOMPLIBMSVCORASQX8.LIB %ORACLE_HOME%OCILIBMSVCOCI.LIB %ORACLE_HOME%OCILIBMSVCOCIW32.LIB #Oracle 8i for Unix Oracle_XA:xaosw:-L$ORACLE_HOME/lib -lclntsh buildtms r Oracle_XA o Ora_TMS buildserver o server1 f server1.c s SVC1 r Oracle_XA,XA相关配置,3. GROUPS段 #ubbsample *GROUPS “DBGRP

34、 LMID=LMNAME GRPNO=3 TMSNAME=Ora_TMS TMSCOUNT=6 OPENINFO=Oracle_XA:Oracle_XA+Acc=P/ops$sav40/oracle+SesTm=600+SQLNet=dbsvrOra8+LogDir=.+MaxCur=100“ *SERVERS “server1SRVGRP=“DBGRPSRVID=2 MIN=4,TUXEDO XA,OPENINFO: “Oracle_XA:Oracle_XA+Acc=P/name/pass+SesTm=60+SQLNet=dbsvr+LogDir=/tmp 注:Oracle须执行sqlplu

35、s $ORACLE_HOME/RDBMS80/admin/xaview.sql创建XA视图,XA相关配置,Log目录,DB Clinent 链接串,会话Timeout,Oracle 用户名/密码,RM 中的标号,Tuxedo 管理监控工具,Agenda,tmadmin Web GUI tmconfig SNMP,tmadmin command tool,tmadmin provides an interactive command line interface to view and modify Tuxedos Bulletin Board. tmadmin is located in: %

36、TUXDIR%bintmadmin.exe tmadmin allows you to: monitor a running system dynamically modify server parameters perform administrative tasks like booting, cleanup and migration,Usage of printserver,Usage of pclt,Usage of pq,Monitor the BBL,Tuxedo的动态配置,Tuxedo的动态配置可以通过tmadmin和tmconfig两个命令行工具实现不同级别的配置修改。 tm

37、admin的作用主要是监控和管理Tuxedo的运行,可以修改服务的参数,动态切换应用等。 tmconfig功能更强大,可以在线修改当前Tuxedo的系统UBB配置,即通过MIB修改用UBBCONFIG生成的二进制TUXCONFIG在内存的拷贝。,在线动态修改配置,tmconfig工具可以遍历TUXCONFIG的内容并通过MIB API修改其配置。要正确运行tmconfig,建议设置以下环境变量: TUXDIR=/usr/tuxedo TUXCONFIG=/usr/app/tuxconfig EDITOR=vi,$ tmconfig Section: 1) RESOURCES, 2) MACHI

38、NES, 3) GROUPS 4) SERVERS 5)SERVICES 6) NETWORK 7) ROUTING q) QUIT 9) WSL 10) NETGROUPS 11) NETMAPS 12) INTERFACES 1: Operation: 1) FIRST 2) NEXT 3) RETRIEVE 4) ADD 5) UPDATE 6) CLEAR BUFFER 7) QUIT 1: 4 Enter editor to add/modify fields n? Perform operation y?,例1:动态增加新主机,1. 进入tmconfig后,选择2)MACHINES项 2. 然后可以先选择3)RETRIEVE看看当前的配置,缺省是第一个MACHINE的配置 3. 通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论