《IBMTXSeriesCICS管理2》由会员分享,可在线阅读,更多相关《IBMTXSeriesCICS管理2(45页珍藏版)》请在金锄头文库上搜索。
1、IBM Software Group TXSeries for Multiplatforms 2006 IBM CorporationVersion 112-May-2006IBM TXSeries CICS管理(2)刘睿IBM Software Group TXSeries for Multiplatforms概要CICS系统间通信(ISC)4概述4CICSTCP与PPCTCP4SNA连通性4IPIC4通信的安全认证4代码页转换负载均衡和高可用性4硬件的实现4应用级实现4CTG/CUC的工作负载管理器4CTG/CUC的用户出口程序4通过MQ集群的实现4TXSeries的集群实现4TXSeri
2、es负载均衡和高可用性-综合使用的成功案例IBM Software Group TXSeries for Multiplatforms 2006 IBM CorporationVersion 112-May-2006CICS系统间通信(ISC)IBM Software Group TXSeries for MultiplatformsCICS系统间通讯(ISC)IBM Software Group TXSeries for Multiplatforms同步级别(SyncLevel)SyncLevel 0 (Non XA)4提交(Commit)SyncLevel 1 (One phase XA)
3、4提交(Commit)4提交返回(Commit Return)SyncLevel 2 (Two phase XA)4准备(Prepare)4准备返回(Prepare Return)4提交(Commit)4提交返回(Commit Return)IBM Software Group TXSeries for MultiplatformsCD:ConnectionTypeCICS family TCP/IP支持Sync Level 0, 1PPC TCP/IP支持Sync Level 0, 1, 2Local SNA支持Sync Level 0, 1PPC Gateway支持Sync Level 0
4、, 1, 2IBM Software Group TXSeries for Multiplatforms如何使用cics_tcp方式建立两个CICS域的互连1. 添加侦听定义(Listener Definition)域名 LD名 TCPServicename TCPAddress Protocol CICS01 LI1 cicsp1 11.11.1.1 TCPCICS02 LI1 cicsp2 11.11.1.2 TCP 对于CICS01域,使用下面命令添加一个新的侦听定义 LI1 (其中服务名cicsp1在/etc/services文件中对应的端口为1416):cicsadd -c ld -
5、r CICS01 LI1 TCPServicename=cicsp1 TCPAddress=11.11.1.1 Protocol=TCP对于CICS02域,使用下面命令添加一个新的侦听定义LI1 (其中服务名cicsp2在/etc/services文件中对应的端口为1417)cicsadd -c ld -r CICS02 LI1 TCPServicename=cicsp2 TCPAddress=11.11.1.2 Protocol=TCP2. 添加一个通讯定义(Communication Definition)域名 CD名 RemoteLUName RemoteTCPAddress Remot
6、eTCPort ListenerName CICS01 TEL2 CICS02 11.11.1.2 1416 LI1 CICS02 TEL1 CICS01 11.11.1.1 1417 LI1 其中RemoteLUName为对方CICS域的域名,RemoteTCPAddress 为对方CICS域的侦听定义中TCPAddress指定的IP地址,RemoteTCPort为对方CICS域的侦听定义中TCPServicename指定的服务名所对应的端口号,ListenerName为上面定义的本机侦听定义名。对于CICS01域,使用下面命令添加通讯定义TEL2:cicsadd -c cd -r CICS
7、01 TEL2 ConnectionType=cics_tcp RemoteLUName=CICS02 RemoteTCPAddress=11.11.1.2 RemoteTCPort=1417 ListenerName=LI1 对于CICS02域,使用下面命令添加通讯定义TEL1:cicsadd -c cd -r CICS02 TEL1 ConnectionType=cics_tcp RemoteLUName=CICS01 RemoteTCPAddress=11.11.1.1 RemoteTCPort=1416 ListenerName=LI1 3. 重新冷启CICS域IBM Software
8、 Group TXSeries for Multiplatforms如何使用ppc_tcp方式建立两个CICS域的互连1.配置环境变量CICS_HOSTS例:CICS_HOSTS=hostA hostB以空格为间隔列出所有拥有CICS域的主机名。2. 添加一个通讯定义(Communication Definition)域名 CD名 RemoteLUNameCICS01 TEL2 CICS02CICS02 TEL1 CICS01其中RemoteLUName为对方CICS域的域名。对于CICS01域,使用下面命令添加通讯定义TEL2:cicsadd -c cd -r CICS01 TEL2 Con
9、nectionType=ppc_tcp RemoteLUName=CICS02对于CICS02域,使用下面命令添加通讯定义TEL1:cicsadd -c cd -r CICS02 TEL1 ConnectionType=ppc_tcp RemoteLUName=CICS013. 重新冷启CICS域IBM Software Group TXSeries for MultiplatformsPPCTCP注意事项PPCTCP必须设置双向CD,并在双方定义环境变量CICS_HOSTS。如果使用PPCTCP或RPC Client,必须使用已定义的用户,否则有安全错误。发现/etc/hosts中主机名对应
10、127.0.0.1,或者主机名采用localhost,都是不允许的。CICS_HOSTS指定的主机顺序不对,应检查系统的CICS Region environment文件,一般把本机放在前面。使用小写的域名可能导致访问失败。IBM Software Group TXSeries for MultiplatformsTXSeries v5.1设置PPCTCP连接使用动态绑定方式1. 概述概述TXSeries v6以后版本的以后版本的PPC_TCP采用了动态绑定方式。采用了动态绑定方式。TXSeries v5.1与过去的版本进行与过去的版本进行PPC_TCP连接时采用的是默认的方式,如果要与连接时
11、采用的是默认的方式,如果要与TXSeries v6以后版本进行以后版本进行PPC_TCP连接必须使用环境变量设置动态绑定方式。连接必须使用环境变量设置动态绑定方式。动态连接方式的好处是避免动态连接方式的好处是避免force purge后可能产生的一种叫做后可能产生的一种叫做one-cicsas的故障。的故障。2. 版本要求版本要求确保确保/usr下有足够的空闲空间下有足够的空闲空间(至少至少1G以上以上)- TXSeries CICS 5.1 PTF4以上,比如可以使用以上,比如可以使用TXSeries PTF7- ENCINA 5.1 PTF1 IFIX-21以上,比如可以使用以上,比如可以
12、使用Encina PTF2可以在可以在http:/ 5.1.0.2来下载这些补丁来下载这些补丁3. 设置动态绑定方式设置动态绑定方式1) 在在/etc/environment文件设置文件设置除去除去RPC_SUPPORTED_PROTSEQS除去除去ENCINA_BINDING_FILE除去除去CICS_HOSTS设置设置ENCINA_BINDING_ENDPOINT_HOSTS=2) 在在region的的environment文件设置文件设置设置设置ENCINA_BINDING_ENDPOINT_HOSTS=如果有多个如果有多个,需要用空格分隔,不必写本机名称或,需要用空格分隔,不必写本机名
13、称或IP地址。地址。3) 停止所有停止所有CICS进程,重新登陆,重建进程,重新登陆,重建DCE,启动,启动SFS和和region。重建重建DCE前,确保当前环境满足以下条件前,确保当前环境满足以下条件(使用使用env命令命令):没有设置没有设置RPC_SUPPORTED_PROTSEQS没有设置没有设置ENCINA_BINDING_FILE没有设置没有设置CICS_HOSTS设置了设置了ENCINA_BINDING_ENDPOINT_HOSTS=IBM Software Group TXSeries for Multiplatforms使用IBM Communication Server配置
14、CICS SNA Gateway和Local SNA (1)SNA Resource配置41. 配置Node Definition42. 配置Connectivity - DLCs, Ports, Link Stations2.1 配置DLC2.2 配置Port2.3 配置Link Station43. 配置LU 6.2 - Transaction Programs (TP)3.1 配置LU 6.2 Transaction Programs Definitions3.2 配置LU 6.2 Transaction Load Information44. 配置LU 6.2 - LUs4.0 配置L
15、U 6.2 LU Definition4.1 配置LU 6.2 Partner LU Definition4.2 配置Partner LU 6.2 Location4.3 配置LU 6.2 Mode4.4 配置LU 6.2 Side Information45. 权限设置:snaadmin define_trusted_groups, group_id=0, group_id=200, group_id=201检查组ID(例:200-cics,201-cicsterm)。IBM Software Group TXSeries for Multiplatforms使用IBM Communicat
16、ion Server配置CICS PPC Gateway和Local SNA (2)建立PPC Gateway:4设置环境变量:CICS_PPCGWY_SERVER=/.:/cics/ppc/gateway/lrgwyENCINA_GWY_SERVER=/.:/cics/ppc/gateway/lrgwyCICS_PPCGWY_SIZE=128CICS_PPCGWY_VG=rootvg4创建PPC Gateway:cicscp create ppcgwy_server /.:/cics/ppc/gateway/lrgwy(相关信息参见GSD和cicsppcgwycreate, cicsppcg
17、wydestroy, cicsppcgwylock, cicsppcgwyshut)IBM Software Group TXSeries for Multiplatforms使用IBM Communication Server配置CICS SNA Gateway和Local SNA (3)设置CICS资源41. RD:LocalNetworkName, LocalLUName42. CD:ConnectionType (local_sna|ppc_gateway), RemoteLUName, RemoteNetworkName, DefaultSNAModeName, GatewayNam
18、e (用于ppc_gateway), ListenerName (用于local_sna), RemoteCodePageTR (例IBM-037), RemoteSysSecurity (例trusted)43. GD:GatewayCDSName (例lrgwy或/.:/cics/ppc/gateway/lrgwy), GatewayLUName (要在Side Information中定义)44. LD:(用于Local SNA)Protocol (SNA)IBM Software Group TXSeries for Multiplatforms测试TXSeries的SNA的连通性启动
19、SNAsmitty sna观察SNA连通状态4观察观察link station:sna -d l 4观察观察session:sna -d sl 使用CICSTERM观察:CRTE SYSID=HOSTCEMT I CONIBM Software Group TXSeries for MultiplatformsECI TXSeries使用IPIC通信(举例)准备工作TXSeries 7.1必须至少打补丁1,建议打补丁2Java客户程序建议使用CTGv7.2.0.2C客户程序建议使用CTGv8.0.0.0配置CICS定义LDcicsadd -c ld -r CICS01 IPIC1 Protoc
20、ol=IPIC TCPService=cics1436“#注:在/etc/services文件中定义cics1436。在客户程序的ECI的ServerName参数填写“tcp:/172.16.0.101:1436”IBM Software Group TXSeries for MultiplatformsCICS TS与TXSeries使用IPIC通信(举例)准备工作TX 7.1必须至少打补丁1,建议打补丁2配置RDcicsupdate -c rd -r CICS01 LocalNetworkName=CNIBMB01 LocalLUName=CICS01定义LDcicsadd -c ld -
21、r CICS01 IP1 Protocol=IPIC TCPService=“cics1436” TCPAddress=“9.181.157.51“#注:在/etc/services文件中定义”cics1436”。#注:TXSERIES的IP和端口主机也需要定义。配置CDcicsadd -c cd -r CICS01 MF01 ConnectionType=cics_ipic ListenerName=IP1 RemoteTCPAddress=9.181.155.26 RemoteTCPPort=50000 RemoteLUName=CI01TAA0 RemoteNetworkName=CNI
22、BMB01 ReceiveCount=100 SendCount=100IBM Software Group TXSeries for MultiplatformsCD的安全属性对于CICSTCP,会自动生成匹配的CD。对于PPCTCP,要手工定义。CD: RemoteSysSecurity该属性指定了 CICS 如何处理与入站请求一同接收到的安全性信息,如用户标识和口令。它可以是以下三个值之一:4local (默认设置)。表示废弃接收到的所有安全性信息,并将 LinkUserId属性中指定的用户标识分配给请求。4verify 表示只能将所接收到的具有效口令的用户标识分配给入站请求。如果口令丢
23、失或不正确,或者没有发送用户标识,则将使用RD 条目属性 DefaultUserId 中指定的用户标识。4trusted 无论接收到的用户标识是否带有口令,都允许将此用户标识分配给请求。如果没有发送用户标识,则将使用RD条目属性DefaultUserId中指定的用户标识。CD: OutboundUserIds您可将该属性设置成:4 sent (默认)。在本次连接的出站请求中发送用户标识。4 not_sent 禁止在本次连接的出站请求中发送用户标识。4 sent_only_with_pswd 发送用户标识及其口令。如果没有口令,则不发送用户标识。4 sent_maybe_with_pswd 发送
24、用户标识及其口令。如果没有口令,则发送用户标识。发生作用的安全级别一旦分配了用户标识,就为该请求计算事务安全性级别 (TSL) 和资源安全性级别 (RSL) 密钥。在所分配用户标识的用户定义(UD) 条目,以及LinkUserId 属性中指定的用户标识的 UD 条目中都给出了请求的密钥。如果LinkUserId=,则将使用来自 RSLKeyMask 属性和TSLKeyMask 属性的密钥,而不使用 LinkUserId 密钥。IBM Software Group TXSeries for Multiplatforms在CICS跨平台通讯时如何使用安全检验(举例)CICS跨平台通讯时有两种安全方
25、式:LINK和USER。其中LINK安全方式是较简单的模式。使用LINK方式可对所有跨系统的CICS请求作统一的安全检验。LINK安全方式有两种实现办法如下:方法1:41) 在CD定义中定义RemoteSysSecurity属性为local。cicsupdate -c cd -r CICS01 TEL1 RemoteSysSecurity=local42) 在CD定义中定义LinkUserId属性为此连接所用的用户,比如TEST。所有此连接另一端的远程系统发上来的请求都将使用此用户。cicsupdate -c cd -r CICS01 TEL1 LinkUserId=TEST43) 增加一个用
26、户定义给在步骤1中指定的LinkUserId。此用户的TSLKeyList和RSLKeyList属性将用来定义所有跨系统请求可以使用的交易和资源。cicsadd -c ud -r CICS01 TEST TSLKeyList=1|2|3 RSLKeyList=1|2|3方法2:41) 在CD中定义RemoteSysSecurity属性为local。cicsupdate -c cd -r CICS01 TEL1 RemoteSysSecurity=local42) 在CD中不指定LinkUserId属性值。43) 按照用户自己的安全需求,在CD定义中指定RSLKeyMASK和TSLKeyMASK
27、值,这两个属性将用来定义所有跨系统请求可以使用的交易和资源。cicsupdate -c cd -r CICS01 TEL1 RSLKeyMask=1|2|3 TSLKeyMask=1|2|3IBM Software Group TXSeries for MultiplatformsvData residing on systems can store data in different character encodings.Two known character encodingsExtended Binary-Coded Decimal Interchange Code (EBCDIC)F
28、ormat used on IBM Mainframe based systems.American National Standard Code for Information Interchange (ASCII) Format used on TXSeries based CICS system. Data which is transferred between two systems needs to be converted appropriately for the other system to understand and interpret the data.For Exa
29、mple , CICS converts some data such as the file names in function shipping requests.CICSCICS系统间通讯系统间通讯数据转换数据转换IBM Software Group TXSeries for MultiplatformsDFHCNV工具DFHCNV(资源代码页自动转换)的原则40. 必须安装所需字符集41. 如果COMMAREA或FS数据段数据规则,可以实现数据自动转换。42. 在资源的拥有者处定义转换43. 可以转换的资源包括:PD通信区,FILE, TDQ, TSQ, 设置PD通信区代码页自动转换4
30、1. 编写DFHCNV脚本文件:例如: DFHCNV TYPE=INITIAL,CLINTCP=,SRVERCP= DFHCNV TYPE=ENTRY,RTYPE=PC,RNAME= . DFHCNV TYPE=FINAL42. 使用cicscvt命令编译DFHCNV脚本:“cicscvt ” 生成.PD.cnv43. 改名并拷贝到域的bin目录:“cp .PD.cnv /var/cics_regions/database/PD/.cnv”44. 定义PD:TemplateDefined=yes (当然还要定义RemoteSysId=,RemoteName=)IBM Software Grou
31、p TXSeries for Multiplatforms 2006 IBM CorporationVersion 112-May-2006TXSeries负载均衡和高可用性IBM Software Group TXSeries for MultiplatformsTXSeries负载均衡和高可用性的实现方法1.硬件的实现2.应用级实现3.CTG/CUC的工作负载管理器4.CTG/CUC的用户出口程序5.通过MQ集群的实现6.TXSeries的集群实现7.TXSeries负载均衡和高可用性-综合使用的成功案例IBM Software Group TXSeries for Multiplatfo
32、rms1. TXSeries负载均衡和高可用性-硬件的实现使用硬件+操作系统的HA实现 (例如:AIX HACMP)4优点:为TXSeries服务器提供了可靠的High Availability4缺点:不支持负载均衡使用硬件负载均衡器(“4层交换”)4优点:高性能、安装简易4缺点:CICS客户机数量少的情况下难以做到完美的负载分布。ECI的长连接方式使路由切换只在前后端停机或者网络中断时才会发生。难以支持服务器之间的Sync Level 2的通信的切换。IBM Software Group TXSeries for Multiplatforms利用硬件负载均衡器的设计思想-实现例IBM Sof
33、tware Group TXSeries for Multiplatforms2. TXSeries负载均衡和高可用性-应用级实现描述:利用CTG/CUC可以连接任意多个CICS/TXSeries服务器的特性。4方案1:如果CTG调用(JavaGateway.flow)返回的ECI值为-3(ECI_ERR_NO_CICS)或者-4(ECI_ERR_CICS_DIED),则认为该域不可获取,切换到另一个域。4方案2:在CTG的调用发生任何错误(判断的依据是在JavaGateway.flow方法后调用ECIRequest.getRc()不等于0)后,调用ECIRequest.getStatus查当
34、前服务器和客户机的状态。4注:设置SECTION SERVER :CONNECTTIMEOUT设定TCP建立连接的最大时间,默认为0(不超时)。通过设置,可以减少状态为“Connecting”的时间,如果不是“Available”,就是“Unavailable”。这个参数对防止挂死有帮助。优点:4无须配置缺点:4为编程引入很多复杂性4不容易做到动态配置4不能做到动态负载均衡IBM Software Group TXSeries for Multiplatforms3. TXSeries负载均衡和高可用性- CTG/CUC的工作负载管理器(步骤1:激活工作负载管理器)IBM Software G
35、roup TXSeries for MultiplatformsTXSeries负载均衡和高可用性- CTG/CUC的工作负载管理器(步骤2:定义服务器组)IBM Software Group TXSeries for MultiplatformsTXSeries负载均衡和高可用性- CTG/CUC的工作负载管理器描述:4ECI扩展调用不会轮换服务器4支持Round Robin和针对各个程序的Bias方式4不断地轮换服务器,并周期性查询故障服务器是否恢复4注意:eci_version = ECI_VERSION_1A优点:4应用基本不用修改,比较灵活缺点:4目前只在Windows上为ECI实现
36、4不能做到动态负载均衡4配置变动,要修改客户机的配置文件CTG.INI。如果客户机很多,可能是个问题。4某些应用不希望随时轮换服务器,会影响性能(比如EasyCICS)。4无法仅对指定的若干服务器实现负载均衡IBM Software Group TXSeries for Multiplatforms4. TXSeries负载均衡和高可用性- CTG/CUC的用户出口程序入口函数为CICS_ECIEXITINIT,将所有其它回调函数指针写入数据块,成功后调用CICS_EciInitializeExit函数(初始化)。每次ECI调用都会顺序进入ExternalCallExit1, DataSend
37、, DataReturn, ExternalCallExit2等函数。其中ExternalCallExit1和ExternalCallExit2函数可以用来对CA加密。在ExternalCallExit1中可以通过修改ParmPtr-eci_system_name来重定向目的地,以达到WLM的目的。调用/查询非法的SystemId或者调用unavailable的SystemId,会进入CICS_EciSystemIdExit函数,可以通过修改ParmPtr-eci_system_name来重定向目的地,以达到HA的目的。各处理函数有以下参数:4Anchor参数是共享的数据指针;4Token参数
38、是同一Task的令牌;4ParmPtr参数指向ECI数据块。IBM Software Group TXSeries for MultiplatformsTXSeries负载均衡和高可用性- CTG/CUC的用户出口程序优点:4应用基本不用修改,比较灵活缺点:4没有客户成功案例。4要在客户机部署出口程序。如果客户机很多,可能是个问题。4不能做到动态负载均衡4配置变动,可能要修改客户机的配置文件CTG.INI。如果客户机很多,可能是个问题。IBM Software Group TXSeries for Multiplatforms5. TXSeries负载均衡和高可用性-通过MQ集群的实现IBM
39、Software Group TXSeries for MultiplatformsTXSeries负载均衡和高可用性-通过MQ集群的实现优点:4实现High Availability和Load Balance的实现4有成功案例缺点:4必须引入MQ作为前置系统4需要较多的机器配置4HA的配置比较复杂4对高性能系统需要调整来保证MQ触发CICS交易的默认机制IBM Software Group TXSeries for Multiplatforms6. TXSeries负载均衡和高可用性- TXSeries WLM 典型配置CORAORCORAORAORAORDatabaseIBM Softwa
40、re Group TXSeries for MultiplatformsTXSeries WLM功能说明COR支持AIX和Solaris平台不用于管理。前后调用不能有关联性。IBM Software Group TXSeries for MultiplatformsTXSeries负载均衡和高可用性- TXSeries目前的集群实现-基本概念(2)Client Owning Region (COR)此类Region用以接收客户请求,并决定请求最终在何处被处理,该Region中没有实际的程序代码。Application Owning Region (AOR)最终的处理应用请求的Region,被请
41、求的程序或交易的物理代码安装在此类Region上。Routing PointCICS请求的路由发生点4CICS region for AIX4CICS RPC Client for AIX (在TXSERIES v6以后取消)IBM Software Group TXSeries for MultiplatformsTXSeries负载均衡和高可用性- TXSeries目前的集群实现-基本概念(2)WAP (Workload Management Application Program cache)4Global Cache 全局路由信息缓存WCM (Workload Management C
42、ache Manager )4Local Cache 本地路由信息缓存WCL (Workload Management Client) Monitors4HMON (Health Monitor) 4RMON (Routing Monitor)WLM-provided user exit codesWLM command setConfiguration files4Initialization file (cicssm.config)4Configuration file (wlm.cfg)IBM Software Group TXSeries for MultiplatformsWAP &
43、 WCMRouting Information CacheWAP4Global Static Cache4存放初始路由信息4从Configuration file中加载信息4Central Control Point of a CICS WLM ConfigurationWCM4Local Dynamic Cache4由WCL从WAP中请求信息存入其中4一个节点中的所有WCL共用一个WCMWAP维护一块公用内存,可与装COR的机器(COR机)逻辑分开,,装AOR的机器(AOR机)无须WLM软件。COR机须安装WCM,维护一块WCM缓存,与WAP通信。HMON用于监控WAP,RMON用于监控WC
44、M。 IBM Software Group TXSeries for MultiplatformsWCL (Workload Management Client) 内置组件无须启动和停止每个Routing Point (Region)对应一个WCL实际路由处理工作的执行者每个节点中可同时配置多个Routing Point (Region)IBM Software Group TXSeries for MultiplatformsHMON (Health Monitor)实时监控Region的运行状况可选组件与WAP配置在同一节点RPC CICS EPI ApplicationPolling4B
45、HG_HMON_POLLING_INTERVAL=30HMON检测值41 CICS system is running and can be contacted42 CICS system is not running, host on which that system runs can be contacted43 Neither the CICS system, nor machine on which it runs, can be contactedIBM Software Group TXSeries for MultiplatformsRMON (Routing Monitor)
46、图形程序 , 跟踪显示WCM的变化状况与WCM配置在同一节点只能检测本节点的WCMIBM Software Group TXSeries for Multiplatforms配置文件:/var/cicssm/repos/cicssm.config为各组件提供WAP所在位置信息 wap_name node portwap wap1 workinghost 9123 命令cicswlm configure wlm4加载初始化文件4必须先于所有其他命令执行,只需执行一次4在每个安装WLM组件的节点都要执行IBM Software Group TXSeries for Multiplatforms配置
47、文件:/var/cicssm/repos/wlm.cfg提供WLM涉及的资源的信息定义了对象模型(Object Model)是WAP中存储信息的来源IBM Software Group TXSeries for MultiplatformsTXSeries WLM 组织结构IBM Software Group TXSeries for MultiplatformsTXSeries负载均衡和高可用性- TXSeries WLM优点:4是比较智能的High Availability和Load Balance的实现缺点:4安装配置比较复杂4需要较多的机器配置4COR处需要配合硬件的HA保护,否则成为单点故障4大型系统需要多个COR,增加了系统的复杂性IBM Software Group TXSeries for MultiplatformsTXSeries负载均衡和高可用性-综合使用的成功案例