本文中含有需要您注意的重要提示信息,忽略该信息可能对您的业务造成影响,请务必仔细阅读。
若您的操作系统因生命周期结束等原因进入EOL阶段或需要将操作系统迁移至其他版本以满足业务需求,您可以通过服务器迁移中心在保留ECS实例系统盘数据的同时完成操作系统迁移。本文主要介绍如何通过SMC迁移CentOS 7/8、RedHat 7/8及Alibaba Cloud Linux 2。
通过SMC将CentOS 7/8迁移至RedHat 7/8目前仅对部分用户开放,如果您想体验此功能,可以提交工单进行申请。
背景信息
当您的ECS实例的操作系统进入操作系统生命周期概述的生命周期结束阶段(End of Life,EOL)时,您可能会面临更高的安全与使用风险,此时建议尽快更换已经处于EOL阶段的操作系统。服务器迁移中心(Server Migration Center,简称SMC)的操作系统迁移功能提供了部分迁移方案,迁移后操作系统内核版本及主要系统软件包会进行原地转换升级,同时保留系统盘数据。
如果您不需要保留系统盘数据,或有更多的操作系统转换选项需求时,您可以通过更换系统盘方式更换操作系统
迁移方案
CentOS 7/8
操作系统架构 | 源操作系统 | 目标操作系统 |
X86 | CentOS 7.x |
|
CentOS 8.x |
| |
ARM64 | CentOS 7.x |
|
CentOS 8.x |
|
RedHat 7/8
操作系统架构 | 源操作系统 | 目标操作系统 |
x86 | RedHat 7.9 |
|
RedHat 8.x |
|
Alibaba Cloud Linux 2
操作系统架构 | 源操作系统 | 目标操作系统 |
x86 | Alibaba Cloud Linux 2 | Alibaba Cloud Linux 3 |
迁移限制
限制类别 | 限制说明 |
通用限制 |
|
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时,工具会对待迁移的操作系统进行基础判断。 |
同时,您还需要注意以下操作系统相关特性或软件的迁移限制:
特性或软件 | 支持情况 | 是否影响操作系统迁移流程 | 说明 |
i386架构的软件包 | 不支持 | 是 | Alibaba Cloud Linux不提供i386架构的软件包。如果您当前使用的CentOS 7/8系统内带有i386架构的软件包,则不支持使用迁移工具迁移操作系统。您需要先删除这些软件包,然后再进行迁移操作,以免迁移时系统发生异常。 |
epel-modular | 不支持 | 否 | CentOS 7/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 7的3.10内核和CentOS 8的4.18内核。因此,依赖于内核接口编程的业务(例如内核OOT模块开发、硬件使能等业务场景),您需要在迁移前自行做好迁移评估,避免迁移后业务无法正常运行。 |
MySQL数据库 | 仅支持向同版本或更高版本的MySQL迁移 |
| Alibaba Cloud Linux 3支持MySQL数据库,但您需要注意,由于MySQL不支持降低版本,当Alibaba Cloud Linux 3提供的MySQL版本低于待迁移的CentOS 7/8内的MySQL版本时,不支持使用迁移工具完成操作系统迁移。 |
操作系统热迁移 | 不支持 | 否 | 使用操作系统工具迁移操作系统时涉及软件包的重新安装,会引起系统内服务重启,进而造成业务中断。因此,您需要在迁移前创建快照做好数据备份并隔离待迁移的操作系统环境,避免影响正常业务。 |
迁移注意事项
请您在操作系统迁移前务必了解以下事项。
迁移过程 | 注意事项 |
迁移前 | |
迁移中 |
|
迁移后 |
|
计费说明
迁移过程中系统会对ECS实例的全部云盘创建快照以备份数据,快照以按量付费方式收取一定费用。更多信息,请参见产品计费。
迁移操作
迁移过程中系统会对ECS实例的全部云盘创建快照备份数据,创建的快照将以按量付费方式收取一定费用。更多信息,请参见产品计费。
操作系统迁移。
快速迁移(推荐)
说明如果您的实例是在2017年12月01日之前购买,或通过自行上传的自定义镜像创建,或是第三方云服务器,若需使用此方式,则需为该ECS实例安装云助手Agent。2017年12月01日之后使用公共镜像创建的ECS实例,已默认预装了使用此方式所需的云助手Agent,无需关注此条说明。
在操作系统迁移页面,单击开始迁移。
在弹出的操作系统迁移对话框中,通过实例ID、地域确定并选择待迁移的ECS实例后,单击前置检测。
在弹出的操作系统迁移对话框中,系统自动进行操作系统迁移前置检查,大约需要10s,请您耐心等待。
当前置检测状态由
变为
,表示前置检查通过。
当前置检测状态由
变为
,表示前置检查不通过,您可以根据界面提示修复问题后重新迁移。
仔细阅读操作系统迁移注意事项后,选中我已知晓以上风险,同意并授权阿里云为该实例的全部云盘创建快照,并单击下一步。
在弹出的操作系统迁移对话框中,按需选择目标操作系统。
统一迁移至同一目标操作系统:如果执行批量迁移,您可以将不同实例统一迁移至同一个操作系统。
按实例选择目标操作系统:如果执行批量迁移,您可以按需将不同实例迁移至不同的操作系统。
单击检测是否可迁移,查看迁移检测结果。
检测大约需要30s,请您耐心等待。
:表示操作系统可以迁移。
:表示不支持迁移。您可以根据界面提示,查看不支持迁移的原因。
单击确定迁移。
您可以在操作系统迁移页面,查看操作系统迁移的进度。
警告在操作系统迁移的过程中,请勿人工或通过运维脚本对ECS实例执行停止、重启、释放等操作,否则会导致操作系统迁移失败。
分步迁移
步骤一:导入迁移源
迁移源指您准备迁移的IDC服务器、虚拟机、其他云平台的云主机或阿里云ECS云服务器。SMC支持多种导入迁移源方式,您可以按需选择对应的迁移源方式。
命令行一键导入迁移源(推荐)
重要源服务器需要具备公网访问能力。如果源服务器存在防火墙限制,请参见SMC服务域名有哪些,获取SMC域名和端口,并添加至防火墙白名单。
如果您的源服务器无法访问公网或想通过私网传输提升迁移效率,请参考私网传输迁移方案。
在操作系统迁移页面,单击导入迁移源。
根据界面提示配置参数并复制激活码命令,关于参数的说明,具体如下表所示。
参数
说明
迁移源类型
选择阿里云ECS云服务器。
导入方式
选中命令行导入。
激活数额度
激活码可激活的迁移源数量。取值范围为1~1000 ,默认为200。
有效期
激活码的有效期。取值范围为1~90天,默认为90天。
激活码
生成激活码后,复制命令。操作步骤如下:
单击生成激活码。
单击Linux Shell页签。
单击复制,复制激活码命令。
登录源服务器,使用管理员权限粘贴并运行复制的命令,执行导入迁移源的操作。
登录Linux源服务器。
使用管理员权限粘贴并运行复制的命令,执行导入迁移源的操作。
执行命令后,出现类似
Import Source Server [s-bp18x8751kgz2oyh****] Successfully!
回显信息,表示导入迁移源成功。
在SMC控制台的操作系统迁移页面的迁移实时状态列,查看迁移源的状态。
通过SMC客户端导入迁移源
关于SMC客户端的更多信息,请参见SMC客户端使用指南。
在操作系统迁移页面,单击导入迁移源。
在导入迁移源页面,配置相关参数,参数说明如下表所示。
参数
说明
迁移源类型
阿里云ECS云服务器
导入方式
选中客户端导入。
导入说明
在导入说明后,请根据源服务器操作系统(Linux和Windows)和位数(32位和64位),下载对应的SMC客户端。
导入迁移源。
重要迁移过程中请勿关闭SMC客户端。否则迁移源将与SMC控制台失联,导致迁移失败。
使用支持文件传输的远程连接工具(如WinSCP)将获取的SMC客户端上传至Linux源服务器。
远程连接Linux源服务器并解压SMC客户端压缩包。
本示例以
Linux 64位通用版
为例,如果使用其他版本SMC客户端,请将命令中的压缩包名称需要替换为实际下载的文件名。tar -zxvf go2aliyun_client.tar.gz
说明Linux 64位ARM版支持的实例规格族为通用型实例规格族g6r和计算型实例规格族c6r。更多实例规格信息,请参见企业级ARM计算规格族群。
(可选)您可按需过滤、排除不需要迁移的文件或目录。
重要如果开启块复制功能迁移,则不支持排除不迁移的文件或目录。
获取激活码或者访问密钥(AccessKey)。
(推荐)获取激活码:在SMC控制台的导入说明中,单击生成激活码并复制激活码信息。
获取访问密钥(AccessKey):阿里云账号的访问密钥AccessKey包括AccessKey ID和AccessKey Secret,如果您未创建,请先创建。具体操作,请参见创建AccessKey。
在SMC客户端文件夹下,执行以下命令,运行SMC客户端。
cd go2aliyun_client_linux_x86_64 sudo chmod +x go2aliyun_client sudo ./go2aliyun_client
根据提示信息,输入激活码或者访问密钥(AccessKey)。本示例以输入激活码为例:
输入激活码或者访问密钥后,可能会出现以下提示信息:
若迁移源系统没有安装快照驱动,则SMC客户端会提示,具体如下图所示,您可根据需求选择是否安装快照驱动。
如果在创建迁移任务时启用块复制,则输入
yes
,自动安装快照驱动。如果在创建迁移任务时不启用块复制,则输入
no
即可。
重要如果安装快照驱动失败,请勿在创建迁移任务时启用块复制,否则会导致迁移失败。
多数主流迁移源系统已默认安装rsync。若没有安装,则SMC客户端会提示,请输入
yes
自动安装rsync,如下图所示。若迁移源系统的SELinux处于开启状态,则SMC客户端会提示您关闭。请输入
yes
自动关闭SELinux,如下图所示。
在SMC控制台的操作系统迁移页面的迁移实时状态列,查看迁移源的状态。
步骤二:迁移配置
在目标迁移源的操作列,单击开始迁移。
在弹出的迁移配置对话框中,配置参数信息。
操作系统迁移参数配置说明如下所示:
当前操作系统:默认显示当前操作系统,不可修改。例如:CentOS 7。
目标操作系统:在下拉列表中选择目标操作系统。例如:Alibaba Cloud Linux 3。
迁移演练(可选项):
根据需要来决定是否开启迁移演练,默认开启。目前仅支持Linux操作系统迁移。更多信息,请参见配置迁移演练。
说明迁移演练是在实际迁移前对迁移方案进行模拟和验证的过程。它可以帮助用户在实际迁移前充分了解迁移方案的可行性和风险,从而减少实际迁移中可能出现的问题和损失。
迁移演练可以帮助您快速发现迁移中存在的潜在问题,并提供修复方案,提升迁移成功率。
执行方式(条件必选):
若迁移演练开启时,可在执行方式选项中,更换所需的迁移演练执行方式。默认选项是演练并迁移。
两种方式的区别如下:
仅演练:仅创建迁移演练任务,迁移演练完成后,如果需要操作系统迁移,需要手动启动操作系统迁移任务。
演练并迁移:迁移演练完成后,如果不存在状态为严重的演练项,系统自动启动操作系统迁移任务。
单击开始迁移,在弹出的操作系统迁移请确认对话框中,仔细阅读注意事项后,单击我确认我已知晓。
在操作系统迁移页面,查看迁移实时状态。
警告在操作系统迁移的过程中,请勿人工或通过运维脚本对该Linux实例执行停止、重启、释放等操作,否则会导致操作系统迁移失败。
验证迁移结果
资源清理
迁移时,SMC会对ECS实例的云盘创建名称为SMC_Backup_Snapshot_XXX
的按量付费快照,用于备份数据。如果您不再需要此快照,请及时删除快照,避免不必要的扣费。具体操作,请参见删除快照。