龙蜥白皮书精选:CentOS 迁移场景的平滑迁移方案

原创
04/03 20:00
阅读数 288

文/周伟涛,Anolis 迁移 SIG Owner

01
概述
操作系统迁移是一个复杂的工程,而在云原生时代,IaaS 与 PaaS 的迁移复杂度更高,且相互影响。因而操作系统迁移不再是一个单机维度的 OS 切换,而是系统性的迁移工程。针对这一痛点,龙蜥社区在支持用户进行操作系统迁移的过程中,逐步沉淀了一套行之有效的迁移方法论,并为 CentOS 用户提供了迁移到 Anolis OS 的迁移系统 AOMS (Anolis OS Migration System) 。 
02
场景挑战
随着各种虚拟化技术,开发语言的繁荣发展,在进行操作系统迁移时会出现多种开发语言,中间件,数据库,虚拟化手段混杂在一起的情况,而平台,业务,产品等不同纬度的诉求也会产生叠加。在这些场景下,操作系统迁移不再是一个单机维度的 OS 切换,而是需要从集群迁移视角来看待,做好全局评估与实施方案,做好灾备,灰度,回滚方案,并结合上层业务调度来进行迁移的系统工程。
03
方案特色

迁移方法论:评估、决策、实施、优化四步迁移法

迁移评估的 5 个维度及其关键的决策信息:

迁移实施也是业务迁移实现平稳交付的关键环节,其阶段详细的流程要经过 实施方案制定、基础设施准备、业务适配改造、迁移试点、迁移批量实施、割接护航 6 大步骤,确保迁移的交付环节可靠和高效。
04
实践验证

AOMS 迁移方案包含如下三个场景:

 CentOS 8 迁移 Anolis OS 8 及 CentOS 7 迁移 Anolis OS 7 场景

Anolis OS 8 在做出差异性开发的同时,在生态上和依赖管理上保持与 CentOS 8 的兼容, AOMS 充分利用了兼容的特性,提供了一键式迁移工具 centos2anolis.py

CentOS 8 迁移使用 Anolis release 相关的包替代 CentOS release ,通过 yum distro-sync 重装当前系统中所有的系统软件包。软件重装的过程并不会修改当前系统基础配置,所以系统配置,业务配置,业务数据都不会被清除,迁移完成后这些数据无需重新设置。

使用迁移脚本前需要注意如下事项:

  • 迁移过程涉及到访问 Anolis OS 的官方 repo ,需要确保待迁移环境网络能够正常访问 Anolis OS repo。

  • 需要使用 root 用户执行,当前只支持 CentOS 8 系统的迁移,不支持 CentOS stream系统迁移。

  • 迁移过程依赖于 yum/dnf ,需要确保组件能够正常运行。迁移脚本提供了 Anolis OS repo 访问加速的功能,如果访问 Anolis OS 官方 repo 速度较慢,可以通过 -s 选项进行加速访问。

  • 迁移日志保存在 /var/log/centos2anolis.log。

 CentOS 7 迁移 Anolis OS 8 场景

CentOS 7 到 Anolis OS 8,无论是内核,基础软件包,工具链都发生了较大的变化。迁移工具需要考虑这些变化带来的兼容性问题。AOMS 提供的迁移工具 leapp 包含了迁移评估,迁移实施,配置还原等步骤,用于实现 CentOS 7 到 Anolis OS 8 的就地迁移。
1、 迁移评估
leapp 扫描待迁移系统,搜集内核,软件包,系统配置基础信息,同时与目标系统( Anolis OS 8 )进行对比分析,对于不兼容项给 出影响分析和解决方案。
  • 内核角度 :给出 Anolis OS 8 中不再支持的内核特性,硬件驱动。
  • 软件角度 :给出系统命令的变更项,提示用户适配业务程序。
迁移评估报告会给出当前系统中所有可能影响到迁移的影响项目,当这些影响项目都被解决后,用户才能够继续做迁移实施。同时 业务程序可根据评估报告中的兼容性提示来适配迁移业务程序。
2、迁移实施

leapp首先搜集当前的系统信息,记录需要在重启后恢复的配置(如 selinux 状态)。迁移实施过程中,工具首先按照当前系统安装 的软件包列表,并根据 CentOS 7 到 Anolis OS 8 的软件包映射关系,从 Anolis OS repo上提前下载迁移所需要的软件包,并基于 Anolis OS 8 的软件包制作 upgrade-initramfs ,在下一次重启后,系统自动进入 upgrade-initramfs,并触发所有软件包的就地升级。在所有的软件包就地升级完成后,自动重启进入系统配置还原阶段,待所有信息完成配置,系统重启进入新的 OS ,完成 OS 的就地迁移。

05
总结

基于龙蜥社区 AOMS 迁移工具,用户可以解决由于 CentOS 停服带来的软件供应链风险,同时大大降低由于操作系统迁移带来的高技术要求、高复杂操作的工程难度,帮助用户快速完成操作系统迁移。

更多龙蜥白皮书精选内容:

【1】面向 DPU 场景的软硬协同协议栈
【2】敏捷开发场景下的调度器热升级 SDK
【3】跨云-边-端的只读文件系统 EROFS
【4】龙蜥全面支持 Intel 第四代可扩展处理器 SPR 平台
【5】面向异构计算的加速器 SDK
【6】基于 SM4 算法的文件加密(fscrypt)实践
相关链接:

Anolis 迁移 SIG 主页:

https://openanolis.cn/sig/migration

更多龙蜥技术特性解析可移步《龙蜥特性百科》:
https://anolis.gitee.io/anolis_features/
2022 龙蜥社区全景白皮书 (或公众号【OpenAnolis龙蜥】回复关键字“白皮书”获取)
https://openanolis.cn/openanoliswhitepaper
—— 完 ——

加入龙蜥社群

加入微信群:添加社区助理-龙蜥社区小龙(微信:openanolis_assis),备注【龙蜥】与你同在;加入钉钉群:扫描下方钉钉群二维码。

往期精彩推荐

1.首批招募 50 家!「龙腾社区生态发展计划」正式发布

2.小龙力荐!人人都可以完成算法代码,简单易上手
3.恭喜!龙蜥社区开发者沙龙圆满落幕 年度优秀贡献者名单正式公布
4.龙蜥白皮书精选:敏捷开发场景下的调度器热升级 SDK

5.活动回顾|龙蜥社区云原生 SIG 首届 MeetUp 圆满落幕 持续打造面向云时代的竞争力

▼ 欢迎点击阅读原文,查看「Anolis 迁移 SIG」主页。

本文分享自微信公众号 - OpenAnolis龙蜥(OpenAnolis)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部