QQ在线服务: 风舞残阳风舞残阳 年满19岁年满19岁 小罗小罗 晴天晴天 心雨心雨 叮叮肉叮叮肉 小周小周 小童小童 小破孩小破孩 遥望当年遥望当年

用户导购指南

水货IBM笔记本电脑报价

行货IBM笔记本电脑报价

IBM服务器报价

IBM笔记本电脑配件报价

本周水货IBM笔记本电脑特价

IBM笔记本电脑驱动下载

水货IBM笔记本电脑验机流程

水货IBM笔记本电脑保修政策

IBM笔记本电脑FRU查询

IBM笔记本电脑常见问题

IBM笔记本电脑使用手册

笔记本电脑验机软件

论坛积分使用说明

水货IBM笔记本电脑异地购机流程

笔记本电脑购机经历及现场

贵宾申请入口

贵宾用户FTP入口

查看笔记本配置

水货APPLE苹果笔记本电脑报价

 
发新话题
打印

TXSeries 负载均衡(WLM)实施

TXSeries 负载均衡(WLM)实施

供稿人:于东凯

摘要:TXSeries CICS 在企业核心在线交易处理系统(OLTP)中的应用非常广泛。随着OLTP系统的复杂度以及业务量的增长,越来越多的客户期望一种负载均衡的解决方案。本文介绍TXSeries的负载均衡的模块,帮助客户实现OLTP系统的负载均衡。本文以单机WLM实施为例详细介绍了一个WLM方案的实施步骤。

介绍

TXSeries WLM模块用于实现将下列两种任务请求均衡的分发到多个CICS Region中:

1、 分布式程序连接(DPL)
例如:ECI 调用,EXEC CICS LINK,EXEC CICS XTCL

2、 分布式交易路由(DTR)
例如:EPI调用,EXEC CICS START

TXSeries WLM解决方案中包含一个或多个客户端Region(COR),和多个应用Region(AOR)。COR负责接受客户端请求并作负载均衡计算;AOR运行实际的CICS任务。WLM分发算法有:Round robin,最短队列,负载计算,分区等等。

WLM功能由WAP,WCM,HMON,WCL等几个模块完成,用户可以通过RMON对WLM进行监控。有关这些概念请参看上期的《使用TXSeries 实现负载均衡管理》一文,或CICS手册"Using CICS Workload Management"。

环境介绍

软件配置

Following describes the software environment used:
IBM AIX 5.3 ML4
IBM TXSeries CICS 6.1
IBM CICS Transaction Gateway 6.0.2
IBM VAC 7.0

配置步骤

下面详细介绍一下CICS WLM的配置步骤。

1、 检查用户,确保cics、cicssm、root用户都在cicssm组。

2、 编辑/etc/services文件,添加端口定义:
alextcp0000 19300/tcp
alextcp0001 19301/tcp
alextcp0002 19302/tcp

3、 用户可以使用CICS WLM模块提供的/usr/lpp/cicssm/samples/Makefile4.config生成配置文件:

使用该文件的命令格式为:
make config-all COR=<reg_name> IP=<ip> SERVICE=<service> NUM=<num-of-aors>
其中COR为CICS 负载均衡模块的入口;IP为本机CICS Region的侦听IP地址;SERVICE为的CICS Region的侦听端口名的前缀(如果使用Makefile4.config创建脚本以及配置文件的话,则前面定义端口的时候必须使用相同前缀),NUM为实现负载均衡的CICS Region个数。具体命令如下:
make -f Makefile4.config config-all COR=CICSA IP=127.0.0.1 SERVICE=alextcp NUM=2 > cmd.2
该命令会生成两个文件:

a. wlm.cfg.auto.gen为负载均衡配置文件。将其复制到/var/cicssm/repos 目录下,改 名为wlm.cfg,并将该文件的权限改为-rw-r--r-- 1 cicssm cicssm;

b. cmd.2文件为一个脚本文件,用户可以使用该脚本来生成CICS Region,包括所创 建的CICS Region的侦听以及通信定义配置。用户需要为该文件添加执行权限。

注意1:cmd.2脚本中配置程序路径的时候使用的是Solaris操作系统中的路径,如/opt/ibm/cicssm/bin/bhgdpl,在AIX系统中,用户需要手工将其修改为AIX中的路径,即/usr/lpp/cicssm/bin/bhgdpl

注意2:cmd.2脚本中会定义三个CICS Region:CICSA、CICS0001和CICS0002,并为CICSA添加向CICS0001和CICS0002的CD定义,但不会向CICS0001和CICS0002 Region中添加返回的CD。但在生成的wlm.cfg.auto.gen文件中配置了返回连接,所以如果想维持wlm.cfg.auto.gen文件中的配置的话,这些命令需要自己手动添加如下:

cicsadd -c cd -r CICS0001 -P CICA ConnectionType=cics_tcp RemoteLUName=CICSA ListenerName=LD01 RemoteTCPAddress=127.0.0.1 RemoteTCPPort=19300
cicsadd -c cd -r CICS0002 -P CICA ConnectionType=cics_tcp RemoteLUName=CICSA ListenerName=LD01 RemoteTCPAddress=127.0.0.1 RemoteTCPPort=19300

4、 运行cmd.2 生成cics region,并向CICSA Region的environment 文件中添加如下环境变量:

LIBPATH=/usr/lpp/cics/lib:/usr/lpp/cicssm/lib
BHG_WCL_APPLICATION="CALLED"
BHG_ROOT=/usr/lpp/cicssm
BHG_VAR=/var/cicssm
BHG_HMON_HOSTNAME=p650_10
BHG_WCM_HOSTNAME=p650_10
BHG_HOST=p650_10
BHG_WCM_WAP_NAME="p650_10 9123"
BHG_WCL_grp1_CICSPLEX_NAME=cpx1
注意:p650_10为本测试使用的计算机名,9123为CICS WLM的缺省配置端口,cpx1为本测试中使用的CICSPLEX名,CALLED为本例使用的需要进行负载均衡的程序定义。

5、 到/usr/lpp/cicssm/samples目录编译mainctrl.ccs和called.ccs程序

cicstcl -lC mainctrl.ccs
cicstcl -lC called.ccs
cc -DCICS_AIX -I/opt/IBM/cicstg/include -L/opt/IBM/cicstg/lib -lcclaix -ocicsuvc cicsuvc.c

6、 修改/var/cicssm/repos/cicssm.config,去掉下面这一行前面的'#',并将主机名改为p650_10
wap wap1 p650_10 9123

7、 将/var/cicssm目录下的所有目录的数组、权限设为drwxr-xr-x 2 cicssm cicssm

8、 登录到cicssm用户:su - cicssm

9、 编辑.profile,添加如下命令:
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:
$HOME/bin:/usr/bin/X11:/sbin:.:/usr/lpp/cicssm/bin
export PATH
export BHG_HMON_HOSTNAME=`hostname`
export BHG_WCM_HOSTNAME=`hostname`
export LIBPATH=$LIBPATH:/usr/lpp/cics/lib:/usr/lpp/cicssm/lib
export NLSPATH=/usr/lpp/cicssm/msg/en_US/%L:$ NLSPATH
export BHG_ROOT=/usr/lpp/cicssm
export BHG_VAR=/var/cicssm
export CICS_HOSTS=p650_10

注意:如果CICS_HOSTS环境变量已经在/etc/environment文件中定义,则此处无需再次定义。CICS_HOSTS变量必须设置,否则在下面的命令会报:
09/07/06 05:15:42 bh_message: Unable to retrieve message: BHG8590 from catalog cicssm.cat

10、 编辑/usr/lpp/cicssm/bin/setwlmenv.sh,取消下列命令前的注释符,注意修改其中的主机名:

export BHG_ROOT=/usr/lpp/cicssm
export BHG_VAR=/var/cicssm
export BHG_WAP_WAP_NAME="p650_10 9123"
export BHG_WAP_MESSAGE_CATALOGUE=cicssm.cat
export BHG_WCM_WAP_NAME=" p650_10 9123"
export BHG_WCM_HOST_NAME= p650_10
export BHG_HMON_WAP_NAME=" p650_10 9123"
export CICS_HOSTS=" p650_10"
export BHG_WCL_GROUP_NAME=grp1
export BHG_WCL_grp1_CICSPLEX_NAME=cpx1

11、 至此,CICS WLM基本配置完成了,用户可以在root用户下启动CICS Region:

cicscp -v start region CICSA StartType=cold
cicscp -v start region CICS0001 StartType=cold
cicscp -v start region CICS0002 StartType=cold

12、 登录到cicssm用户,运行. /usr/lpp/cicssm/bin/setwlmenv.sh

13、 依次运行下面的命令启动WLM

cicswlm configure wlm
cicswlm start wap wap1
cicswlm start wcm wap1
cicswlm verify /var/cicssm/repos/wlm.cfg
cicswlm load wlm.cfg wap1
cicswlm start hmon wap1
此时运行cicswlm list 可以看到如下输出:

$ cicswlm list
12/05/06 15:47:47 BHG8501I list action requested.
12/05/06 15:47:47 BHG5066I Active processes:

Process id Type Name

AIX
225110 wap wap1
AIX
218336 wcm wap1
AIX
96484 hmon wap1

12/05/06 15:47:48 BHG8512I cicswlm has completed successfully.

这意味着WAP,WCM,和HMON都已经启动。

14、此时可以启动RMON。启动WRM需要有一个X-Terminal运行。用户有以下几种方案:

a. 在WAP所在系统的控制台上:在cicssm用户下运行
. /usr/lpp/cicssm/bin/setwlmenv.sh
cicswlm start rmon

b. 并在本地运行一个X-Terminal软件远程登录到WAP所在机器,在cicssm用户下运行:
export DISPLAY=<ip>:0.0
. /usr/lpp/cicssm/bin/setwlmenv.sh
cicswlm start rmon
其中<ip>为运行X-Terminal软件的系统的IP地址。

c. 没有X-Terminal,则通过telnet登录到WAP所在系统上,在cicssm用户下运行:
. /usr/lpp/cicssm/bin/setwlmenv.sh
. /usr/lpp/cicssm/bin/bhg_setenv.sh
/usr/lpp/cicssm/bin/bhgwmon

15、 RMON启动后的界面如下:

[09:35:37]
CICS SM Workload Management Cache Monitor
=========================================

Press enter on the PLEX to be monitored

cpx1

 

Dwell = 0.100

F1=HELP F2=Rfrsh F3=Ret F4=Next F5=Prev F7=Fwd F8=Back F10=D/2 F11=D*2
注意:上图中的cpx1可能没有出现,这是因为WLM一次都没有使用过。只要WLM进行一次负载均衡路由操作,cpx1就能够显示出来。

16、 在cpx1上输入ENTER键,RMON显示如下输出:

[09:34:12]
CICS System Clones Cached Scores CPX cpx1
================================ ==============

NAME SCORE H SESSIONS ST AVERAGE LT AVERAGE
--------- ---------- - ---------- ---------- ----------
CICSA 0.000 1 0.000 0.000 0.000
CICS0001 0.000 1 0.000 1.000 1.000
CICS0002 0.000 1 0.000 3.080 3.080

 

 

Dwell = 0.100

F1=HELP F2=Rfrsh F3=Ret F4=Next F5=Prev F7=Fwd F8=Back F10=D/2 F11=D*2
RMON的输出会定期刷新。

17、 此时从客户端运行ECI调用:

[p650_10:/usr/lpp/cicssm/samples]cd /usr/lpp/cicssm/samples
[p650_10:/usr/lpp/cicssm/samples]cicsuvc CICSA CALLED
ECI Sample Program

------------------

Using Server: [CICSA], Program: [CALLED]

ECI_SYNC test
ECI_SYNC returned: ECI_NO_ERROR
CommArea Returned: CALLED Ran in C002
ECI_SYNC test complete
[p650_10:/usr/lpp/cicssm/samples]cicsuvc CICSA CALLED
ECI Sample Program

------------------

Using Server: [CICSA], Program: [CALLED]

ECI_SYNC test
ECI_SYNC returned: ECI_NO_ERROR
CommArea Returned: CALLED Ran in C001
ECI_SYNC test complete

注意:用户可能看到连续几次返回的都是C002或C001,这是因为测试的时候CICS Region中没有其它任务,受理这个ECI请求的cicsas进程每次都相同。在这种情况下COR每次都会将请求路由到相同的AOR上。

以上介绍的TXSeries WLM配置步骤使用了TXSeries 提供的脚本生成工具。如果用户不想使用这个配置工具或想将WLM配置在不同的系统上,可以自己编写配置文件以及配置CICS Region 的脚本。

参考文献
"Using CICS Workload Management"
《使用TXSeries实现负载均衡管理》

 

(※本文搜集自:重庆未来科技 http://www.wlkj.net 重庆IBM笔记本电脑、重庆IBM水货笔记本电脑、重庆苹果笔记本电脑、重庆IBM服务器专卖)
QQ:99721343 MSN:lichuntian@163.com
手机:13308323317

TOP

发新话题