操作系统因生命周期、第三方支持、开源计划演进等原因将会停止技术支持,例如CentOS官方将停止维护CentOS 7/CentOS 8等Linux项目,这些进入到停止维护周期(EOL)的操作系统版本将面临更大的安全漏洞威胁。如果您的ECS实例操作系统满足SMC操作系统迁移条件,可通过SMC平滑迁移到新的操作系统版本,以得到更长的维护周期和技术支持。本文介绍如何通过SMC进行操作系统的迁移及升级。
重要通过SMC将CentOS 7/8迁移至RedHat 7/8目前仅对部分用户开放,如果您想体验此功能,可以提交工单进行申请。
迁移场景
支持将以下X86和ARM64架构的源操作系统迁移到目标操作系统:
| 操作系统架构 | 源操作系统 | 目标操作系统 | 
| X86 | CentOS 7 | 
 | 
| CentOS 8 | 
 | |
| 
 | Alibaba Cloud Linux 3 | |
| Alibaba Cloud Linux 2 | Alibaba Cloud Linux 3 | |
| ARM64 | CentOS 7 | 
 | 
| CentOS 8 | 
 | 
待迁移的操作系统必须为当前阿里云账号下云服务器ECS中的操作系统。
迁移前须知
- 警告 - 在迁移前,强烈建议您预先在目标操作系统环境下完成所有业务应用程序的全面测试验证,以确保应用程序与目标操作系统之间的兼容性及性能表现,从而有效避免迁移后可能出现的业务运行不畅或功能失效等问题。 
- 迁移过程中系统会对ECS实例执行创建普通云盘快照、重新安装软件包、创建系统盘自定义镜像、更换系统盘、停止、启动等操作。建议您对重要数据做好备份并合理安排迁移时间,避免因上述操作对业务造成影响。 
- 迁移演练或取消迁移过程可能会自动回滚到迁移前的快照,迁移期间产生的数据将丢失,迁移任务未结束前请勿正式使用ECS云服务器。 
- 迁移升级前和迁移过程中,会对源实例进行迁移条件检测及迁移预评估,如果源系统不满足迁移条件或迁移预评估失败,迁移会出错中断,并不能保证一定能迁移升级成功,建议您提前熟悉迁移条件限制及出错排查文档并进行测试。 
- 迁移升级过程中,源实例系统会被安装或更新系统内核及软件包,并自动重启多次,期间业务无法正常运行,建议评估影响暂停业务后再进行操作,同时在正常迁移过程中不要操作使用源实例系统。 
计费
迁移过程中系统会对ECS实例的全部云盘创建快照以备份数据,快照以按量付费方式收取一定费用。更多信息,请参见产品计费。
迁移限制
| 限制类别 | 限制说明 | 
| 通用限制 | 
 | 
| CentOS 7迁移至Alibaba Cloud Linux 2 | Alibaba Cloud Linux 2使用4.19内核,CentOS 7使用3.10内核,两个版本的内核无法相互兼容。对于依赖于内核接口编程的业务,例如涉及内核OOT模块开发、硬件使能等,需要提前做好评估,明确是否适合直接迁移,以免操作系统迁移后业务无法运行。 | 
| CentOS 7迁移至Alibaba Cloud Linux 3 | CentOS 7使用3.10内核,Alibaba Cloud Linux 3选用Linux kernel 5.10 LTS作为Alibaba Cloud Linux 3的内核,并选用GCC 10.2、binutils 2.35、glibc 2.32作为基础工具链。两个版本的内核无法相互兼容,依赖于内核接口编程的业务,例如涉及内核OOT模块开发、硬件使能等,需提前做好评估,明确是否适合直接迁移,以免操作系统迁移后业务无法正常运行。 | 
| 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时,工具会对待迁移的操作系统进行基础判断。 | 
前提条件
- 已完成迁移前准备工作。具体操作,请参见迁移前准备。 
- 待迁移ECS实例需为VPC网络实例。如果是经典网络实例,需先迁移到VPC网络环境。具体操作,请参见ECS实例从经典网络迁移到专有网络。 
- 已对源系统和数据做快照进行备份,必要时可恢复。具体操作,请参见创建快照。 - 重要 - 迁移会对操作系统内核、软件包、配置等进行修改,修改不可逆。 
- 迁移过程依赖于yum或者dnf,需确保这两个组件能够正常运行。 
- 迁移后原系统盘会被释放,且关联的快照默认也会被释放,如果您需要保留此快照,您可以手动取消自动快照随云盘释放。具体操作,请参见设置自动快照随云盘释放。 
- 如果您需要迁移CentOS 7/8至RedHat 7/8,则需要确保源系统可访问以下公网: 
- https://www.redhat.com 
- https://ftp.redhat.com 
- https://cdn-public.redhat.com 
- https://developer.aliyun.com 
- http://developer.aliyun.com 
迁移操作
- (条件必选)如果您需要迁移CentOS 7/8至RedHat 7/8,则必须完成以下操作,否则请跳过此步骤。 
- 操作系统迁移。 - 快速迁移(推荐)分步迁移 - 说明 - 使用此方式需要满足以下条件: 
- 地域:华东一(杭州) 
- 实例ID/名称:i-2ze4looqfx****/test 
- 需要授予RAM用户只读访问RAM权限 - AliyunRAMReadOnlyAccess。具体操作,请参见为RAM用户授权。
- 需要为RAM用户授予云助手管理权限 - AliyunECSAssistantFullAccess。具体操作,请参见访问控制RAM介绍。
- 源服务器(即源ECS实例)需要具备公网访问能力。 
- 源服务器需已安装云助手Agent(2017年12月01日之后使用公共镜像创建的ECS实例,默认预装了云助手Agent)。 
- 如果您使用RAM用户导入迁移源,则需要为RAM用户授权: 
- 登录SMC控制台。 
- 在左侧导航栏,选择云上迁移 > 操作系统迁移。 
- 在页面左上角,单击升级操作系统。 
- 在弹出的升级操作系统对话框中,配置参数。 - 参数 - 说明 - 示例 - 选择迁移源 - 在下拉列表分别选择待迁操作系统所在ECS实例的地域和实例ID/名称。 - 当前操作系统 - 默认显示当前操作系统,不可修改。 - CentOS 7 - 目标操作系统 - 在下拉列表中选择目标操作系统。 - Alibaba Cloud Linux 3 
- 选中我已知晓以上风险,同意并授权阿里云为该实例的全部云盘创建快照后,单击创建。 
- 在弹出的操作系统迁移请确认对话框中,仔细阅读注意事项后,单击我确认我已知晓。 
- 在创建迁移任务对话框中,单击立即查看,等待迁移任务完成。 - 警告 - 在操作系统迁移的过程中,请勿人工或通过运维脚本对Windows实例执行停止、重启、释放等操作,否则会导致操作系统迁移失败。 
验证迁移结果
- 当迁移实时状态为出错时,表示迁移任务出错。 
资源清理
迁移时,SMC会对ECS实例的云盘创建2块名称为SMC_Backup_Snapshot_XXX和SMC_Transition_Snapshot_XXX的按量付费快照,用于备份和中转数据。您需要根据迁移是否成功选择是否需要手动清理该快照:
- 迁移成功:快照会自动释放,您无需手动清理。 
- 迁移出错:快照会随迁移任务一直存在并产生费用。您可以选择以下方式释放快照,避免不必要的扣费: 
- 如果您已确认不再使用该迁移任务,在操作列选择  > 删除,通过删除迁移任务自动删除快照。 > 删除,通过删除迁移任务自动删除快照。
- 手动删除快照。具体操作,请参见删除快照。 


 
                             
                                        