SMC支持多种Windows以及Linux操作系统版本,您可以将自建IDC机房、本地虚拟机或者其他云厂商等环境中的源服务器迁移至阿里云。本文介绍迁移源服务器前的准备工作,以及如何使用SMC迁移源服务器至阿里云。
背景信息
此外,阿里云ECS实例之间也支持使用SMC进行服务器迁移。具体操作,请参见阿里云ECS实例间迁移。
Windows系统迁移前准备工作
- 创建快照以备份数据。
- 确保系统时间与所在地域的标准时间一致。
- 确保源服务器可以访问以下网址或服务器端口:
- 服务器迁移中心SMC的接入地址以及端口号:
https://smc.aliyuncs.com:443
。 - 迁移过程中,数据传输需要访问中转实例的8080端口以及8703端口。
说明 迁移过程中,SMC自动创建、启动、停止和释放中转实例(实例名称默认为
No_Delete_SMC_Transition_Instance
)。中转实例的默认安全组在入方向开放了8080和8703端口,这是中转实例的迁移服务端口。
- 服务器迁移中心SMC的接入地址以及端口号:
- 检查并确保Windows系统VSS服务为启动状态。
- 检查是否安装了QEMU Guest Agent软件。如果安装了此软件,您需要先卸载。具体操作,请参见Windows服务器卡在Prepare For Rsync Disk 0阶段,怎么办?。
- 检查授权应用。源服务器迁移到阿里云后,系统底层硬件设备会发生变化,可能会导致一些跟硬件绑定的应用许可证(License)失效,您需要做好检查。
- 您还需要根据源服务器所处的环境不同,进行针对性检查。具体说明如下:
- 如果您待迁移的源服务器为物理机,则需要检查虚拟化应用。阿里云的普通ECS实例不支持嵌套虚拟化软件,因此不再支持VMware Workstation、Virtual Box或者Hyper-V等只能在物理机环境使用的虚拟机软件。
- 如果您待迁移的源服务器为AWS、Azure或者Google Cloud等云服务器,则需要检查网络环境。
- 如果是跨国际地域,由于网络环境较不稳定,具体操作,请参见跨国际地域迁移的操作步骤。
- 如果您的网络可以打通VPC内网,建议在创建迁移任务时网络模式选择内网传输。使用内网传输能获得比通过公网更快速更稳定的数据传输效果,提高迁移工作效率。
- 如果您待迁移的源服务器为中国或中国内地某云平台ECS Windows系统,则需要检查系统中是否安装了QEMU Guest Agent VSS Provider服务。
如果已安装该服务,您可以尝试在类似于C:\Program Files (x86)\virtio\monitor的目录下找到并执行uninstall.bat脚本,卸载QEMU Guest Agent软件。
Linux系统迁移前准备工作
- 创建快照以备份数据。
- 确保系统时间与所在地域的标准时间一致。
- 确保源服务器可以访问以下网址或服务器端口:
- 服务器迁移中心SMC的接入地址以及端口号:
https://smc.aliyuncs.com:443
。 - 迁移过程中,数据传输需要访问中转实例的8080端口以及8703端口。
说明 迁移过程中,SMC自动创建、启动、停止和释放中转实例(实例名称默认为
No_Delete_SMC_Transition_Instance
)。中转实例的默认安全组在入方向开放了8080和8703端口,这是中转实例的迁移服务端口。
- 服务器迁移中心SMC的接入地址以及端口号:
- 检查SELinux。对于CentOS/Red Hat系列内核系统,一般需要检查SELinux服务是否禁用或关闭。如果没有关闭,您可以采用下列方法之一将其关闭。
- 运行setenforce 0命令临时将其关闭。
- 修改/etc/selinux/config文件,配置
SELINUX=disabled
永久禁用SELinux。具体操作,请参见开启或关闭SELinux。
- 检查GRUB引导程序。部分低内核系统(如CentOS、Red Hat 5和Debian 7)以及Amazon Linux系列系统需要升级GRUB至2.02及以上版本。具体操作,请参见如何为Linux服务器安装GRUB?。
- 检查授权应用。源服务器迁移到阿里云后,系统底层硬件设备会发生变化,可能会导致一些跟硬件绑定的应用许可证(License)失效,您需要做好检查。
- 您还需要根据源服务器所处的环境不同,进行针对性检查。具体说明如下:
- 如果您待迁移的源服务器为物理机,则需要检查虚拟化应用。阿里云的普通ECS实例不支持嵌套虚拟化软件,因此不再支持VMware Workstation、Virtual Box或者Hyper-V等只能在物理机环境使用的虚拟机软件。
- 如果您待迁移的源服务器为AWS、Azure或者Google Cloud等云服务器,则需要检查网络环境。
- 如果是跨国际地域,由于网络环境较不稳定,具体操作,请参见跨国际地域迁移的操作步骤。
- 如果您的网络可以打通VPC内网,建议在创建迁移任务时网络模式选择内网传输。使用内网传输能获得比通过公网更快速更稳定的数据传输效果,提高迁移工作效率。
- 如果您待迁移的源服务器为AWS EC2 Linux系统,则需要检查cloud-init。
cloud-init服务是众多云平台用于自动初始化配置系统的服务软件,但AWS和阿里云的cloud-int服务配置无法完全兼容。从AWS迁移过来的系统可能会因为cloud-init启动失败导致无法正常启动,网络无法正常连通。建议您在迁移前使用阿里云的cloud-init配置,具体操作,请参见安装cloud-init,或者卸载原cloud-init服务。
- 如果待迁移的源服务器为Google Cloud Linux系统,请确保已安装cloud-init。具体操作,请参见安装cloud-init。
- 如果待迁移的源服务器为UCloud Linux系统,则需要检查Linux系统内核是否为UCloud云平台定制。
如果源服务器的内核是UCloud云平台定制,您需要注意,迁移后的Linux实例可能无法在ECS控制台正常启动或停止。原因是该UCloud Linux系统的内核可能与阿里云平台不兼容。您可以更换Linux系统内核,例如,对于CentOS操作系统,您可以更换为CentOS官方内核。您也可以寻求技术支持,详细信息,请参见联系我们。
跨国际地域迁移的操作步骤
本操作适用于将AWS、Azure或者Google Cloud等云服务器迁移至阿里云,并创建对应的ECS实例。
迁移源服务器至阿里云
开始迁移源服务器之前,请先准备阿里云账号并了解注意事项。更多信息,请参见准备工作(迁移前必读)。
后续步骤


- 如果您选择迁移的目标类型为云服务器镜像,可以按照以下操作使用镜像创建一个新的ECS实例。
- 可选:验证迁移结果。该功能将使用阿里云提供的OOS模板ACS-SMC-CreateAndVerifyInstance,自动验证迁移任务生成的镜像能否成功创建实例,并正常启动。
- 在操作列单击验证迁移结果。
- 在弹出的对话框中了解验证流程,并单击立即验证。
您也可以单击自定义验证脚本参数,手动配置参数进行验证。
- 在最近一次迁移结果验证状态列,查看验证结果。
- 成功:表示迁移结果无异常。您可以单击查看输出参数了解验证结果。
- 失败:表示迁移结果存在异常。您可以单击查看原因了解失败的原因,并根据原因排查问题。
您也可以单击操作列
,并单击前往OOS查看历史验证获取OOS模板的历史执行信息。
- 在操作列单击验证迁移结果。
- 找到目标迁移任务,单击对应操作列中的创建实例。
- 配置实例信息并完成实例创建。具体操作,请参见使用自定义镜像创建实例。
- 远程连接实例,检查迁移后的系统。具体操作,请参见迁移Windows服务器后怎么检查系统或迁移Linux服务器后怎么检查系统。
- 可选:验证迁移结果。该功能将使用阿里云提供的OOS模板ACS-SMC-CreateAndVerifyInstance,自动验证迁移任务生成的镜像能否成功创建实例,并正常启动。
- 如果您选择迁移的目标类型为云服务器实例,可以在操作列,单击查看目标实例,可查看目标实例详情信息。
- 如果您选择迁移的目标类型为容器镜像,可以使用容器镜像部署应用。更多信息,请参见验证容器镜像。
- 在操作列,单击查看日志,查看日志并修复问题。常见错误及修复方案的更多信息,请参见SMC FAQ。
- 在迁移任务页面,重启迁移任务。迁移任务会从上一次结束时的进度处继续迁移。
说明 如果中转实例已被释放,需要重新迁移。具体操作,请参见误释放了中转实例怎么办。