查看原文
其他

独家技术揭秘|"宇宙行"如何做到两分钟全球业务乾坤大挪移

李洪涛 twt企业IT社区 2022-07-03

11月8日,我们的一篇短文——《什么技术成就了“宇宙行”两地三中心TB数据秒级复制》在相关圈子里产生了爆炸效应,这让编辑有些始料未及。如果仅是抛出一个事件,却让这么多关心具体技术的读者知其然而不知其所以然,这可不是一个好公众号应有的素质,为此,我们特别邀请了权威专家来做解读,以揭示这背后的技术秘密。

特邀独家技术揭秘专家:李洪涛先生

目前IBM大中华区系统事业部主机团队的首席技术专家之一(主机技术资历排名中号称洪七公),在主机相关技术和方案研究方面有超过22年的经验。致力于尽心尽力地服务于中国的主机客户,为众多主机客户的包括核心银行和信用卡在内的各种关键业务系统的建设提供了强大的技术支持保障,并积累了非常丰富的客户支持和服务经验。另外,近年来针对业界不同的IT技术和架构有着广泛的研究,包括在云计算、API经济,区块链以及分布式计算和一致性算法等等。




独家技术揭秘"宇宙行"如何做到两分钟全球业务乾坤大挪移

作者:李洪涛


前些天朋友圈都被一篇某行全球业务系统一键式、全自动、两分钟乾坤大挪移的文章刷屏了。紧接着各路神仙都说用到了他们的技术、他们的方案,主机君本来只想低调的做好自己的事情,但不能眼看着楼歪了啊,还是出来说两句吧。

其实两分钟全球业务乾坤大挪移不是一天炼成的,这背后凝聚着IBM和客户多年来的不懈努力,从本地的最高稳定性和可用性,同城高可用,异地灾备到今天的两地三中心同城双活一键式切换。用某童鞋的话说,精彩的背后总有辛勤的汗水,想起自己和朋友们多年来日日夜夜的努力,从无到有,从弱到强,从延迟3000多秒到1秒,完整的运维流程,到今天的一键式、全自动、两分钟乾坤大挪移,真的是台上一分钟,台下十年功。

我们先来看看IBM主机和GDPS家族对业务连续性的贡献

IBM z Systems主机系列产品到2016年已经是第52个年头了。在过去的50多年中,IBM主机产品为世界上众多的客户提供了无与伦比的计算解决方案。同时,也被众多的关键客户采用为关键系统的核心平台。也因此,IBM主机一直致力于提高产品自身的可靠性和可用性,同时通过GDPS家族的解决方案为客户提供高度的业务连续性保障。根据统计,当前全球银行100强中有92家在使用IBM主机,全球10大保险公司全部都在使用IBM主机,美国零售商25强中的23家使用IBM主机。另外在中国,主要的大银行也都采用IBM主机作为核心业务平台。而除了银行业之外,目前在国内的社保、医疗、公积金、教育等领域也有众多客户采用源自于主机的LinuxONE企业级Linux服务器运行核心系统支持关键业务。

每天,IBM主机处理超过300亿笔的关键交易,全球70%的关键业务数据存放在IBM主机系统中,IBM主机已经成为整个社会运作的不可或缺的基本支持。GDPS产品家族,超过1500个许可证的发放也证明GDPS解决方案为关键的客户系统和数据提供着最全面成熟的业务连续性保障。


在单机设计上,IBM主机的主要组件都有冗余设计,从电源的供电,冷却系统,到CPU、内存,IO的连接以及在线微码升级等等。同时成熟的自动诊断,自动恢复机制使得组件的故障对运行中的软件和应用几乎透明。50年来,z/OS操作系统也在不断的完善,通过改进能够应对各种故障处理的要求。其中超过50%的代码用于问题的预防和处理。软硬件的有效协同,造就了IBM主机业界最好的可靠性口碑。

1995年,IBM又发明了基于IBM主机的集群技术,Parallel Sysplex。这项发明使得服务器的可用性从单机转变到了集群的架构。系统可用性的设计指标更是达到了99.999%。软件和硬件的协调支持,以及Parallel Sysplex提供的动态载荷分配和交易路由的控制,使得一个中心内部的系统高可用性可以达到前所未有的高度。值得说明的是,基于Parallel Sysplex的独特设计,它是目前扩展性最好的集群技术,除了提供非凡的可用性外,还为客户的扩展能力提供无限的可能。

GDPS家族的解决方案更是把高可用性和灾备应对的能力提供给广大客户。为客户提供跨中心,跨地域的灾备、双活的解决方案。10多年客户的实践,也使得GDPS家族的产品方案日臻成熟和完善。从为保证中心内磁盘的故障,到两地三中心双活的实现,GDPS为客户提供自动化一键式的解决方案,大大简化生产运维和灾备恢复的复杂度。


GDPS家族的五大解决方案如上图所示。

  • GDPS/PPRC HyperSwap Manager提供单一数据中心内部数据的持续可用。RTO=0和RPO=0使得业务系统可以在磁盘系统发生故障的情况下保持连续可用。

  • GDPS/PPRC方案可以提供同城范围内持续可用和灾备方案。同城的两个数据中心可以是双活模式,通过不同的配置可以得到Active/Standby模式的RPO=0, RTO<1小时;或者Active/Active模式的RPO=0和分钟级的RTO。由于核心的部分是跨站点的Sysplex,因而考虑到性能影响则存在一定的距离限制。

  • GDPS/GM和GDPS/XRC方案可以提供异地灾备的能力。在不限距离的情况下,实现秒级的RPO和小于1小时的RTO。

  • GDPS/MGM和GDPS/MzGM是前两种方案的混合体,可以提供完整的两地三中心解决方案。实现同城A/S或A/A模式下RPO=0,RTO<1小时或分钟级的灾备以及异地秒级RPO和<1小时的RTO灾备。

  • 最后一个方案,GDPS/Active-Active方案实现了跨中心的双活和负载调度,实现持续的高可用。设计的出发点是与距离无关。因而采用了基于软件复制技术的数据复制。同时使用Lifeline产品完成智能载荷跨中心调度。GDPS/A-A产品提供了完善统一的管理服务,使得中心间的切换可以达到一键式完成。

主机GDPS/Active-Active双活是怎么炼成的

IBM GDPS双活解决方案的全称为IBM GDPS Active/Active Continuous Availability。自2008年起,IBM就和全球几个主要客户一起成立了GDPS Active-Active Sites双活方案设计委员会。为双活的客户需求研发最佳解决方案。随着时间的迁移,已经有主要的客户的股票交易系统,信用卡系统,核心系统等采用了该方案而实现了双活。而某行和IBM联合创新采用IBM大型主机GDPS(Geographically Dispersed Parallel Sysplex )双活解决方案结合应用优化,不仅成功实现了跨数据中心全球核心业务的分钟级切换运营,而且对促进IBM GDPS双活解决方案的发展成熟起到了关键的作用。

1) 双活方案的总体架构

GDPS双活解决方案的设计出发点是希望有一个模式上的变迁。以前的GDPS方案大多是从灾备恢复和故障恢复的角度出发,顾名思义就是存在一定(较长)的恢复时间。而双活的模式是业务连续性的一个跨站点的延伸。希望可以做到对业务服务达到接近持续可用。

GDPS双活解决方案是针对站点级别的。也就是说,所谓的双活是两个数据中心站点的双活。从架构上讲,首要的先决条件就是要有两个站点。而且这两个站点都将拥有相同的数据,可以支持相同的业务负载。

这两个数据中心站点之间的距离无特别要求。这样就为站点部署提供极大的灵活性。数的同步技术因而选择了基于软件的异步复制技术。在IBM的主机中,有DB2, VSAM, IMS三种数据库的形式。对于每一种,InfoSphere Replication Server都有相应的产品提供数据复制功能,确保数据在两个站点的同步。

有了站点和数据,在两个站点之间进行业务负载的智能调度是GDPS双活解决方案又一个重要的组成部分(如上图示中的Workload Distributor)。这个Workload Distributor之所以可以完成智能的调度,主要的贡献者是SASP的协议。SASP的协议协助收集两个站点中特定Workload的实时运行状态,通过IBM Multi-site Workload Lifeline产品进行加权运算,得到实时的workload分发策略,从而有效地对Workload在两个站点间进行调度。

Workload是针对调度策略进行定制的基本单元。在进行双活部署配置时,合理地进行Workload的划分是至关重要的。

整个架构会涉及到众多参与的系统、软件、数据、应用等。GDPS双活解决方案为了能够更有效地控制和监控整个架构,能够做到统一的单点操作,在IBM GDPS/A-A产品的帮助下,形成一个统一的管理系统。主操作界面会在Tivoli TEP的Portal上。

GDPS双活解决方案现在可以支持两种不同的配置,既Active-Standby配置和Active-Query配置模式。两种模式的配置都是以Workload为基础的。

2) 双活方案中的关键概念之Workload

GDPS双活方案中所说的Workload,其实就是一组有相关联系的交易。  区分Workload的三个要素:

  • 第一是软件。这包括了实现用户业务交易的应用以及支撑该应用的中间件、数据库产品等运行环境;

  • 第二是数据。就是这组交易需要用到的相关数据。这些数据是必须要保证交易完整性和一致性的。甚至有些有读完整性限制的数据也要归到一起。数据的具体表现形式例如一组相关的DB2表,或VSAM文件等;

  • 第三是网络连接。主要是通过TCP/IP的IP地址和PORT来区分的。

Workload的划分是非常重要的。考虑到一个应用系统可能包含很多个子系统,而对于不同的子系统来说对业务连续性的要求是不同的。通过分级分类,可以对不同的子系统实施不同的配置,比如有的配置成Active-Standby,有的配置成Active-Query。从而可以更有效地利用对两地三中心的投资。


综合考虑应用子系统的分级分类和Workload区分的三要素就能制定出符合业务连续性需求和GDPS双活方案支持的Workload同时兼顾到投资效益。

3) GDPS双活解决方案的技术组件和产品需求

下面的图示概念性地描述了GDPS双活解决方案中的技术组件和他们之间的关系。


首先,方案中需要两个控制系统,既图中的Primary Controller和Backup Controller,他们分别被部署到两个站点中,一般是一个独立的z/OS系统。这两个Controller上运行GDPS/A-A,Lifeline Advisor, TEMS, Netview/SA等软件,形成了整个方案的控制核心。管理员可以通过TEPS,连接到Controller上的TEMS,从而可以查询各站点Workload状态,执行站点切换命令等。

Workload状态信息的反馈机制。 Lifeline产品除了在Controller系统中运行的Lifeline Advisor外,还有Lifeline Agent运行在各个站点中的每个z/OS LPAR中。有关Workload的状态信息通过Lifeline Agent收集后传送到Lifeline Advisor,Lifeline Advisor再加工整理后,把Workload分发策略的调整信息通过SASP协议伺服给Load Balancer(支持SASP协议的路由交换设备)去执行。Lifeline Agent也负责执行Lifeline Advisor发出的命令,比如对Workload的操作命令。

其他系统控制信息的反馈机制。通过运行在各个站点的每个LPAR中的Netview/SA组成的网络,这些信息被及时反馈到Controller上的Netview/SA上,通过TEMS进行整合后就可以展现在管理员界面上了。另外,GDPS/A-A产品提供自动化的管理功能用来管理计划内的配置变更,检测计划外的事件或数据复制Latency的增加,检测其他的意外信息,控制系统相关的动作,如发出占地切换的命令,启动停止系统等。

控制系统Controller的高可用。两个Controller分别部署在两个站点中,一主一备。主备之间通过心跳连接进行状态同步。一旦主Controller出现故障,备Controller会即时接管。

数据同步。InfoSphere Replication Server产品通过在源端和目标端建立“Capture/Apply对”来进行数据同步。根据Workload的部署要求,在一边站点部署Capture,在另一端部署Apply。这样数据就可以通过站点之间的网路进行同步。数据同步的方向和状态也会反馈到Controller。

Workload分发器(Load Balancer)。图示中有一级Load Balancer和二级Load Balancer。一级Load Balancer负责接收Lifeline Advisor的路由策略指令,并按照策略把进入的Workload交易分发到两个站点;二级Load Balancer配置在站点内,负责在站点内部的LPAR之间再一次进行负载均衡。一般情况下,二级Load Balancer会使用Sysplex Distributor(TCPIP在Sysplex中的一个扩展功能),因此不需要二级Load Balancer和Lifeline Advisor之间的直接通讯。

于是,在这样的一个信息反馈架构下,进入系统的交易会先到达一级Load Balancer,一级Load Balancer按照Lifeline Advisor提供的建议把交易分发到合适的站点。到达二级Load Balancer时再次被均衡分配到站点中的LPAR上实际执行。此间产生的Workload状态的变化和系统资源的变化被及时捕捉并反馈到Controller,从而制定下一轮的workload分发策略。

GDPS双活方案采用的主要产品组件包含:GDPS/Active-Active, IBM Multi-site Workload Lifeline, IBM InfoSphere Replication (for DB2, IMS, VSAM),Netview, System Automation, Tivoli products。 

4) 实施效果

客户在实施GDPS Active-Active双活后,收到了如下效果:

1. 提高了数据中心的服务时间,大大提高银行业务连续性水平。不论在计划内(减少了95%的计划内停机时间)或计划外的场景,不论在应用大版本变更或是重大系统升级或变更时,都能提供更高的服务时间,实现业务的连续运行。

2. 实现双活中心之间的并行运行、动态负载均衡,充分利用已有资源。

3. 为业务创新提供了前所未有的空间,可以利用同城中心的实时数据为银行提供更多的数据分析和增值服务;把灾备中心的成本中心形象向双活中心的效益中心转变;

4. 完善了两地三中心的建设,使得业务连续性水平更上一个台阶。

总结

看完这些,你是不是觉得这事儿好像真没那么简单,我到底要怎么做呢?其实随着双活技术应用的开展,各个客户由于自身需求、现有构架,对双活的认识等方面的区别,他们提出的和希望的双活实现的方式和最终的架构也不尽相同。迈向双活,需要客户和IT服务商持续不断的共同努力,充分理解自己的业务和需求,裁剪定制,找到最适合自己的双活之路。

以上是我们本次的独家技术揭秘,如果您觉得有参考价值,就请不吝转发和点赞吧~


长按下图二维码关注

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存