112024.07

项目纪实 | 业务不停机、升级0感知!万里数据库生产环境助力操作系统升级 获客户点赞

2024.07.11

为积极响应和落实国家、集团相关要求,某运营商省公司历时一个月将GreatDB数据库集群下Red Hat操作系统升级为BigCloud操作系统,以建立完善的IT自主可控体系,推动产业链生态发展。


01  源起:项目背景一览

2024年初,万里数据库接到某运营商省公司客户的需求通知:要将GreatDB 数据库集群下的所有操作系统升级为国产操作系统。于是,万里数据库项目团队立即展开前期调研准备工作,通过全面调研了解:业务系统升级前的现有环境中,生产环境使用了多套GreatDB分布式数据库集群,服务器超过20台(服务器采用x86架构,RedHat7操作系统),总数据量超过50TB,上层支撑着数十套业务系统。


02  选型:专业评估,规划最佳升级方案

经过对生产环境的全面仔细分析,万里数据库给出2套切实可行的升级方案:

一种方案是请客户提供一批新机器,部署国产操作系统后再 1:1 部署同架构的GreatDB 分布式数据库集群,然后进行数据迁移工作,最后将各业务割接至新的数据库集群;

第二种是依靠国产操作系统的升级工具,在线对操作系统进行升级,但这种方案对GreatDB分布式数据库的兼容性和稳定性来说,都是一个巨大的挑战。



方案1  VS 方案2

方案

方案一

方案二

操作简介
提供新机器,1:1部署同架构数据库集群,之后进行数据迁移
系统在线升级
优点
1、数据库软件重新发版,兼容风险更低,安全性更高
2、回退简单方便
1、在线升级,不涉及数据迁移,无需大量的迁移工作
2、不需要额外提供服务
3、大量节省人力成本和服务器成本

1、需要提供大规模服务器,用于替换原数据库集群
2、需要迁移全量数据,规模大、耗时较长
3、人力成本和服务器成本高

1、对数据库软件兼容性要求极高
2、在线升级存在一定风险,不能保证100%升级成功
3、如果系统升级失败可能导致机器失联,需到机房处理
4、前期需要大量的测试及验证工作


考虑到数据迁移成本及客户服务器资源紧张等多方面因素,为帮助客户实现降本增效,以最低成本完成操作系统升级工作,万里数据库经过与客户周密的讨论部署后,决定采用方案二推进升级工作。


03  挑战:正式生产环境下原地升级  数据库面临巨大挑战

由于客户无法提供大量的新服务器资源,因此本次操作系统需要原地进行升级,即在正式的生产环境中完成操作系统替换,这就要求替换过程中业务不能停机,尽可能做到应用0感知,这对GreatDB分布式数据库的高可用切换能力而言,是一项非常大的考验。

与此同时,滚动升级过程中,万里GreatDB分布式数据库集群要同时运行在两种不用的操作系统上,这对GreatDB的兼容性而言,也存在较大挑战。


04  规划:制定升级+测试完备方案  确保系统无故障

■ 升级方案

考虑到GreatDB 分布式数据库集群的特点,万里数据库决定采用滚动升级方式,分批对数据库集群中的服务器进行系统升级。滚动升级依赖于GreatDB分布式数据库强大的高可用切换能力,基本可以做到切主期间业务无感知。

GreatDB分布式数据库集群的各个组件均有冗余设计,且应用到数据库集群的链接通过F5实现负载均衡。这样一来,升级前将待升级服务器上的相关服务切换为从服务,切换成功后进行业务验证,无异常后将该服务器上的相关服务停止,然后等待系统运维人员使用系统升级工具完成系统升级。

接着,升级完成后更新相关依赖并启动数据库服务验证状态,待数据追平后再进行一次切换,将升级后的服务器切换为主节点,对外提供服务。升级后需要观察一个业务周期,一旦发现问题,即升级后的服务不能满足生产需求,则立即将主节点切换到未升级的服务器提供服务。


■ 测试方案

完备的升级前测试工作,是保障系统顺利升级的重要前提。为了保障系统顺利升级,万里数据库项目团队进行了多方面测试,包括:
1、线下搭建仿真业务环境,部署系统升级工具,验证系统升级可行性及对GreatDB 相关服务的影响,记录需要升级的环境依赖等;
2、线下进行一系列完备的测试工作准备,如功能测试、高可用测试、备份恢复测试等;
3、线上进行测试环境系统升级测试、业务功能测试、升级前后性能测试对比、高可用测试等,全面测试系统升级后是否满足业务需求。



05  升级:滚动升级七步法  完美实现操作系统升级

第一步:各项测试通过后,选取边缘业务系统作为试点,进行升级;

第二步:在割接窗口,将待升级服务器切换为从节点,关停该服务器上GreatDB的相关服务;

第三步:升级该服务器操作系统,并进行相关验证;

第四步:恢复GreatDB 相关服务,更新依赖,更改追平数据;

第五步:将原主节点回切到升级后的服务器;

第六步:观察一个业务周期,验证无异常后,下一割接窗口依次滚动升级下一台服务器操作系统;

第七步:按业务保障级别,从低到高依次对数据库集群的操作系统进行升级。


06  成果:业务不停机 升级0感知

经过为期一个月紧锣密鼓的升级筹备工作,万里数据库成功帮助客户完成GreatDB数据库集群底层操作系统的国产化升级工作,并做到了业务不停机、升级0感知,赢得客户一致好评,也为后续相关的项目实践积累了宝贵的经验。


实战工具箱  升级后,系统出现异常怎么处理?
如此大规模的变更,从安全角度肯定需要考虑如何回退。依赖于GreatDB 分布式数据库集群的冗余设计,当升级出现异常后,可以快速将服务切换至冗余节点,保证对业务的影响降至最低。

对于异常节点,首先通过操作系统升级工具进行回退,当升级工具回退失败时,通过备份冗余从节点的方式恢复异常节点作为后备手段,以保证异常节点可以正常恢复服务。



在该项目中,万里数据库成功配合该运营商客户完成了操作系统国产化改造,充分证明了公司的数据库产品、解决方案、技术服务等综合能力经受住了客户业务场景的严苛考验,进一步筑牢了万里数据库在运营商行业的市场地位。

未来,万里数据库将继续加大研发技术投入,针对客户应用场景进行产品的打磨与创新,携手生态伙伴推进多行业国产替代进程,助力数字经济高质量发展。