查看原文
其他

实战 | 追求卓越,砥砺前行——小型机下移x86开放平台最佳实践

金融电子化 金融电子化 2023-01-22

欢迎金融科技工作者积极投稿!

投稿邮箱:newmedia@fcmag.com.cn

                                          ——金融电子化



      

文 / 中信银行科技运营中心  陈让宽  王飞鹏  王宁  苑涛

近年来,随着技术进步,x86服务器性能日渐提升,同时供货周期短、价格低,有利于银行提高运营效率,降低维护成本。因此,各大银行纷纷尝试将关键系统部署环境从小型机下移到x86开放平台,从而建立以x86开放平台为基础的自主可控运营体系。


在这个技术潮流引导下,中信银行与时俱进,最终形成了一套成熟的小型机下移中信方案。在下移实施中,中信银行在方案和技术上进行了创新和突破,没有发生过一起因小型机下移导致的生产事件。


从小型机下移到x86开放平台标准流程

中信银行在从小型机下移到x86开放平台的实践中充满各种挑战,其中从组织层面,需要科技运营中心和软件开发中心两个部门紧密协作。因此,需要格式化、模板化的标准流程,按照标准流程制定小型机下移x86开放平台的目标和计划。只有这样,才能降低跨部门沟通成本,从根本上控制风险和提高下移工作效率。


1.制定下移目标。将目标系统所用小型机下移到x86开放平台,并实现基础软件版本升级,这是总体目标。围绕这个目标,还要综合考虑以下方面。


x86服务器资源目标:选择哪种资源配置可以代替小型机。


操作系统相关目标:由AIX替换为红帽Linux系统,红帽Linux系统采用什么版本。


数据库相关目标:所用数据库服务器由小型机替换为x86服务器,IBM DB2数据库采用什么版本。


中间件相关目标:IBM Websphere Application Server(简称WAS)采用什么版本,Oracle JDK采用什么版本,IBM MQ采用什么版本。


应用相关目标:根据应用对软件版本兼容性的限制要求,应用应如何部署


存量数据迁移相关目标:将数据库中的数据平滑迁移至新服务器中,还是无需迁移。


2.制定下移计划。明确了下移目标,接下来就是针对目标制定下移计划。制定系统下移计划时,按照以下内容进行。


首先,对目标系统进行技术分析,包括系统的架构,对周边系统的影响,确认服务器资源转换方案、基础软件版本升级方案等。


随后,制定测试方案并开展测试工作,组织相关人员对测试后的测试报告进行评估,决定是否要真正实施下移。


再次,开始真正的下移实施。基于服务器资源转换方案搭建硬件环境,基于基础软件版本升级分析结论,安装相关软件;完成旧应用迁移和部署;完成存量数据从旧环境到新环境的迁移与数据校验;在时间窗口内,完成新系统割接上线;割接后进入试运行阶段,在该阶段如有阻断性问题则进行回退,如果一切正常则认为下移成功。


最后,完成下移总结。总结下移的各个阶段,有哪些做得好的,有哪些值得改进等。


从技术分析开始

在小型机下移标准流程中,对目标系统进行技术分析是初始步骤,需要深入分析系统架构、服务器资源转换等内容。


1.系统架构分析。系统架构分析包括逻辑架构分析和物理架构分析。


逻辑架构分析。分析该系统属于哪类业务系统、与外联系统的关系、各子系统关系;从逻辑关系判断下移及升级工作对相关子系统或业务的影响。


物理架构分析。分析目标系统的物理拓扑图,明确目标系统所用服务器、存储和网络情况,明确基础软件(包括应用、应用服务器、数据库)的部署情况等。


2.服务器资源转换分析。基于目标系统所用小型机配置现状,选定x86服务器的配置方案,这就需要确定从小型机到x86服务器的配置映射方案。


首先,中信银行对小型机和x86服务器进行了性能对比测试。在测试中选择了1台总计24内核(2C 12核)的IBMS824小型机对比1台总计88内核(4路 22核)的x86服务器,同时运行IBM DB2 V10.5数据库,通过HammerDB工具测试对比TPC-C测评值NOPM(New Order Per Minute)。对比显示,x86服务器88内核和IBMS824小型机24内核的处理能力相当,这说明根据相应的配置映射关系,x86服务器可以代替小型机。


基于上述对比测试结果,再结合中信银行相关部署规范,中信银行制定了下述资源映射原则。


(1)x86服务器与小型机CPU映射原则:x86服务器4内核相当于小型机1内核。例如1台24内核的小型机可以用1台88内核的x86服务器进行同等替换。


(2)内存映射原则:容量相等配置。


(3)硬盘映射原则:容量相等配置,但建议x86服务器优先选择固态硬盘(SSD)。


(4)网络映射原则:带宽相等配置。


(5)服务器映射原则:应用、应用服务器采用虚拟机;数据库服务器采用x86服务器。


3.基础软件版本升级分析。对目标系统涉及的数据库、中间件等基础软件版本也要进行分析评估,确保满足软件版本管理要求,原则上下移后所有涉及的基础软件版本需要升级到主推版本,如有特殊情况则需要给出不升级的原因。


测试方案制定

在小型机下移中,测试方案的制定是重要一环,只有通过了专业测试才能开展后续下移工作。可以采用传统测试方法或者高仿真测试方法,其中高仿真测试方法是科技运营中心科技创新成果,基于该方法科技运营中心还自主研发了高仿真自动化测试平台。


1.传统测试方法。现阶段,软件产品升级或重大变更前,业内经常使用传统测试方案,例如功能测试、系统测试和压力测试等,来完成下移前测试。测试前需要梳理测试场景,并根据场景来定制测试用例;随后,需要测试人员根据测试用例定制化开发测试脚本,用于实现各场景的回归测试;测试的数据均采用测试人员模拟的数据,测试数据存在一定程度的失真。


2.高仿真测试方法。高仿真测试是通过生产网络流量镜像方式获取真实业务报文数据,再通过一种基于交易报文精确化匹配和自动化返回方法与装置,将真实业务报文自动化地发送至两种测试环境(小型机与x86服务器),基于报文粒度对每一笔系统间传输的往复报文进行字段级对比,依此判断总结两个平台的差异化报文,从而达到测试目的,如图所示。

图  高仿真测试架构


传统测试方法存在效率低、周期长、投入大的问题。针对小型机下移场景,绝大部分应用接口不变,在这种情况下高仿真测试是最适合的方法,其优势表现如下。


高仿真测试突破了传统测试方案对交易路径设置固定挡板的方案,将每一笔交易的往复规则记录在数据库中,并自动关联匹配真实的响应报文,替换关键动态信息字段后反馈被测系统,达到交易的100%全覆盖。


解决了传统测试模拟测试数据带来的不真实性。高仿真所用真实生产数据,能清晰表现生产真实交易情况。


高仿真测试整个定制及测试过程实现自动化,因此大大节省了测试人力并缩短了测试工期。


3.测试方法选择。在小型机下移实践中,我们按照下面的选择原则:如果修改了程序,但是没有改变接口和应用逻辑,使用高仿真测试;如果修改了接口,则继续采用传统测试方法;对于重新编译了程序,但对功能、程序逻辑没有影响,则仍然采用高仿真测试。


下移实施

基于服务器资源转换分析结论,基于基础软件版本升级分析结论,在新的x86服务器环境安装操作系统、数据库和中间件等基础软件,接下来就进入系统下移实施阶段。


1.前期准备。在前期准备阶段,重点在于检查目标系统基础软硬件安装部署情况,主要包含如下。


(1)检查已交付应用服务器虚拟化配置,包括:系统参数、应用参数、连通性检查等方面。


(2)检查已交付数据库服务器或虚拟化配置。包括:系统参数、数据库参数、各服务器连通性等。


(3)检查x86环境的应用程序、中间件、Web服务器、消息中间件、数据库等版本是否与分析报告中一致。


(4)如涉及Java应用程序下移与升级,需要检查通过单元测试和相应测试的应用程序包,是否和开发中心正式发布的版本一致。


(5)如涉及C/C++应用程序下移与升级,需要检查通过单元测试和相应测试的应用可执行文件,是否和开发中心正式发布的版本一致。


(6)在测试环境,对整个下移步骤进行演练,如果发现问题及时修正。


2.应用迁移。这里主要针对Java和C/C++两类开发语言简述其迁移过程。


(1)Java应用迁移。如果在迁移中,存在JDK版本升级,建议用新版JDK对Java应用进行重新编译,如果有兼容性问题,在编译时可以提前发现和解决;如果DB2数据库版本发生了升级,那么应用连接DB2的驱动也要替换成新版驱动。


(2)C/C++应用迁移。使用x86平台的C/C++编译器,对源代码重新编译并链接生成可执行文件;如果代码存在兼容性问题,可在编译或者链接阶段提前发现和解决。


3.数据迁移。考虑到中信银行原来运行在小型机的数据库主要为IBMDB2,因此以IBMDB2为例说明以下供选择的数据迁移方案。


(1)DB2迁移方案。DB2move采用DB2原生工具实现跨平台数据迁移,在x86服务器目标端新建所有对象,随后采用DB2move工具在小型机环境将DB2数据全量导出,传输至x86新环境加载。


(2)IBM CDC迁移方案。IBM CDC通过从源端(小型机)抽取日志,在目标端(x86服务器)回放实现源端与目标的数据同步,从而实现了将DB2中的数据从小型机到x86新环境的平滑迁移。


(3)Q复制迁移方案。IBM Q复制和IBM CDC类似,利用Capture程序在源端捕获事务日志,利用IBM MQ将日志传输到目标端,最终在目标端进行日志重放实现数据同步。


(4)迁移方案选择。在数据迁移中,方案选择的基本策略如下:如果目标系统的停机时间窗口充足,数据量在300GB以内,首选DB2迁移方案;如果停机时间窗口不足,首选IBM CDC方案;在HP平台下,如果时间窗口不足,应选择IBM Q复制方案。


4.回退方案。在小型机下移中或者下移后,如果遇到短时间无法解决的阻断性问题,就要启用预先准备好的回退方案及时回退,以确保业务连续性。


(1)回退决策点。根据下移实践,具体决策点包括如下情形,如果满足以下条件,则必须进行变更回退:小型机(源端)与x86服务器(目标端)存在数据不一致问题,且数据量巨大,无法在时间窗口内完成数据同步时;启动应用后,出现影响业务使用的问题,且在时间窗口内无法解决时;由于某种外部不可抗力因素影响系统整体下移变更进度,从而导致时间窗口内无法完成变更时;系统出现严重性能问题,对业务影响程度较大、范围较广,且无法通过调优手段解决问题时。


(2)回退步骤。经决策后,将新增数据同步到旧数据库,同时将业务切换到旧的小型机运行环境,实现整体回退。


实践总结

依靠科技创新,中信银行最终在2021年底,利用两年时间基本完成了53套关键系统共计180台IBM小型机下移工作,基础设施云化比例达到99.6%以上。完成小型机下移后,中信银行获得了极好的收益。系统下移至x86服务器后,硬件采购和维护费减少了60%;联机交易性能平均提升了10倍,批处理性能平均提升了2倍;提升了关键系统的处理性能,实现了资源整合,为基于x86开放平台的智能运维奠定了良好基础。中信银行通过下移积累了丰富的技术资产,发表论文1篇,申请国家专利1项,申请软件著作权2项。


尤为重要的是,中信银行在此过程中取得了丰富的实践经验。


1.提升组织效率的关键——制定系统下移总控计划。在迁移方案具体步骤和流程确定后,考虑到系统割接当日需要各方协作,因此根据下移时间要求编写系统下移总控表是提高组织效率的关键。


2.预先发现问题的关键——迁移前做好自检。当新的生产x86环境搭建完毕后,即可开展自检工作,主要包括x86环境连通性、参数正确性、合规性等内容,预先发现和解决问题。


3.提升下移进度的关键——采用高仿真测试方法。在下移实施中,测试环节最耗时耗力,也是瓶颈所在。针对小型机下移应用接口不变的特点,中信银行大胆采用高仿真测试方法,大幅提升了测试效率,确保了下移的快速推进。


4.确保数据正确的关键——一致性检查。针对数据迁移,无论采用何种迁移方案,在系统割接后,为了确保数据的一致性,都必须做好数据一致性对比检查。


5.节省时间窗口的关键——自动化方案。在下移过程中,尽量采用自动化变更步骤,从而大幅节省时间窗口。


6.提升安全性的关键——做好备份。在小型机下移割接前,必须进行相关数据的备份,万一数据出现损坏可以使用备份及时恢复。


(栏目编辑:张丽霞)






往期精选:

(点击查看精彩内容)


● 实战 | ISO 20022 报文库和我国金融报文库应用情况

● 实战 | 数据驱动效能——软件测试效能改进中的度量实践

● 实战 | 基于序列标注的合同智能审核应用实践

● 实战 | 基于TMMi的测试管理体系建设与实践分享

● 实战 |  数据中心流量整合及应用的研究与实践







新媒体中心:主任 / 邝源  编辑 / 傅甜甜  张珺  邰思琪

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

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