CentOS官方已计划停止维护CentOS 7、CentOS 8等Linux项目,如果您的操作系统后续想得到维护和技术支持,需要将CentOS操作系统迁移到其他Linux LTS发行版。本文介绍如何通过SMC将x86和arm64架构的CentOS 7/8操作系统平滑迁移至Alibaba Cloud Linux和龙蜥操作系统(Anolis OS)。
前提条件
- 已完成迁移前准备工作。具体操作,请参见准备工作(迁移前必读)
- 已将源操作系统信息导入SMC控制台。具体操作,请参见导入迁移源。
- 迁移源为在线状态。如果迁移源为其他状态,将无法新建迁移任务。修复迁移源状态,请参见迁移源为非在线状态时,无法创建迁移任务怎么办。
迁移方案对比
操作系统迁移方案的对比如下表所示。
迁移方案 | 易用性 | 可靠性 | 服务 | 迁移后结果 |
---|---|---|---|---|
SMC操作系统迁移(推荐) | ★★★★★
| ★★★★★ 无需手动快照,自动快照保障 | ★★★★★ 接入阿里云智能全球技术服务部GTS(Global Technology Services)服务体系,成熟流程帮助用户解决问题 | ★★★★★
|
ECS控制台更换操作系统 | ★★★★ 白屏化操作 | ★★★★ 需手动创建快照 | ★★★★★ 接入阿里云智能全球技术服务部GTS(Global Technology Services)服务体系,成熟流程帮助用户解决问题 | ★★★
|
ECS内执行迁移脚本 | ★★★
| ★★★ 需手动创建快照 | ★★★ 迁移方案社区支持 | ★★★
|
迁移场景
支持将以下x86和Arm64架构的源操作系统迁移到目标操作系统:
操作系统架构 | 源操作系统 | 目标操作系统 |
---|---|---|
x86 | CentOS 7 |
|
CentOS 8 |
| |
arm64 | CentOS 7 |
|
CentOS 8 |
|
重要
- 待迁移的操作系统必须为当前阿里云账号下云服务器ECS中的操作系统。
- Alibaba Cloud Linux 2/3不支持图形化界面,您可以将带图形化桌面的CentOS迁移到Anolis OS。
迁移前须知
- 迁移过程中系统会对云服务器ECS执行创建普通云盘快照、重新安装软件包、创建系统盘自定义镜像、 更换系统盘 、停止、启动等操作。其中更换系统盘操作会重建系统盘云盘,原来随云盘释放的自动快照也会被删除且无法恢复。建议您对重要数据做好备份并合理安排迁移时间,避免因上述操作对业务造成影响。
- 迁移过程中请勿人工或通过运维脚本对ECS云服务器执行停止、重启、释放等操作。
- 迁移过程中对全部云盘创建快照以备份数据,快照以按量付费方式收取一定费用。关于快照计费的更多信息,请参见快照计费。
- 操作系统的迁移操作不可逆,其中涉及到重新安装系统内的软件包。因此您需要在迁移前为ECS实例创建快照备份数据。关于快照的更多信息,请参见快照概述。
- 迁移过程依赖于yum或者dnf,需确保这两个组件能够正常运行。
迁移限制
- Anolis OS和Alibaba Cloud Linux系统不提供i686架构的软件包,如您系统上安装了CentOS的i386(包括i686)架构的软件包,则无法正常迁移。
- CentOS 7迁移至Alibaba Cloud Linux 2限制说明
- Alibaba Cloud Linux 2使用4.19内核,CentOS 7使用3.10内核,两个版本的内核无法相互兼容,依赖于内核接口编程的业务,例如涉及内核OOT模块开发、硬件使能等,需提前做好评估,明确是否适合直接迁移,以免OS迁移后业务无法运行。
- Alibaba Cloud Linux 2不支持图形化界面,因此迁移工具不支持迁移已配置图形化界面的CentOS 7操作系统。
- CentOS 8迁移至Alibaba Cloud Linux 3限制说明Alibaba Cloud Linux 3选用Linux kernel 5.10 LTS作为Alibaba Cloud Linux 3的内核,并选用GCC 10.2、binutils 2.35、glibc 2.32作为基础工具链。在软件包生态上与CentOS 8兼容。当您在使用本文介绍的操作系统迁移工具将CentOS 8迁移为Alibaba Cloud Linux 3时,工具会对待迁移的操作系统进行基础判断。因此您需要注意以下操作系统相关特性或软件的迁移限制:
特性或软件 支持情况 是否影响操作系统迁移流程 说明 图形化界面 不支持 是 Alibaba Cloud Linux 3不支持图形化界面,因此迁移工具不支持迁移已配置图形化界面的CentOS 8操作系统。 i386架构的软件包 不支持 是 Alibaba Cloud Linux 3不提供i386(包括i686)架构的软件包。如果您当前使用的CentOS 8系统内带有i386架构的软件包,则不支持使用迁移工具迁移操作系统。您需要先删除这些软件包,然后再进行迁移操作,以免迁移时系统发生异常。 epel-modular 不支持 否 CentOS 8中EPEL源所依赖的platform与Alibaba Cloud Linux 3不同。因此,您可以迁移操作系统,但需要注意迁移后无法安装基于epel-modular的软件包。 C/C++语言程序兼容性 不保证 否 Alibaba Cloud Linux 3选用GCC 10.2、binutils 2.35、glibc 2.32作为基础工具链,且系统自身的软件包已经做了兼容性处理。操作系统迁移后,建议您基于新的基础工具链重新对您的C/C++语言程序进行编译验证,避免出现兼容性问题。 内核模块兼容性 不支持 否 Alibaba Cloud Linux 3选用Linux kernel 5.10 LTS作为内核,在软件包生态上与CentOS 8兼容,但您需要注意,Alibaba Cloud Linux 3无法完全兼容CentOS 8的4.18内核。因此,依赖于内核接口编程的业务(例如内核OOT模块开发、硬件使能等业务场景),您需要在迁移前自行做好迁移评估,避免迁移后业务无法正常运行。 MySQL数据库 仅支持向同版本或更高版本的MySQL迁移 - 如果向同版本或更高版本的MySQL迁移则不影响
- 如果向低版本的MySQL迁移则影响
Alibaba Cloud Linux 3支持MySQL数据库,但您需要注意,由于MySQL不支持降低版本,当Alibaba Cloud Linux 3提供的MySQL版本低于待迁移的CentOS 8内的MySQL版本时,不支持使用迁移工具完成操作系统迁移。 操作系统热迁移 不支持 否 使用操作系统工具迁移操作系统时涉及软件包的重新安装,会引起系统内服务重启,进而造成业务中断。因此,您在迁移前需要做好数据备份(具体操作请参见快照概述)并隔离待迁移的操作系统环境,避免影响正常业务。 操作系统迁移工具在迁移过程中涉及软件包的下载与安装,会产生一定的资源消耗。因此,迁移前您需要确保实例内保留了以下可用的资源容量:- 内存大小:300 MiB
- 云盘容量:
- /usr目录需要250 MiB
- /var目录需要1.5 GiB
- /boot目录需要50 MiB
说明 如果您的实例对应的计算资源(vCPU与内存)、存储资源(系统盘与数据盘)较小,建议您停止实例内的业务再进行操作系统迁移,避免因资源不足而迁移失败。