阿里云操作系统迁移最佳实践
内容分析:
1. 操作系统生命周期
2. 操作系统迁移方案
3. 操作系统迁移流程
4. 操作系统迁移评估
5. 一站式迁移运维平台SysOM
6. SMC操作系统迁移实践
01.操作系统生命周期
每一款操作系统都有自己的生命周期。随着 CentOS 操作系统的 UOL 大量用户面临着存量操作系统的替换和未来操作系统选型迁移方面的困扰或者一些计划上的工作需要去做。面对这样的问题,龙溪社区在 Anolis 操作系统有超长时间的服务支持。基于龙溪操作系统衍生出来的云上 Alibaba Cloud Linux 也具有技术保障的生命周期支持。
可以看到 CentOS 在服务器领域具有大量的市场占比。随着国产化的需求 UOL 面临的问题已经有大部分用户在龙溪社区助力下,用户逐渐选择了龙溪操作系统和阿里巴巴操作系统。
02.操作系统迁移方案
随着用户的迁移,龙溪社区龙骑社区推出了相应的操作系统迁移方案。其中之一是一种是轮转迁移的方式,另一种是原地迁移的方式。
2.1轮转迁移
轮转迁移适用于集群的用户,如运行一些容器或者有节点管理能力的场景下进行跨版本的 OS 升级迁移。对这个操作系统的部署的应用形态不太一样。轮转迁移更适合用户重新部署的场景。一个节点上线,一个节点下线,具有编排布局能力。
2.2原地迁移
原地迁移适用于用户不太需要集群管理能力的场景,需要单台机器保持应用不变的需求。原地迁移就是在单台机器上直接原地实现了操作系统的更换升级。
操作系统迁移方案有事前、事中、事后三个主要的阶段。事前需要进行系统的分析,分析阶段要收集环境的一些信息,进行如兼容性判断、升级应用的稳定程度、应用的支持情况进行评估判断。事中主要进行备份,升级方案的制定、升级的测试和演练、实施迁移。事后进行业务的迁移保证整体系统能够平滑顺利的迁移。
03.操作系统迁移流程
基于不断的积累和总结形成了这样一套操作系统迁移流程。首先是进行环境的摸排,就是收集到用户环境上的这些操作系统的关键信息,如内核、软件包的安装、不同的客户关键配置信息。收集到资源之后借助兼容性分析工具和系统差异对比工具进行评估分析,分析原操作系统和目标操作系统之间的差异,给出评估分析结果,进而给一些建议。如果客户要继续进行迁移,需要做如兼容性适配的内容或者有一些需要客户注意的内容再给出评估报告评估结果。客户根据评估报告的评估结果,把一些不满足迁移条件的内容进行适配改造接下来进行迁移实施步骤。在迁移实施的步骤里有一个迁移验证的过程。迁移验证完成之后进行迁移的实施步骤。迁移实施的流程走完之后,如果过程中有任何问题,还可以根据之前的备份进行资源还原。
04.操作系统迁移评估
迁移评估流程有一套自己的兼容性评估工具。兼容性评估工具在迁移评估流程中会提前收集目标操作系统的数据,将这些数据保存在数据库里,每次迁移前会对原操作系统的信息进行采集。把原操作系统的信息和目标操作系统上的关键信息进行比对。比对之后出具系统评估报告、软硬件评估报告、应用依赖评估报告、兼容性评估报告。根据这些信息,用户可以知道在操作系统迁移过程中原操作系统和目标操作系统具体有哪些差异、应用是否需要改造、还有操作系统这些差异会带来哪些影响。这是操作系统迁移过程中评估的一个关键节点。
05.一站式迁移运维平台SysOM
基于一站式运维迁移平台 SysOM 。在 SysOM 平台上有操作系统迁移专门的板块。这个版块里包含了迁移评估和迁移实施两个步骤。迁移评估会对目标操作系统的目标节点上的操作系统进行一些具体的评估,评估过后会出具一个查看报告。通过这个报告看完之后,解决了不满足迁移条件的一些问题之后就可以继续进行下一部分操作系统升级迁移的实施步骤。
操作系统迁移评估报告分为四类,无风险、高风险、中风险和低风险。客户根据迁移报告的高风险的告知项、中风险的告知项都需要去客户去了解,操作系统之间的差异、迁移到目标操作系统有哪些需要调整的地方。迁移评估里面有系统配置的评估,包含操作系统上一些关键配置项的差异评估,还包含了硬件评估和软件评估。在龙溪社区里面有相关的软件兼容性和硬件兼容性相关列表。这些列表里面支持的软件和硬件都会和评估结果进行对比查看匹配和支持程度。这个生态也在不断的丰富扩大。应用的评估支持对 RPM 包和和用户的二进制的应用分析。分析 KBI、ABI 的一些信息,看版本迭代之后两个版本之间的差异、是否兼容。在一站式运维平台上还可以进行操作系统迁移之后系统信息的参数调优,保证从原操作系统迁移到目标操作系统之后,有操作系统的一致性的体验。
06.SMC操作系统迁移实践
针对云上用户推出了操作系统迁移产品。 SMC 是服务器迁移平台。操作系统迁移功能支持了以下场景,主要针对 CentOS 78 和操作系统的版本升级,升级到 Anolis 操作系统和 Alibaba Cloud Linux 操作系统各个版本之间的迭代升级都是支持的。支持的原地迁移的方案,具有以下四个方面的特点。白屏化的操作,客户在控制台上只需要进行一些评估和任务的创建就可以看到自动化的迁移流程。对用户来说,界面易用无需手动快照,能够保证迁移过程的安全性。有可靠的服务保障,接入了阿里云的 GTS 服务,背后有客户专家的支持。体验一致就是从原系统迁到目标系统之后系统显示版本一致,跨版本的适配,会有建议、提示,系统盘的数据是保留下来的,不影响客户的数据盘的内容。
在 SMC 操作系统迁移的流程,主要有以下3个步骤。导入迁移源,然后进行实例条件评估、系统版本、实例规格、云助手,还有工迁移工具的部署。迁移演练这部分很关键,用户可以对自己的实例进行评估、验证,满足迁移的条件之后可以放心可靠安全的进行最后的正式迁移的实施,演练的任务也具有评估和报告的分析。正式实施阶段会进行系统自动备份、自动实施迁移。整个迁移流程结果是可追溯的。迁移后的验证会在迁移完成之后验证迁移的结果。如果迁移过程中遇到失败的问题会对快照进行回滚。
针对云上实例的一些操作系统迁移方面步骤从控制台上就可以进行选择轮转更换操作系统的方式或者原地迁移的操作性迁移方式。选择之后进行评估,初步的评估验证之后创建一个操作,选择目标操作系统类型进行任务的创建。创建任务之后等任务自动化的流程完成,就可以看到这个流程的报告、进度等内容。针对龙溪社区的自动化迁移能力,孵化到云上操作系统迁移的能力。
今天主要分享就是这些,欢迎大家在龙溪社区继续提供软件兼容性或者硬件兼容性方面的一些共建。大家可以提出一些问题或者进行探讨。我们也会把龙溪社区的这些能力不断逐渐优化迭代扩大,把迁移的兼容性、安全性做的更好。我的分享就是这么多,谢谢大家。