【CentOS 迁移工作】实施方案介绍

2020 年 12 月 08 日,红帽公司官宣 CentOS 系统停服,即社区版 8 系列和 7系列分别在 2021 年底和 2024 年底停止服务。红帽的这个举措,对中国 CentOS 系统用户的底层 IT 基础架构造成很大的冲击。面对国内广大CentOS系统用户因停服所面临的困境,统信软件技术有限公司(下称:统信软件)在国家有关部门的统筹组织下,依托国内自主开源社区、凭借自身成熟的服务器操作系统产品、强大的自主研发能力以及信创项目的实践经验,形成了对CentOS系统进行更换或安全接管的解决方案。 本文从工作目标、基本思路和工作阶段三个方面,对CentOS系统替换及业务应用系统迁移工作的安排进行阐述。 根据统信软件在国产化项目的实践经验,将CentOS系统替换和业务应用系统迁移过程划分为四个阶段:盘点与规划、测试与验证、迁移与实施、并行与上线。

前 言

2020 年 12 月 08 日,红帽公司官宣 CentOS 系统停服,即社区版 8 系列和 7系列分别在 2021 年底和 2024 年底停止服务。
CentOS Linux 7(简称 CentOS 7)已于 2020 年第四季度停止更新,并将于 2024 年 6 月 30 日停止维护。CentOS Linux 8(简称 CentOS 8)已于 2021 年底停止更新和维护。这意味着在全球使用广泛的开源 CentOS 服务器操作系统(下称: CentOS 系统)将停服,CentOS 系统用户将无法获得官方升级和补丁。
红帽的这个举措,对中国 CentOS 系统用户的底层 IT 基础架构造成很大的冲击。据初步统计,国内各行各业使用 CentOS 系统物理机总量达 400 万台,加上虚拟机,总量超过过千万台。
面对国内广大CentOS系统用户因停服所面临的困境,统信软件技术有限公司(下称:统信软件)在国家有关部门的统筹组织下,依托国内自主开源社区、凭借自身成熟的服务器操作系统产品、强大的自主研发能力以及信创项目的实践经验,形成了对CentOS系统进行更换或安全接管的解决方案,将推出《CentOS替换迁移工作指南》、《CentOS替换迁移实施方案》及《CentOS替换迁移案例汇编》,为面临CentOS系统停服风险的用户提供参考。
由于编者水平所限,方案中难免有疏漏和不足之处,敬请读者批评指正。

总体规划

统信UOS替换已承载应用系统的CentOS系统,并完成应用系统的迁移工作,并不是简单的系统重装,而是较为复杂的系统工程。涉及到操作系统与下层的硬件板卡和其上搭载的基础软件、应用软件及业务应用系统的适配、迁移甚至重构,需要在专业技术力量的支持下开展。
本规划从工作目标、基本思路和工作阶段三个方面,对CentOS系统替换及业务应用系统迁移工作的安排进行阐述。

1.工作目标

实现统信UOS替换CentOS系统的成功替换,需达到以下目标:
  • 技术层面实现替换,即:统信UOS成功的取代CentOS系统,应用系统可以正常的部署、运行;
  • 迁移后的业务应用系统在核心指标、稳定性、可靠性及安全性等方面达到甚至超过迁移前的指标体系。
  • 迁移后的业务应用系统与现行运维、监控和管理系统适配兼容。
  • 在标准、技术、团队和工作方式层面形成一套可复制、可推广的工作体系,为全面替换CentOS系统打下坚实的基础。

2.基本思路

替换CentOS系统是以成功迁移业务应用系统为目标和衡量标准。在这个基本原则下,强调以业务应用系统为核心,建立业务应用系统台账,将现行业务应用系统运行的指标、运行环境、生态环境梳理清楚,为业务应用系统迁移打下坚实的基础。整个迁移工作的重点工作如下:
2.1、成立工作组织:成立由信息化主管部门牵头,信息化运维部门、应用开发部门/单位(第三方开发商)、操作系统厂商、业务应用系统使用部门(用户部门)参与的迁移工作组。分别从领导协调、运维管理、应用开发、技术保障、业务评估等方面,为迁移工作提供组织和资源保障。
2.2、业务应用系统台账:全面调研、盘点本单位内使用CentOS系统的信息化应用系统建设、使用情况。为业务应用系统建立台账,以此作为后续选择迁移对象的基础工作。
2.3、制定迁移工作标准:根据每个业务应用系统台账,包括运行环境、重要程度、运行指标、关联应用、开发运维单位等信息,决定替换对象、迁移模式以及各个阶段的验证标准。
2.4、基于迁移工具的工作机制:采取自动化迁移工具及其配套的方法论,在整个迁移过程,指导并开展评估、实施、测试及验证工作。
2.5、制定合理可行的迁移计划:合理划分工作阶段,明确各个阶段的工作内容、资源需求、参与方的工作安排以及阶段性成果输出。

3.阶段划分

根据统信软件在国产化项目的实践经验,将CentOS系统替换和业务应用系统迁移过程划分为四个阶段:盘点与规划、测试与验证、迁移与实施、并行与上线。各个阶段工作目标、工作内容与参与单位如下:

实施方案

1.评估规划和技术准备

本阶段通过对业务应用系统的调研、CentOS系统替换技术场景梳理、技术适配验证和迁移的总体业务风险评估等环节完成对目标范围内业务应用系统的CentOS系统使用情况排查和技术准备,并基于各业务应用系统迁移的总体业务风险评估按照先简后繁、先小范围试点再局部推广最终完成全部目标的策略完成CentOS系统替换和业务迁移整体规划的编制。
根据业务应用系统的不同环境配置、架构和业务连续性设计,需要分别收集相应的基础环境和运行环境信息,例如:
对于符合典型三层架构设计并分层部署,每层均采用主备双机式部署的业务应用系统,需要分别对承载业务应用的表示层、应用层、数据层的节点进行基础环境和运行环境信息收集。
对于单体架构并有独立的开发、测试和生产环境的业务应用,则需要分别对其开发、测试和生产节点进行基础环境和运行环境的信息收集。
对于支撑业务云平台的物理节点需按节点类型(控制、计算、存储、网络)分别进行基础环境和运行环境信息收集。
因此一个业务应用系统的迁移档案中可以包含多套基础环境和运行环境信息,分别对应业务应用系统的不同环境、不同架构层的操作系统节点。
本环节着重收集和完善业务应用系统的业务应用侧信息、操作系统与所承载的业务应用的关联、应用运行环境和服务器软件的品类和版本信息,以便下一环节的总体评估和规划。在后续的技术适配验证、替换方案的测试和验证等环节也会根据各环节中自动化工具的评估分析结果、测试验证情况进一步更新、细化迁移档案里面的基础环境和运行、运维要求信息。

1.1、业务应用系统盘点

在此环节将以业务应用系统为单位展开调研,盘点现行CentOS系统使用情况,分别从业务应用、基础环境和运行环境等方面收集信息,以操作系统替换迁移为目标建立业务应用系统台账和CentOS系统迁移档案。
示例如下:
业务应用系统调研表
基础环境和运行环境信息

1.2、总体评估和规划

在此环节将以已有的各业务应用系统CentOS系统迁移档案为基础,对各业务应用系统中的基础环境和运行环境进行梳理合并,形成CentOS系统替换技术场景类型,并完成技术可行性和复杂度评估,然后再综合各业务应用系统的重要程度、用户和覆盖范围、架构类型、部署、备份、测试和验证工具的完备程度、所包含的CentOS系统替换技术场景类型数量、其技术可行性和复杂度完成各业务应用系统迁移的总体业务风险和技术复杂度评估,并最终按照先简后繁、先小范围试点再局部推广最终完成全部目标的策略制定整体CentOS系统替换和业务迁移规划。
CentOS系统替换技术场景的梳理和评估此步骤主要对各业务应用系统中包含的多套基础环境和运行环境进行技术上的合并,形成若干场景类型,完成技术可行性和复杂度评估,同时可适用于下一步的技术适配验证。在梳理合并中,通常可以依据部署形式、承载业务应用的应用运行环境或服务器软件进行分级分类,同时完成场景的技术可行性和复杂度评估。例如:
  • A、B、C三个业务应用系统的数据层均适用了部署在三个物理机的CentOS7.5版本操作系统、MySQL5.7数据库服务器软件的一主两备集群,可以合并形成CentOS7.5版本操作系统+MySQL5.7数据库服务器软件,一主两备集群场景进行操作系统替换的技术可行性和复杂度评估。
  •  D、E两个业务应用系统都是基于Java1.8版编写的单体结构应用,以冷备方式部署于虚拟机CentOS7.3版本操作系统上,可以合并形成CentOS7.3版本操作系统+Java1.8运行时环境场景进行操作系统替换的技术可行性和复杂度评估。
CentOS系统替代技术场景的技术可性和复杂度评估需要考量目标操作系统对应用运行环境或服务器软件的版本和功能适配支持程度,对硬件资源的适配支持程度,对自研或第三方应用的适配支持的可行性和复杂度评估总体上遵循编译型应用>解释型应用>通用,闭源>开源的规则。
业务应用系统迁移的总体业务风险评估此步骤主要考量业务应用系统的:
  • 重要性和所在环境
  • 用户和覆盖范围
  • 业务连续性机制的完备和可靠度
  • 相关CentOS系统替换技术场景的可行性和复杂度评估
业务应用系统迁移的总体业务风险评估中需要综合考量业务应用系统中涉及的CentOS系统替换技术场景数量和每个场景的可行性和复杂度,以及各场景之间的耦合程度,可以遵循“耦合度->场景数量->各场景的可行性和复杂度”逐级评估合并,例如:对于同样涉及到CentOS7.4操作系统上的MySQL5.7数据库场景(场景的可行性和复杂度相当)的多个业务应用系统,业务逻辑实现依赖数据库存储过程的业务应用系统的迁移风险要高于业务逻辑不依赖数据库存储过程的业务应用系统(耦合度差异)。
本环节通过“CentOS系统替换技术场景的梳理和评估”,“业务应用系统迁移的总体业务风险评估”两个步骤完成对现行各业务应用系统的CentOS系统替换技术可行性和复杂度分析,并从业务风险角度对各业务应用系统进行梳理排序。在此基础上,用户可以按照先简后繁、先小范围试点再局部推广最终完成全部目标的策略去拟定整体的CentOS系统替换和业务迁移规划。

1.3、技术适配验证方案

在此环节将按照拟定的CentOS系统替换和业务迁移规划,为所涉及的CentOS系统替换技术场景编制相应技术适配验证方案。
CentOS系统替换技术场景的技术适配验证方案以操作系统替换后业务应用可安装、可运行为基本目标,并综合考虑资源和时间周期等因素,设计要点包括: 
  • 资源需求和时间评估
  • 硬件资源的适配验证
  • 操作系统的参数、配置工具和配置文件的适配验证
  • 应用软件或服务器软件版本的适配验证
  • 现行安装部署工具的适配验证
  • 业务功能和数据验证
结合实际需求,还可以对CentOS系统替换技术场景做进一步的梳理整合,形成围绕特定硬件、应用软件、服务器软件的技术适配验证方案。

1.4、技术适配验证

此环节将依据CentOS系统替换和业务迁移规划要求,按拟定的技术适配验证方案对相关技术场景、硬件、应用软件和服务器软件完成技术适配验证,根据验证结果对相关CentOS系统替换技术场景的可行性和复杂度评估结果进行修正,以及更新各业务应用系统迁移的总体风险评估结果,并对整体的CentOS系统替换和业务迁移规划做必要的修订。
此外,对技术适配验证过程中发现的设计偏离、技术问题、操作建议等也应及时整合记录到各方案中,以便后续参考。

1.5、参与方分工与阶段输出

本阶段各参与方的主要工作分工
本阶段主要输出物
  • 《CentOS系统替换和业务迁移整体规划》
  • 《业务应用系统CentOS系统替换和业务迁移档案》
  • 《CentOS系统替换技术场景、产品技术适配方案》

2.测试验证和迁移实施

在“CentOS系统替换和业务迁移整体规划”制定完成后,用户可以结合实际需求按一定次序以业务应用系统为项目单位开展具体的CentOS系统替换和迁移工作,也就是本阶段的实践过程。

2.1、替换方案设计

此环节将依据业务应用系统的CentOS系统替换和业务迁移档案、迁移的总体风险评估结果和相关技术场景、硬件产品、软件产品技术适配方案和验证结果,结合可用资源、人力、时间目标等要求,选定相应的迁移类型,制定贴合业务应用系统现行基础环境、运行环境、业务要求的CentOS系统替换方案。
CentOS系统替换方案中通常包含以下技术内容:
其中,CentOS系统替换迁移类型通常可分为利旧迁移、扩容迁移和新建部署三种,根据业务应用系统的技术特点、迁移需求可以具体适用其中的一种。
  • 利旧迁移
指在尽量不变更底层硬件和上层业务应用的原则下,以最小化的成本,将现有应用系统中使用的CentOS更换为目标操作系统。利旧迁移适用于应用系统短时间内不做软件架构级别改造、当前性能满足业务需求、服务器未到使用年限的情况。
根据操作系统的具体更换技术方式,又可以进一步细分为“原地替换”和“替换安装”两种。
“原地替换”指通过自动化工具对现行CentOS操作系统进行软件包和内核替换的方式完成操作系统的替换。
“替换安装”指通过在现行环境中安装目标操作系统,然后通过迁移工具、脚本等方式在新操作系统环境中适用现行环境中的系统配置文件、参数定义,并完成应用软件、服务器软件等产品的安装配置和数据迁移操作。
  • 扩容迁移:
扩容迁移是指通过在现行业务应用系统环境中增加服务器并在其上部署目标操作系统,通常连同现有服务器共同支撑同一应用系统运行。扩容迁移适用于应用系统性能已不能满足当前业务需求,或现有服务器达到使用年限需进行更换的情况。
  • 新建部署
新建部署是指使用新的底层软硬件,独立支撑部署新开发或改造后应用系统,在建设伊始便可选用目标操作系统。新建部署适用于完全新建全栈软硬件的情况。
根据业务应用系统的现行环境或目标环境的部署方式,可以适用不同的替换和迁移策略,并引入相应的业务可用性和连续性特点。例如:
①基于物理机的分布式集群部署方式
当适用CentOS系统利旧迁移的技术设计时,基于分布式集群的负载均衡和冗余机制,可实现割接期间业务应用不中断(或短暂中断),业务应用对外支持性能和容量按比例下降,试运行期间新旧系统同时在线等技术特性。
当适用CentOS系统扩容迁移或新建部署的技术设计时,基于分布式集群的伸缩扩容机制,可实现割接期间业务应用不中断(或短暂中断),业务应用对外支持性能和容量不下降,试运行期间新旧系统同时在线等技术特性。
②基于容器云平台的云原生应用部署方式
基于云原生应用的容器镜像式部署迭代特性,可适用CentOS系统扩容迁移或新建部署的技术设计,通过云原生应用服务的伸缩扩容、灰度发布等机制,结合平台空闲资源,可实现割接期间业务应用不中断,业务应用对外支持性能和容量不下降,试运行期间新旧系统同时在线等技术特性。
具体实践中可以通过自动化工具收集现行目标环境中硬件、操作系统、应用软件和服务器软件等基础信息、参数、配置和运行设定,对照目标操作系统进行迁移的兼容性分析评估,作为技术方案设计的基础,并对其中的偏离项做适应性设计,引入相关工具或人工操作流程。
建议方案设计中涉及的操作过程尽可能适用自动化工具、预定制模板等利于事前复核、事后审核的技术方式方法,同时对操作过程配套必要的日志或数据记录设计,以便测试和实施过程中的问题排查和应急处理。

2.2、测试和验证

此环节将依据拟定的业务应用系统CentOS系统替换和业务迁移方案,在现行开发、测试环境或临时搭建的测试环境中对方案涉及的各个技术过程进行充分测试和验证,明确每个过程的耗时、前置条件、技术关键等细节,以达到查漏补缺和完善的目的。
因此测试环境需尽可能贴近目标环境,测试中应包含以下主要过程:
  • 现行CentOS系统和业务应用、业务数据的备份及还原过程
  • 目标操作系统替换过程
  • 业务应用和数据在目标操作系统上的部署、迁移或恢复过程
  • 业务应用和数据的验证过程
  • 操作系统及业务应用核心指标数据收集过程

2.3、总结和方案完善

此环节将依据CentOS系统替换方案的测试验证结果对测试过程中发现的问题、遗漏等进行梳理,对拟定方案进行增补和完善,并根据总体测试验证结果决定是否排期进行割接,或对修订后的方案进行补充测试和验证。此外还需要对各个技术过程的用时进行评估分析,并再次对照业务可用性和连续性要求,对割接过程相关用时窗口,应急决策机制和检查点设计进行修订。

2.4、割接和验证

此环节将依据CentOS系统替换方案对业务应用系统目标环境中的CentOS系统实施替换割接和验证。割接过程务求严格依照已测试验证过的过程实施。
割接前期准备工作中应着重对各个操作过程和相关输入参数或信息进行复核确认,对适用的自动化工具配置文件、预定制模板等尽可能使用代码级比较工具和人工双重复核。
割接实施阶段需详细记录每个过程中的异常反馈,和排查解决经过,并尽可能收集保全相关日志和数据记录,以便事后分析总结。对每个过程的用时和实施结果需依照应急决策机制进行严格把控,关键检查点时需严格依照实施结果和预定机制进行决策,以保障业务应用可用性和连续性为首要原则。
割接验证阶段应以业务应用可用和业务数据完整性为唯一标准。
割接完成后需及时安排事后的分析总结,并对现行CentOS系统替代方案进行修订,以利于后续推广。

2.5、参与方分工与阶段输出

本阶段各参与方的主要工作分工
本阶段主要输出物
  • 《XX业务应用系统CentOS系统替换和业务迁移方案》
  • 《XX业务应用系统CentOS系统替换和业务迁移测试验证记录》
  • 《XX业务应用系统CentOS系统替换和业务迁移割接实施记录》

3.运行验证和正式上线

此阶段将依据CentOS系统替换方案对业务应用系统中已完成操作系统替换割接的节点、虚拟机、容器(目标环境)施行试运行监测、验证和上线交维等过程。

3.1、试运行监测

此环节将依据CentOS系统替换方案在试运行期内,监测目标环境的运行状态,收集操作系统和业务应用的关键资源利用率和性能指标数据,对照原CentOS系统环境下采集的基线进行分析评估,从而对目标环境的替换效果做进一步评估和验证。
同时还需依据方案对目标环境和现行运维、监控、管理平台的对接效果进行验证,确保目标环境已被正常纳管、异常事件和问题消息可被接收、性能和容量指标可被监控等。

3.2、问题排查和优化

对试运行期内发现的运行状态异常、资源利用率或性能指标偏离等需要建立问题记录,详细记录问题现象、排查过程和处理办法,并尽可能收集相关数据或日志样本。
对操作系统替换和业务迁移操作相关的问题,需要将相应规避或解决操作过程增补更新到CentOS系统替换方案中,以便后续推广使用。
对操作系统或业务应用运维操作相关的问题,需要将相应的规避或解决操作过程和参数变更更新到配置档案和运维手册中,以便后续运维管理。

3.3、手册更新

在正式上线前,应根据目标操作系统的产品特性,并梳理目标环境在割接替换及试运行期间的参数、配置和操作过程,对业务应用系统及操作系统的配置手册、运维操作手册、应急处理手册等进行更新和修订。

3.4、正式上线和运维交付

在试运行期满并且确认目标环境替换效果后,依照替换方案中的试运行决策机制可以确认目标环境正常上线,当前批次的CentOS系统替换和业务迁移完成,并将更新修订后的配置手册、运维操作手册、应急处理手册等交付运维团队。

3.5、参与方分工与阶段输出

本阶段各参与方的主要工作分工
本阶段主要输出物
  • 《XX业务应用系统CentOS操作系统替换和业务迁移试运行报告》
  • 《XX业务应用系统UOS操作系统运维手册》
  • 《XX业务应用系统UOS操作应急处理手册》

案例总结

统信软件参与了有关部门组织的CentOS迁移实践指南编写工作,在大型央国企核心业务系统的CentOS迁移替换试点中,取得了优异的成绩,统信参与的试点项目中,有8个项目获得国家级的卓越奖及先锋奖,包括:
卓越奖:中国联合网络通信有限公司软件研究院迁移项目、中国移动通信集团浙江有限公司迁移项目、国网信息通信产业集团有限公司迁移项目、中国邮政集团迁移项目、中国人寿财产保险股份有限公司;
先锋奖:中国南方航空股份有限公司、平安科技(深圳)有限公司、贵州省农村信用社联合社。
本方案对上述项目实践中遇到的典型场景和常见问题,做一下小节:

1.常见问题

2.典型场景


©统信软件技术有限公司。访问者可将本网站提供的内容或服务用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯本网站及相关权利人的合法权利。除此以外,将本网站任何内容或服务进行转载,须备注:该文档出自【faq.uniontech.com】统信软件知识分享平台。否则统信软件将追究相关版权责任。

2023-02-08
4 75