为积极响应和落实国家、集团相关要求,某运营商省公司历时一个月将GreatDB数据库集群下Red Hat操作系统升级为BigCloud操作系统,以建立完善的IT自主可控体系,推动产业链生态发展。
源起:项目背景一览
2024年初,万里数据库接到某运营商省公司客户的需求通知:要将GreatDB 数据库集群下的所有操作系统升级为国产操作系统。于是,万里数据库项目团队立即展开前期调研准备工作,通过全面调研了解:业务系统升级前的现有环境中,生产环境使用了多套GreatDB分布式数据库集群,服务器超过20台(服务器采用x86架构,RedHat7操作系统),总数据量超过50TB,上层支撑着数十套业务系统。
02 选型:专业评估,规划最佳升级方案
经过对生产环境的全面仔细分析,万里数据库给出2套切实可行的升级方案:
一种方案是请客户提供一批新机器,部署国产操作系统后再 1:1 部署同架构的GreatDB 分布式数据库集群,然后进行数据迁移工作,最后将各业务割接至新的数据库集群;
第二种是依靠国产操作系统的升级工具,在线对操作系统进行升级,但这种方案对GreatDB分布式数据库的兼容性和稳定性来说,都是一个巨大的挑战。
方案1 VS 方案2
考虑到数据迁移成本及客户服务器资源紧张等多方面因素,为帮助客户实现降本增效,以最低成本完成操作系统升级工作,万里数据库经过与客户周密的讨论部署后,决定采用方案二推进升级工作。
03 挑战:正式生产环境下原地升级 数据库面临巨大挑战
由于客户无法提供大量的新服务器资源,因此本次操作系统需要原地进行升级,即在正式的生产环境中完成操作系统替换,这就要求替换过程中业务不能停机,尽可能做到应用0感知,这对GreatDB分布式数据库的高可用切换能力而言,是一项非常大的考验。
与此同时,滚动升级过程中,万里GreatDB分布式数据库集群要同时运行在两种不用的操作系统上,这对GreatDB的兼容性而言,也存在较大挑战。
04 规划:制定升级+测试完备方案 确保系统无故障
■ 升级方案
考虑到GreatDB 分布式数据库集群的特点,万里数据库决定采用滚动升级方式,分批对数据库集群中的服务器进行系统升级。滚动升级依赖于GreatDB分布式数据库强大的高可用切换能力,基本可以做到切主期间业务无感知。
GreatDB分布式数据库集群的各个组件均有冗余设计,且应用到数据库集群的链接通过F5实现负载均衡。这样一来,升级前将待升级服务器上的相关服务切换为从服务,切换成功后进行业务验证,无异常后将该服务器上的相关服务停止,然后等待系统运维人员使用系统升级工具完成系统升级。
接着,升级完成后更新相关依赖并启动数据库服务验证状态,待数据追平后再进行一次切换,将升级后的服务器切换为主节点,对外提供服务。升级后需要观察一个业务周期,一旦发现问题,即升级后的服务不能满足生产需求,则立即将主节点切换到未升级的服务器提供服务。
■ 测试方案
完备的升级前测试工作,是保障系统顺利升级的重要前提。为了保障系统顺利升级,万里数据库项目团队进行了多方面测试,包括:
1、线下搭建仿真业务环境,部署系统升级工具,验证系统升级可行性及对GreatDB 相关服务的影响,记录需要升级的环境依赖等;
2、线下进行一系列完备的测试工作准备,如功能测试、高可用测试、备份恢复测试等;
3、线上进行测试环境系统升级测试、业务功能测试、升级前后性能测试对比、高可用测试等,全面测试系统升级后是否满足业务需求。
05 升级:滚动升级七步法 完美实现操作系统升级
第一步:各项测试通过后,选取边缘业务系统作为试点,进行升级;
第二步:在割接窗口,将待升级服务器切换为从节点,关停该服务器上GreatDB的相关服务;
第三步:升级该服务器操作系统,并进行相关验证;
第四步:恢复GreatDB 相关服务,更新依赖,更改追平数据;
第五步:将原主节点回切到升级后的服务器;
第六步:观察一个业务周期,验证无异常后,下一割接窗口依次滚动升级下一台服务器操作系统;
第七步:按业务保障级别,从低到高依次对数据库集群的操作系统进行升级。
06 成果:业务不停机 升级0感知
经过为期一个月紧锣密鼓的升级筹备工作,万里数据库成功帮助客户完成GreatDB数据库集群底层操作系统的国产化升级工作,并做到了业务不停机、升级0感知,赢得客户一致好评,也为后续相关的项目实践积累了宝贵的经验。
实战工具箱 升级后,系统出现异常怎么处理?
如此大规模的变更,从安全角度肯定需要考虑如何回退。依赖于GreatDB 分布式数据库集群的冗余设计,当升级出现异常后,可以快速将服务切换至冗余节点,保证对业务的影响降至最低。
对于异常节点,首先通过操作系统升级工具进行回退,当升级工具回退失败时,通过备份冗余从节点的方式恢复异常节点作为后备手段,以保证异常节点可以正常恢复服务。
在该项目中,万里数据库成功配合该运营商客户完成了操作系统国产化改造,充分证明了公司的数据库产品、解决方案、技术服务等综合能力经受住了客户业务场景的严苛考验,进一步筑牢了万里数据库在运营商行业的市场地位。
未来,万里数据库将继续加大研发技术投入,针对客户应用场景进行产品的打磨与创新,携手生态伙伴推进多行业国产替代进程,助力数字经济高质量发展。