1 项目背景

客户因合规要求和生态技术支持的考虑,需要将容器底层操作系统从CentOS迁移到国产开源操作系统龙蜥(Anolis OS),理由如下: (1) 国产化合规要求:龙蜥是一款国产的操作系统,迁移到龙蜥可以满足集团合规要求中的国产化要求,符合国内政策和法规,确保信息安全和数据主权。 (2) 更强力度的生态技术支持
  • CentOS系统即将停止更新维护,存在业务风险,官方通知如下: - 2020年12月08日,CentOS官方宣布了停止维护CentOS Linux的计划,并推出了CentOS Stream项目。 - CentOS计划把Red Hat Enterprise Linux(RHEL)的复刻版本CentOS Linux转向CentOS Stream,因此对CentOS Linux存在以下影响: - CentOS Linux 7作为RHEL 7的复刻版本于2020年08月06日停止更新,但会延续当前的支持计划,于2024年6月30日停止维护(EOL)。 - CentOS Linux 8作为RHEL 8的复刻版本,生命周期缩短,于2021年12月31日停止更新并停止维护(EOL)。 - CentOS官方不再提供CentOS Linux 9及后续版本,而是提供CentOS Stream版本。 - 2021年12月31日以后,CentOS Linux 8的使用者将无法获得包括问题修复和功能更新在内的任何软件维护和支持。 - 2024年06月30日以后,CentOS Linux 7的使用者将无法获得包括问题修复和功能更新在内的任何软件维护和支持。
  • Alibaba Cloud Linux是阿里云基于龙蜥社区(OpenAnolis)的龙蜥操作系统(Anolis OS)打造的操作系统发行版,在全面兼容RHEL/CentOS生态的同时也为云上应用程序环境提供Linux社区的增强功能,并针对阿里云基础设施进行深度优化,同时为用户提供长达10年的企业级操作系统支持和维护,让阿里云用户体验更好的操作系统服务。
  • 通过迁移到龙蜥,甲方可以获得更完善的国内生态技术支持,包括与国内厂商合作开发的容器解决方案,提高容器化部署的效率和稳定性。
(3) 安全性增强:龙蜥操作系统注重安全性,通过迁移到龙蜥,可以增强容器环境的安全性,降低潜在的漏洞和攻击风险,对于保护公司的敏感数据和业务运行的稳定性至关重要。 (4) 性能和效率提升:龙蜥操作系统具有更小的镜像大小和更快的启动时间,可以加速容器的启动速度,提高整体性能和效率,提升业务的灵活性和响应能力。 综上所述,将容器底层操作系统从CentOS迁移到龙蜥可以满提高公司的合规 性、安全性和业务的运行效率。

2** **项目需求

2.1 需求分析

2.1.1项目目标

甲方当前为满足集团合规性要求及提高业务安全性及运行效率,需将生产作业系统与测试作业系统相关的2 ACK集群的17 ECS节点,及5套部署数据库=ECS服务环境(包括5台单独ECS),1台部署在本地的接口服务器从CentOS 7迁移到国产开源操作系统龙蜥(Alibaba Cloud Linux)。

2.1.2项目难点分析与应对措施

(1) 尽量缩短割接停机时间:迁移过程中,需要尽量缩短割接停机时间,以减轻对业务造成的影响,应对措施如下:
  • 迁移前仔细规划迁移步骤和流程,并确保在迁移过程中的高可用性和业务连续性。
  • 正式割接前进行充分的测试和验证,以确保迁移后的业务正常运行。
(2) CenOS系统即将停止支持,应对措施如下:
  • 兼容性测试与系统选择:为了与CentOS 7兼容,选择Alibaba Cloud Linux 2作为目标系统,该系统的停止支持日期为2024-03-31,需要在有限的时间内进行迁移。
  • 所以方案先进行与CentOS 8对标的Alibaba Cloud Linux 3的全面POC测试,以验证业务系统在新系统上的兼容性,并确保迁移后的稳定性。
(3) 数据库服务器内网IP保持不变,应对措施如下:
  • 为了减少对业务配置的修改,需要保持数据库服务器的内网IP不变,在迁移过程中进行网络配置和调整,以确保数据库服务器可以在迁移后继续正常工作,并与其他业务系统保持连接。
  • 迁移前进行详细规划和测试,以确保数据库迁移顺利进行。
(4) 容器和数据库的安装与配置难度高,应对措施如下:
  • 容器与数据库专家团队确保容器和数据库的正确安装、配置和调优,以保证其性能和稳定性。
  • 容器和数据库专家团队可以提供专业的技术指导和帮助,确保迁移问题的解决,保障迁移顺利进行。
(5) 本地接口服务器使用vmware 虚拟机,无迁移工具,需要手动重新安装龙蜥系统并迁移数据。

3** **项目方案

3.1 容器应用迁移方案

3.1.1迁移对象

生产作业系统与测试作业系统相关的2 ACK集群的17 ECS节点,使用的都是CentOS 7系统。
  • 生产作业集群:10个ECS节点;
  • 测试作业集群:7个ECS节点。

3.1.2迁移方案

迁移案例分享 - 图1

1. 使用测试集群POC,购买2台新的按量计费的Alibaba Cloud Linux 3操作系统服务器,并将它们添加到测试集群节点池中。 2. 将应用程序部署到新的节点中,并测试业务是否正常运行。检查新系统的兼容性,确保业务能够在新系统下正常运行。 3. 如果在测试环境中的这两台新节点通过了测试,并且新系统满足需求,那么可以开始通过SMC迁移的方式逐个更换旧节点的操作系统为Alibaba Cloud Linux 3 4. 在所有系统更换完成后,进行测试环境的整体测试,确保整个测试集群的稳定性和功能正常。 5. 在测试集群中的测试通过后,开始进行生产系统节点操作系统的逐个更换。首先更换操作系统,然后将业务程序部署到新节点上。 6. 进行全面的业务测试,验证生产系统的稳定性和功能正常。确保业务在新节点上的运行与旧节点一致。 注:在迁移完成

3.2 自建数据库迁移方案

3.2.1迁移对象

当前5套部署数据库ECS服务器环境(总共7ECS服务器)情况如下:
  • 有2个生产Oracle数据库集群(每个集群两台ECS)。
  • 有2台单机Oracle数据库,部署在测试环境ACK集群节点上.
  • 1台单机Mysql数据库。

3.2.2迁移步骤

迁移案例分享 - 图2

1. 备份测试数据库数据,以确保数据安全。 2. 在新的Alibaba Cloud Linux 3系统服务器上安装Oracle数据库,因为测试环境数据库部署在测试ACK集群节点上。 3. 导入备份的测试数据库数据,并测试业务功能及数据完整性。需要验证数据的一致性和业务功能是否正常运行。

3.2.3方案对比

方案 优势 劣势
方案一 对生产业务影响低 新建集群节点会产生额外成本
方案二 无额外节点成本 对生产业务影响高

3.2.4方案一

  1. 重新购买4台Alibaba Cloud Linux操作系统ECS服务器,分别部署2套Oracle集群,用于数据同步。

  2. 在业务低峰期,停止旧实例并将新机器的内网IP修改为旧实例的内网IP,使业务连接到新集群。

3.2.5方案二

  1. 直接通过SMC更换集群中slave节点的操作系统,然后测试数据库是否能够正常启动运行。

  2. 当slave节点正常后,再通过SMC迁移master节点。

3.3 线下虚机迁移方案

当前机房有一台centos 7 接口服务器部署在vmware虚拟机平台上。

3.3.1迁移方案

1.在vmware虚拟机平台上安装龙蜥Anolis OS,配置好网络,磁盘等基础信息。

2.在新系统内安装接口服务需要的JVM等环境。

3.将应用迁移部署到新系统内,并测试应用启动及应用基础功能。

4.将应用数据及日志数据从老环境迁移到新环境。

3.4 业务割接方案

如果应用可以直接更换节点,而本次割接只涉及到割接数据库节点,那么在应用节点更新完成、数据库环境搭建完成并通过连接测试后,可以开始进行数据库的割接。

迁移案例分享 - 图3

在进行数据库割接时,可以按照以下步骤进行:

  • 数据库备份:首先,对原有数据库进行备份,以确保数据安全。
  • 数据库增量数据同步:将原有数据库迁移到新的数据库节点上。可以使用工具或脚本来执行数据库的导出和导入操作,确保数据的完整性和一致性。
  • 数据库连接更新:更新应用程序的数据库连接配置,将连接指向新的数据库节点。这样应用程序就能够与新的数据库节点建立连接,并正常访问数据库。
  • 测试验证:进行连接测试和功能测试,确保应用程序能够正常访问和操作新的数据库节点。可以验证数据的读写操作、事务处理等功能是否正常。
  • 切换完成:在确认新的数据库节点运行正常后,可以将原有数据库节点停用或下线,完成数据库的割接过程。

需要注意的是,在进行数据库割接时,要确保数据的安全性和完整性。同时,建议在割接过程中进行充分的测试和验证,以确保应用程序能够正常工作并访问新的数据库节点。

4** **项目计划安排

乙方依托成熟的迁移方法论和经验丰富的专业团队,为甲方的应用系统进行全面调研,并根据提供一套量身定制的CentOS迁移方案,确保在迁移过程中的业务连续性、网络的安全性、数据可用性、和线下系统的调用关系等。

服务内容 服务子项 服务描述 责任主体
系统调研 业务流程调研 调研业务应用系统各业务流程、业务相关性等信息,以及实现的主要功能模块、各个功能模块之间的结构和逻辑关系。 乙方主导/甲方配合
系统架构结构调研 包括前端(应用)、中间件、后端(数据库)、存储、以及网络等组件,以及每个组件的具体情况。 乙方主导/甲方配合
应用系统架构调研 调研系统的应用架构,分别采用的开发框架、开发语言,涉及到技术点等。 乙方主导/甲方配合
容器调研 调研容器平台选择、部署模式和架构设计、网络配置和安全性、存储和数据管理、监控和日志管理、高可用性和自动扩展等信息。 乙方主导/甲方配合
数据库调研 调研整个数据库数据库引擎、数据规模、存储过程、
业务调用情况、高可用与容灾、安全与访问控制、维护与支持情况。
乙方主导/甲方配合
其他要求调研 甲方可根据实际情况提出合理性要求。 甲方主导/乙方配合
迁移方案规划 网络规划 包括VPC 网段划分、路由器、安全组规则,以及线下资源的打通等需求。 乙方
云资源选型 综合考虑原有系统技术架构、承压能力、安全要求,以及和云产品的适配性。 乙方
阿里云资源清单 根据业务需求,整理输出预估阿里云资源清单与配置。 乙方
迁移方案规划 评估迁移可行性,规划设计迁移方案,与甲方汇报并确定最终迁移方案。 乙方/甲方
POC测试 云上环境准备 云上网络配置,包括VPC、交换机、SLB等配置 乙方
云资源购买 包括POC测试所需要的ACKECS等资源 乙方
容器迁移POC测试 测试作业系统1套容器集群迁移POC测试,包括7ECS节点 乙方
自建数据库迁移POC测试 测试作业系统自建DB服务器迁移POC测试 乙方
数据校验 验证迁移数据的完整性 乙方
业务验证 验证业务的可用性 甲方/乙方
正式迁移 容器迁移 生产作业系统1套容器集群迁移,包括10ECS节点 乙方/甲方
数据库迁移 生产作业系统自建DB服务器迁移 乙方/甲方
数据校验 验证迁移数据的完整性 乙方
业务割接 割接前准备 确认业务割接计划、割接窗口,进行割接前确认与检查 乙方/甲方
割接实施 业务切换,修改数据库链接地址,DNS解析配置 乙方/甲方
业务验证 验证业务所有功能可正常使用,与其他业务之间的调用正常 甲方/乙方
业务回滚 回滚计划 确认业务回滚计划、回滚窗口,进行回滚前确认与检查 乙方/甲方
回滚实施 业务切换,修改数据库链接地址,DNS解析配置 乙方/甲方
业务验证 验证业务所有功能可正常使用,与其他业务之间的调用正常 甲方/乙方
业务保障 业务保障 迁移后业务保障管理15天,确保业务系统稳定运行 乙方/甲方