




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
IBM TXSeries CICS管理(2),刘睿,概要,CICS系统间通信(ISC) 概述 CICSTCP与PPCTCP SNA连通性 IPIC 通信的安全认证 代码页转换 负载均衡和高可用性 硬件的实现 应用级实现 CTG/CUC的工作负载管理器 CTG/CUC的用户出口程序 通过MQ集群的实现 TXSeries的集群实现 TXSeries负载均衡和高可用性-综合使用的成功案例,CICS系统间通信(ISC),CICS系统间通讯(ISC),同步级别(SyncLevel),SyncLevel 0 (Non XA) 提交(Commit) SyncLevel 1 (One phase XA) 提交(Commit) 提交返回(Commit Return) SyncLevel 2 (Two phase XA) 准备(Prepare) 准备返回(Prepare Return) 提交(Commit) 提交返回(Commit Return),CD:ConnectionType,CICS family TCP/IP 支持Sync Level 0, 1 PPC TCP/IP 支持Sync Level 0, 1, 2 Local SNA 支持Sync Level 0, 1 PPC Gateway 支持Sync Level 0, 1, 2,如何使用cics_tcp方式建立两个CICS域的互连,1. 添加侦听定义(Listener Definition) 域名 LD名 TCPServicename TCPAddress Protocol CICS01 LI1 cicsp1 TCP CICS02 LI1 cicsp2 TCP 对于CICS01域,使用下面命令添加一个新的侦听定义 LI1 (其中服务名cicsp1在/etc/services文件中对应的端口为1416): cicsadd -c ld -r CICS01 LI1 TCPServicename=cicsp1 TCPAddress= Protocol=TCP 对于CICS02域,使用下面命令添加一个新的侦听定义LI1 (其中服务名cicsp2在/etc/services文件中对应的端口为1417) cicsadd -c ld -r CICS02 LI1 TCPServicename=cicsp2 TCPAddress= Protocol=TCP 2. 添加一个通讯定义(Communication Definition) 域名 CD名 RemoteLUName RemoteTCPAddress RemoteTCPort ListenerName CICS01 TEL2 CICS02 1416 LI1 CICS02 TEL1 CICS01 1417 LI1 其中RemoteLUName为对方CICS域的域名,RemoteTCPAddress 为对方CICS域的侦听定义中TCPAddress指定的IP地址,RemoteTCPort为对方CICS域的侦听定义中TCPServicename指定的服务名所对应的端口号,ListenerName为上面定义的本机侦听定义名。 对于CICS01域,使用下面命令添加通讯定义TEL2: cicsadd -c cd -r CICS01 TEL2 ConnectionType=cics_tcp RemoteLUName=CICS02 RemoteTCPAddress= RemoteTCPort=1417 ListenerName=LI1 对于CICS02域,使用下面命令添加通讯定义TEL1: cicsadd -c cd -r CICS02 TEL1 ConnectionType=cics_tcp RemoteLUName=CICS01 RemoteTCPAddress= RemoteTCPort=1416 ListenerName=LI1 3. 重新冷启CICS域,如何使用ppc_tcp方式建立两个CICS域的互连,1.配置环境变量CICS_HOSTS 例:CICS_HOSTS=hostA hostB 以空格为间隔列出所有拥有CICS域的主机名。 2. 添加一个通讯定义(Communication Definition) 域名 CD名 RemoteLUName CICS01 TEL2 CICS02 CICS02 TEL1 CICS01 其中RemoteLUName为对方CICS域的域名。 对于CICS01域,使用下面命令添加通讯定义TEL2: cicsadd -c cd -r CICS01 TEL2 ConnectionType=ppc_tcp RemoteLUName=CICS02 对于CICS02域,使用下面命令添加通讯定义TEL1: cicsadd -c cd -r CICS02 TEL1 ConnectionType=ppc_tcp RemoteLUName=CICS01 3. 重新冷启CICS域,PPCTCP注意事项,PPCTCP必须设置双向CD,并在双方定义环境变量CICS_HOSTS。 如果使用PPCTCP或RPC Client,必须使用已定义的用户,否则有安全错误。 发现/etc/hosts中主机名对应,或者主机名采用localhost,都是不允许的。 CICS_HOSTS指定的主机顺序不对,应检查系统的CICS Region environment文件,一般把本机放在前面。 使用小写的域名可能导致访问失败。,TXSeries v5.1设置PPCTCP连接使用动态绑定方式,1. 概述 TXSeries v6以后版本的PPC_TCP采用了动态绑定方式。 TXSeries v5.1与过去的版本进行PPC_TCP连接时采用的是默认的方式,如果要与TXSeries v6以后版本进行PPC_TCP连接必须使用环境变量设置动态绑定方式。 动态连接方式的好处是避免force purge后可能产生的一种叫做“one-cicsas“的故障。 2. 版本要求 确保/usr下有足够的空闲空间(至少1G以上) - TXSeries CICS 5.1 PTF4以上,比如可以使用TXSeries PTF7 - ENCINA 5.1 PTF1 IFIX-21以上,比如可以使用Encina PTF2 可以在/support/fixcentral/网站选择TXSERIES 来下载这些补丁 3. 设置动态绑定方式 1) 在/etc/environment文件设置 除去RPC_SUPPORTED_PROTSEQS 除去ENCINA_BINDING_FILE 除去CICS_HOSTS 设置ENCINA_BINDING_ENDPOINT_HOSTS=“ 2) 在region的environment文件设置 设置ENCINA_BINDING_ENDPOINT_HOSTS=“ 如果有多个,需要用空格分隔,不必写本机名称或IP地址。 3) 停止所有CICS进程,重新登陆,重建DCE,启动SFS和region。 重建DCE前,确保当前环境满足以下条件(使用env命令): 没有设置RPC_SUPPORTED_PROTSEQS 没有设置ENCINA_BINDING_FILE 没有设置CICS_HOSTS 设置了ENCINA_BINDING_ENDPOINT_HOSTS=“,使用IBM Communication Server配置CICS SNA Gateway和Local SNA (1),SNA Resource配置 1. 配置Node Definition 2. 配置Connectivity - DLCs, Ports, Link Stations 2.1 配置DLC 2.2 配置Port 2.3 配置Link Station 3. 配置LU 6.2 - Transaction Programs (TP) 3.1 配置LU 6.2 Transaction Programs Definitions 3.2 配置LU 6.2 Transaction Load Information 4. 配置LU 6.2 - LUs 4.0 配置LU 6.2 LU Definition 4.1 配置LU 6.2 Partner LU Definition 4.2 配置Partner LU 6.2 Location 4.3 配置LU 6.2 Mode 4.4 配置LU 6.2 Side Information 5. 权限设置: snaadmin define_trusted_groups, group_id=0, group_id=200, group_id=201 检查组ID(例:200-cics,201-cicsterm)。,使用IBM Communication Server配置CICS PPC Gateway和Local SNA (2),建立PPC Gateway: 设置环境变量: CICS_PPCGWY_SERVER=/.:/cics/ppc/gateway/lrgwy ENCINA_GWY_SERVER=/.:/cics/ppc/gateway/lrgwy CICS_PPCGWY_SIZE=128 CICS_PPCGWY_VG=rootvg 创建PPC Gateway: cicscp create ppcgwy_server /.:/cics/ppc/gateway/lrgwy (相关信息参见GSD和cicsppcgwycreate, cicsppcgwydestroy, cicsppcgwylock, cicsppcgwyshut),使用IBM Communication Server配置CICS SNA Gateway和Local SNA (3),设置CICS资源 1. RD: LocalNetworkName, LocalLUName 2. CD: ConnectionType (local_sna|ppc_gateway), RemoteLUName, RemoteNetworkName, DefaultSNAModeName, GatewayName (用于ppc_gateway), ListenerName (用于local_sna), RemoteCodePageTR (例IBM-037), RemoteSysSecurity (例trusted) 3. GD: GatewayCDSName (例lrgwy或/.:/cics/ppc/gateway/lrgwy), GatewayLUName (要在Side Information中定义) 4. LD:(用于Local SNA) Protocol (SNA),测试TXSeries的SNA的连通性,启动SNA smitty sna 观察SNA连通状态 观察link station: sna -d l 观察session: sna -d sl 使用CICSTERM观察: CRTE SYSID=HOST CEMT I CON,ECI TXSeries使用IPIC通信(举例),准备工作 TXSeries 7.1必须至少打补丁1,建议打补丁2 Java客户程序建议使用CTGv C客户程序建议使用CTGv 配置CICS 定义LD cicsadd -c ld -r CICS01 IPIC1 Protocol=IPIC TCPService=“cics1436“ #注:在/etc/services文件中定义“cics1436“。 在客户程序的ECI的ServerName参数填写“tcp:/01:1436”,CICS TS与TXSeries使用IPIC通信(举例),准备工作 TX 7.1必须至少打补丁1,建议打补丁2 配置RD cicsupdate -c rd -r CICS01 LocalNetworkName=CNIBMB01 LocalLUName=“CICS01“ 定义LD cicsadd -c ld -r CICS01 IP1 Protocol=IPIC TCPService=“cics1436” TCPAddress=“1“ #注:在/etc/services文件中定义”cics1436”。 #注:TXSERIES的IP和端口主机也需要定义。 配置CD cicsadd -c cd -r CICS01 MF01 ConnectionType=cics_ipic ListenerName=IP1 RemoteTCPAddress=6 RemoteTCPPort=50000 RemoteLUName=CI01TAA0 RemoteNetworkName=“CNIBMB01“ ReceiveCount=100 SendCount=100,CD的安全属性,对于CICSTCP,会自动生成匹配的CD。对于PPCTCP,要手工定义。 CD: RemoteSysSecurity 该属性指定了 CICS 如何处理与入站请求一同接收到的安全性信息,如用户标识和口令。它可以是以下三个值之一: local (默认设置)。表示废弃接收到的所有安全性信息,并将 LinkUserId属性中指定的用户标识分配给请求。 verify 表示只能将所接收到的具有效口令的用户标识分配给入站请求。如果口令丢失或不正确,或者没有发送用户标识,则将使用RD 条目属性 DefaultUserId 中指定的用户标识。 trusted 无论接收到的用户标识是否带有口令,都允许将此用户标识分配给请求。如果没有发送用户标识,则将使用RD条目属性DefaultUserId中指定的用户标识。 CD: OutboundUserIds 您可将该属性设置成: sent (默认)。在本次连接的出站请求中发送用户标识。 not_sent 禁止在本次连接的出站请求中发送用户标识。 sent_only_with_pswd 发送用户标识及其口令。如果没有口令,则不发送用户标识。 sent_maybe_with_pswd 发送用户标识及其口令。如果没有口令,则发送用户标识。 发生作用的安全级别 一旦分配了用户标识,就为该请求计算事务安全性级别 (TSL) 和资源安全性级别 (RSL) 密钥。在所分配用户标识的用户定义(UD) 条目,以及LinkUserId 属性中指定的用户标识的 UD 条目中都给出了请求的密钥。如果LinkUserId=“,则将使用来自 RSLKeyMask 属性和TSLKeyMask 属性的密钥,而不使用 LinkUserId 密钥。,在CICS跨平台通讯时如何使用安全检验(举例),CICS跨平台通讯时有两种安全方式:LINK和USER。其中LINK安全方式是较简单的模式。使用LINK方式可对所有跨系统的CICS请求作统一的安全检验。LINK安全方式有两种实现办法如下: 方法1: 1) 在CD定义中定义RemoteSysSecurity属性为local。 cicsupdate -c cd -r CICS01 TEL1 RemoteSysSecurity=local 2) 在CD定义中定义LinkUserId属性为此连接所用的用户,比如TEST。所有此连接另一端的远程系统发上来的请求都将使用此用户。 cicsupdate -c cd -r CICS01 TEL1 LinkUserId=TEST 3) 增加一个用户定义给在步骤1中指定的LinkUserId。此用户的TSLKeyList和RSLKeyList属性将用来定义所有跨系统请求可以使用的交易和资源。 cicsadd -c ud -r CICS01 TEST TSLKeyList=“1|2|3“ RSLKeyList=“1|2|3“ 方法2: 1) 在CD中定义RemoteSysSecurity属性为local。 cicsupdate -c cd -r CICS01 TEL1 RemoteSysSecurity=local 2) 在CD中不指定LinkUserId属性值。 3) 按照用户自己的安全需求,在CD定义中指定RSLKeyMASK和TSLKeyMASK值,这两个属性将用来定义所有跨系统请求可以使用的交易和资源。 cicsupdate -c cd -r CICS01 TEL1 RSLKeyMask=“1|2|3“ TSLKeyMask=“1|2|3“,Data residing on systems can store data in different character encodings. Two known character encodings Extended Binary-Coded Decimal Interchange Code (EBCDIC) Format 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 Example , CICS converts some data such as the file names in function shipping requests.,CICS系统间通讯数据转换,DFHCNV工具,DFHCNV(资源代码页自动转换)的原则 0. 必须安装所需字符集 1. 如果COMMAREA或FS数据段数据规则,可以实现数据自动转换。 2. 在资源的拥有者处定义转换 3. 可以转换的资源包括: PD通信区,FILE, TDQ, TSQ, 设置PD通信区代码页自动转换 1. 编写DFHCNV脚本文件: 例如: DFHCNV TYPE=INITIAL,CLINTCP=,SRVERCP= DFHCNV TYPE=ENTRY,RTYPE=PC,RNAME= . DFHCNV TYPE=FINAL 2. 使用cicscvt命令编译DFHCNV脚本:“cicscvt ” 生成.PD.cnv 3. 改名并拷贝到域的bin目录:“cp .PD.cnv /var/cics_regions/database/PD/.cnv” 4. 定义PD:TemplateDefined=yes (当然还要定义RemoteSysId=,RemoteName=),TXSeries负载均衡和高可用性,TXSeries负载均衡和高可用性的实现方法,硬件的实现 应用级实现 CTG/CUC的工作负载管理器 CTG/CUC的用户出口程序 通过MQ集群的实现 TXSeries的集群实现 TXSeries负载均衡和高可用性-综合使用的成功案例,1. TXSeries负载均衡和高可用性-硬件的实现,使用硬件+操作系统的HA实现 (例如:AIX HACMP) 优点: 为TXSeries服务器提供了可靠的High Availability 缺点: 不支持负载均衡 使用硬件负载均衡器(“4层交换”) 优点:高性能、安装简易 缺点:CICS客户机数量少的情况下难以做到完美的负载分布。ECI的长连接方式使路由切换只在前后端停机或者网络中断时才会发生。难以支持服务器之间的Sync Level 2的通信的切换。,利用硬件负载均衡器的设计思想-实现例,2. TXSeries负载均衡和高可用性-应用级实现,描述: 利用CTG/CUC可以连接任意多个CICS/TXSeries服务器的特性。 方案1:如果CTG调用(JavaGateway.flow)返回的ECI值为-3(ECI_ERR_NO_CICS)或者-4(ECI_ERR_CICS_DIED),则认为该域不可获取,切换到另一个域。 方案2:在CTG的调用发生任何错误(判断的依据是在JavaGateway.flow方法后调用ECIRequest.getRc()不等于0)后,调用ECIRequest.getStatus查当前服务器和客户机的状态。 注:设置SECTION SERVER :CONNECTTIMEOUT 设定TCP建立连接的最大时间,默认为0(不超时)。通过设置,可以减少状态为“Connecting”的时间,如果不是“Available”,就是“Unavailable”。这个参数对防止挂死有帮助。 优点: 无须配置 缺点: 为编程引入很多复杂性 不容易做到动态配置 不能做到动态负载均衡,3. TXSeries负载均衡和高可用性- CTG/CUC的工作负载管理器(步骤1:激活工作负载管理器),TXSeries负载均衡和高可用性- CTG/CUC的工作负载管理器(步骤2:定义服务器组),TXSeries负载均衡和高可用性- CTG/CUC的工作负载管理器,描述: ECI扩展调用不会轮换服务器 支持Round Robin和针对各个程序的Bias方式 不断地轮换服务器,并周期性查询故障服务器是否恢复 注意:eci_version = ECI_VERSION_1A 优点: 应用基本不用修改,比较灵活 缺点: 目前只在Windows上为ECI实现 不能做到动态负载均衡 配置变动,要修改客户机的配置文件CTG.INI。如果客户机很多,可能是个问题。 某些应用不希望随时轮换服务器,会影响性能(比如EasyCICS)。 无法仅对指定的若干服务器实现负载均衡,4. TXSeries负载均衡和高可用性- CTG/CUC的用户出口程序,入口函数为CICS_ECIEXITINIT,将所有其它回调函数指针写入数据块,成功后调用CICS_EciInitializeExit函数(初始化)。 每次ECI调用都会顺序进入ExternalCallExit1, DataSend, DataReturn, ExternalCallExit2等函数。 其中ExternalCallExit1和ExternalCallExit2函数可以用来对CA加密。在ExternalCallExit1中可以通过修改ParmPtr-eci_system_name来重定向目的地,以达到WLM的目的。 调用/查询非法的SystemId或者调用unavailable的SystemId,会进入CICS_EciSystemIdExit函数,可以通过修改ParmPtr-eci_system_name来重定向目的地,以达到HA的目的。 各处理函数有以下参数: Anchor参数是共享的数据指针; Token参数是同一Task的令牌; ParmPtr参数指向ECI数据块。,TXSeries负载均衡和高可用性- CTG/CUC的用户出口程序,优点: 应用基本不用修改,比较灵活 缺点: 没有客户成功案例。 要在客户机部署出口程序。如果客户机很多,可能是个问题。 不能做到动态负载均衡 配置变动,可能要修改客户机的配置文件CTG.INI。如果客户机很多,可能是个问题。,5. TXSeries负载均衡和高可用性-通过MQ集群的实现,TXSeries负载均衡和高可用性-通过MQ集群的实现,优点: 实现High Availability和Load Balance的实现 有成功案例 缺点: 必须引入MQ作为前置系统 需要较多的机器配置 HA的配置比较复杂 对高性能系统需要调整来保证MQ触发CICS交易的默认机制,6. TXSeries负载均衡和高可用性- TXSeries WLM 典型配置,COR,AOR,COR,AOR,AOR,AOR,Database,TXSeries WLM功能说明,COR支持AIX和Solaris平台 不用于管理。 前后调用不能有关联性。,TXSeries负载均衡和高可用性- TXSeries目前的集群实现-基本概念(2),Client Owning Region (COR) 此类Region用以接收客户请求,并决定请求最终在何处被处理,该Region中没有实际的程序代码。 Application Owning Region (AOR) 最终的处理应用请求的Region,被请求的程序或交易的物理代码安装在此类Region上。 Routing Point CICS请求的路由发生点 CICS region for AIX CICS RPC Client for AIX (在TXSERIES v6以后取消),TXSeries负载均衡和高可用性- TXSeries目前的集群实现-基本概念(2),WAP (Workload Management Application Program cache) Global Cache 全局路由信息缓存 WCM (Workload Management Cache Manager ) Local Cache 本地路由信息缓存 WCL (Workload Management Client) Monitors HMON (Health Monitor) RMON (Routing Monitor) WLM-provided user exit codes WLM command set Configuration files Initialization file (cicssm.config) Configuration file (wlm.cfg),WAP & WCM,Routing Information Cache WAP Global Static Cache 存放初始
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 解析卷云南省宣威市中考数学真题分类(平行线的证明)汇编专题测试试题(含解析)
- 2025年广播媒体融合发展报告:新媒体环境下转型挑战与机遇
- 物业管理合同法律法规解读
- 推拿治疗学考试题库附参考答案详解【培优b卷】
- 2025版潲水回收与废弃物资源化利用项目承包合同
- 2025年度发展和改革委员会高新技术产业发展合作合同
- 2025版商品房买卖合同智能家居系统安全评估及风险防控合同
- 2025年度智能交通管理系统开发合同
- 2025年度生态旅游区土石方运输及绿化工程合同
- 2025版金融行业招投标保密协议书
- 企业合规管理培训课件讲义
- 《资本论》讲稿课件
- 幼儿园大班美术:《线条画:花》课件
- 燃气具安装维修工(中级)教学课件完整版
- 护理品管圈QCC之提高手术物品清点规范执行率
- 高尔夫基础培训ppt课件
- 有机化学第五章 脂环烃
- 微型钢管桩专项施工方案
- 铁路货物装载加固规则
- 机械加工的常用基础英语名词术语翻译对照大全
- Would-you-mind和Do-you-mind讲解学习
评论
0/150
提交评论