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

为积极响应和落实国家、集团相关要求,某运营商省公司历时一个月将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 分布式数据库集群的冗余设计,当升级出现异常后,可以快速将服务切换至冗余节点,保证对业务的影响降至最低。

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/44855.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基础架构服务API:降低成本,提升业务效益

基础架构服务API的应用可以显著降低企业的成本,并提升业务效益。通过使用这些API,企业可以充分利用云计算、自动化部署和资源管理等功能,从而减少了传统基础设施所需的大量投资和维护成本。这些API还提供了弹性扩展和自动化功能,使…

ABeam News | FY25 ABeam德硕大中华区入社式,飞往崭新航向!

FY25 ABeam大中华区入社式 7月1日,51名 ABeam大中华区新生在艾宾信息技术开发(上海)有限公司大连分公司(以下简称TDC)报到,我们为他们的到来准备了隆重的入社仪式,并举办了热情而又温馨的欢迎晚…

springboot美食分享平台-计算机毕业设计源码45429

基于Web美食分享平台的系统设计与实现 摘 要 本研究基于Spring Boot框架,设计并实现了一个Web美食分享平台,旨在为用户提供一个交流分享美食体验的社区平台。该平台涵盖了用户注册登录、美食制作方法分享发布、点赞评论互动等功能模块,致力于…

cdr捕捉点怎么设置---模大狮模型网

在 CorelDRAW 中,捕捉点(Snap Points)是一种非常有用的功能,它可以帮助你在绘制和编辑图形时对齐、定位和调整对象。以下是关于如何设置捕捉点的简要步骤: 打开和设置捕捉点: 打开捕捉点控制器: 在 CorelDRAW 的顶部菜…

C# 解析省份、城市、区域 json文件

一、json文件内容如下,(小程序里好像有用到...): 二、读取包含省份城市区域的json文件,并整理成想要的结果: string path Server.MapPath("/js"); string file System.IO.Path.Combine(path, "数据.…

JVM:SpringBoot TomcatEmbeddedWebappClassLoader

文章目录 一、介绍二、SpringBoot中TomcatEmbeddedWebappClassLoader与LaunchedURLClassLoader的关系 一、介绍 TomcatEmbeddedWebappClassLoader 是 Spring Boot 在其内嵌 Tomcat 容器中使用的一个类加载器(ClassLoader)。在 Spring Boot 应用中&#…

电焰灶:烹饪性能的深度剖析

在如今众多的厨房炉灶选择中,华火电焰灶以其独特的技术和性能吸引了不少消费者的目光。那么,华火电焰灶的综合烹饪性能究竟如何呢?让我们一起来深入探究。 首先,从火力方面来看,华火电焰灶展现出了强大的优势。其火焰强…

VS2019使用C#写窗体程序技巧(1)

1、打开串口 private void button1_Click(object sender, EventArgs e){myPort cmb1.Text;mybaud Convert.ToInt32(cmb2.Text, 10);databit 8;parity Parity.None;stopBit StopBits.One;textBox9.Text "2";try{sp new SerialPort(myPort, mybaud, parity, dat…

LLMs的基本组成:向量、Tokens和嵌入

编者按:随着人工智能技术的不断发展,大模型(语言、视觉,或多模态模型)已成为当今AI应用的核心组成部分。这些模型具有处理和理解自然语言等模态输入的能力,推动了诸如聊天机器人、智能助手、自动文本生成等…

私域社群的组织及运营角色定位、分工

私域社群运营是一个涉及多个角色和职能的复杂过程,每个角色都有其特定的职责和目标。以下是一些常见角色及其职能内容的概述: 产品经理(Product Manager) 负责私域社群产品的规划、设计和迭代。理解用户需求,收集用户反…

开源项目的发展趋势之托管平台

引言 回溯至十五年前的求学时光,当我们初涉编程的浩瀚海洋,面对程序设计这一崭新挑战,曾渴望能有一份现成的源码作为启航的灯塔。然而,在那个时代,除了有限的SDK资源外,寻觅到高质量、可借鉴的源代码并非易…

springboot服装购物商城系统-计算机毕业设计源码35058

摘要 服装购物商城系统小程序,依托Spring Boot框架的强大支持,为用户呈现了一个功能丰富、体验流畅的在线购物平台。该系统不仅涵盖了商品展示、用户注册登录、购物车管理、订单处理、支付集成等核心购物流程,还引入了个性化推荐算法&#xf…

药品稳定性试验箱:确保药物有效期的关键设备

关键词: 药品稳定性试验箱、 药品稳定性试验模拟器、人造太阳 摘要:药品稳定性试验箱是制药行业重要的研究工具,主要用于在模拟气候环境中评估药物稳定性,以确定药物的有效期和影响稳定性的因素。该设备由温湿度控制系统、光照系…

NodeJS校园点餐系统-计算机毕业设计源码56979

摘 要 近年来,随着移动互联网的迅猛发展,微信小程序作为一种轻量级应用形式逐渐受到人们的关注和喜爱。在此背景下,各行各业开始向微信小程序上线他们的服务,其中包括餐饮行业,在校园内,学生、教职工和访客…

通用代码生成器模板体系,域对象,枚举和动词算子

通用代码生成器模板体系,域对象,枚举和动词算子 通用代码生成器或者叫动词算子式通用目的代码生成器是一组使用Java编写的通用代码生成器。它们的原理基于动词算子和域对象的笛卡尔积。它们没有使用FreeMarker和或者Velocity等现成的文件式模板引擎。而…

传统的springboot项目中,如何进行添加自定义静态资源访问路径实现对静态资源的访问?

如何配置可以实现在浏览器中配置路径实现对resource资源路径下的index.html个性化定制访问路径 要在Spring Boot项目中配置使特定前缀访问静态资源,可以在application.yml文件中配置路径映射。以下是一个示例配置: 打开你的application.yml文件&#xf…

死灰复燃的 LockBit, “现身说法”计算机安全的重要性

LockBit 死灰复燃 2024年2月,一场全球性的名为 “Cronos 行动” 的执法行动夺取了对 LockBit 勒索组织基础设施的控制权并扰乱了其运营。 但是,就像希腊神话中的九头蛇一样,砍掉一个 LockBit 的头并不重要——它可以迅速再生成多个新的头。…

南京邮电大学运筹学课程实验报告3 整数规划问题求解 指导

一、题目描述 实验三 整数规划问题求解    实验属性: 设计型    实验目的 1.理解图的整数规划问题概念; 2.掌握运筹学软件的使用方法; 3. 掌握整数规划问题求解原理和方法。 实…

MES系统助力塑料制品行业数字化转型

注塑MES系统助力工厂生产力提升具体体现在:覆盖生产全流程;数据自动收集、科学规划排产;优化配送模型、平衡物流运转;严格把控品质、异常自动分析;实时监控设备,保证正常运转;产品快速追溯&…

Linux下vim工具应用

1.简介 Vim(Vi IMproved)是一种高度可配置的文本编辑器,用于有效地创建和更改任何类型的文本。它是从vi发展而来,vi是Unix和类Unix系统上最初的文本编辑器之一。Vim被设计为程序员和文本编辑的爱好者使用,它以其强大的…