SMC支持多种Windows以及Linux操作系统版本,您可以将自建IDC机房、本地虚拟机或者其他云厂商等环境中的源服务器迁移至阿里云。本文介绍迁移源服务器前的准备工作,以及如何使用SMC迁移源服务器至阿里云。

背景信息

SMC支持多种迁移源环境,支持不停机将源服务器(包括系统盘和数据盘)从物理机、本地虚拟机(VMware、Xen、KVM、Hyper-V等)、其他云厂商(AWS、Azure、Google Cloud、腾讯云等)迁移至阿里云。如果需要保证源服务器和数据完全同步,可以先将源服务器中的数据迁移至阿里云,然后使用增量迁移,在自定义的时间段内将源服务器系统产生的增量数据同步至阿里云。具体操作,请参见增量迁移源服务器

在迁移前,您需要在源服务器中完成准备工作。不同操作系统对应的准备工作,请参见:当您在源服务器中完成迁移前的准备工作后,即可开始迁移源服务器。具体操作,请参见迁移源服务器至阿里云

此外,阿里云ECS实例之间也支持使用SMC进行服务器迁移。具体操作,请参见跨账号和同账号ECS实例间迁移

评估迁移时间与测试传输速度

迁移周期主要分为迁移前、迁移过程中、迁移后三部分。迁移周期时长与待迁移服务器的数量和实际数据量成正比,建议您根据实际迁移测试演练进行评估。更多信息,请参见评估迁移时间与测试传输速度

Windows系统迁移前准备工作

您需要在源服务器中,完成以下准备工作:
  • 创建快照以备份数据。
  • 确保系统时间与所在地域的标准时间一致。
  • 确保源服务器可以访问以下网址或服务器端口:
    • 服务器迁移中心SMC的接入地址以及端口号:https://smc.aliyuncs.com:443
    • 迁移过程中,数据传输需要访问中转实例的8080端口以及8703端口。
      说明 迁移过程中,SMC自动创建、启动、停止和释放中转实例(实例名称默认为No_Delete_SMC_Transition_Instance)。中转实例的默认安全组在入方向开放了8080和8703端口,这是中转实例的迁移服务端口。
  • 检查并确保Windows系统VSS服务为启动状态。
  • 检查是否安装了QEMU Guest Agent软件。如果安装了此软件,您需要先卸载。具体操作,请参见SMC FAQ
  • 检查授权应用。源服务器迁移到阿里云后,系统底层硬件设备会发生变化,可能会导致一些跟硬件绑定的应用许可证(License)失效,您需要做好检查。
  • 您还需要根据源服务器所处的环境不同,进行针对性检查。具体说明如下:
    • 如果您待迁移的源服务器为物理机,则需要检查虚拟化应用。阿里云的普通ECS实例不支持嵌套虚拟化软件,因此不再支持VMware Workstation、Virtual Box或者Hyper-V等只能在物理机环境使用的虚拟机软件。
    • 如果您待迁移的源服务器为AWS、Azure或者Google Cloud等云服务器,则需要检查网络环境。
      • 如果是跨国际地域,由于网络环境较不稳定,具体操作,请参见跨国际地域迁移的操作步骤
      • 如果您的网络可以打通VPC内网,建议在创建迁移任务时网络模式选择内网传输。使用内网传输能获得比通过公网更快速更稳定的数据传输效果,提高迁移工作效率。
    • 如果您待迁移的源服务器为其他QEMU KVM虚拟化云平台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端口,这是中转实例的迁移服务端口。
  • 检查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实例。

  1. 将源服务器迁移到阿里云对应的国际地域。具体操作,请参见迁移源服务器至阿里云,并选择迁移至云服务器镜像。
    例如,EC2实例位于美国地域,您可以将其迁移至阿里云位于美国的地域。具体地域及地域ID,请参见地域和可用区
  2. 完成迁移后,将新建的镜像复制到目标阿里云地域。具体操作,请参见复制镜像
  3. 使用该镜像在目标阿里云地域创建实例。具体操作,请参见使用自定义镜像创建实例
    AWS EC2 Linux系统的SSH一般默认关闭root密码登录,您可以使用源服务器的用户名和SSH Key登录阿里云的ECS实例。

迁移源服务器至阿里云

开始迁移源服务器之前,请先准备阿里云账号并了解注意事项。更多信息,请参见准备工作(迁移前必读)

  1. 导入迁移源。
  2. 登录SMC控制台
  3. 创建迁移任务对话框中,配置相关参数后,单击创建
    SMC支持服务器迁移和操作系统迁移,您可以根据业务需求选择迁移任务类型。关于操作系统迁移的最佳实践,请参见操作系统迁移
    服务器迁移参数配置说明如下表所示。
    参数说明
    迁移任务类型选择服务器迁移后,请认真阅读迁移提示。
    基本配置
    目标地域目标地域指的是您的源服务器要迁入阿里云的地域。该参数为必填项。关于地域的更多信息,请参见地域和可用区
    任务名称迁移任务的名称。
    说明 同一阿里云地域下,任务名称必须唯一。
    任务描述迁移任务的描述。
    目标磁盘设置目标服务器的磁盘结构。adad根据业务需求配置相关参数:
    • 启用块复制
      • 选中启用块复制复选框:使用块复制能有效提升迁移传输速度的稳定性,同时能够保证跟源分区结构一致,但分区大小无法修改。此外分区<N>配置项后会生成是否开启块复制开关。
      • 不选中启用块复制复选框:使用默认的文件级别迁移,分区大小可修改。
      说明 迁移源为Windows操作系统时,块复制功能默认为开启状态,请勿关闭该功能。
    • 系统盘
      • 系统盘:目标阿里云服务器ECS系统盘的大小,单位为GiB。 取值范围:20~500。目标系统盘取值需要大于迁移源系统盘实际占用大小。例如,源系统盘大小为400 GiB,实际占用100 GiB,则目标系统盘取值需大于100 GiB。
        说明 默认值为迁移源系统盘大小,如无缩小系统盘容量需要,建议不要小于默认值。
      • 分区<N>:SMC能够根据迁移源的磁盘分区结果自动生成目标磁盘分区,单位为GiB。 N的取值范围:0~14。变量<N>表示第几个分区。如果迁移源的系统盘是单分区结构,则只会生成分区0
      • 是否开启块复制:仅当打开上述的启用块复制开关后,才会出现该开关。SMC会根据迁移源磁盘分区状态进行判断是否支持开启块复制。
        • 如果迁移源不支持分区开启块复制,则该开关无法打开。
        • 如果迁移源支持分区开启块复制,您可以打开开关,实现分区级别的磁盘迁移。
    • 数据盘<N>
      • 数据盘<N>:目标阿里云服务器ECS数据盘的大小,单位为GiB。 取值范围:20~32768。
        • 您可以设置数据盘前复选框的选中情况,自行选择是否生成目标数据盘。
        • 变量<N>表示第几个数据盘。
        • 目标数据盘取值需要大于迁移源数据盘的实际占用大小。例如,源数据盘大小为500 GiB,实际占用100 GiB,则目标数据盘取值需大于100 GiB。
      • 分区<N>:SMC能够根据迁移源的磁盘分区结果自动生成目标磁盘分区,单位为GiB。 取值范围:0~141。变量<N>表示第几个分区。如果迁移源的数据盘是单分区结构,则只会生成分区0
      • 是否开启块复制:仅当打开上述的启用块复制开关后,才会出现该开关。SMC会根据迁移源磁盘分区状态进行判断是否支持开启块复制。
        • 如果迁移源不支持分区开启块复制,则该开关无法打开。
        • 如果迁移源支持分区开启块复制,您可以打开开关,实现分区级别的磁盘迁移。
      说明 若您的迁移源没有数据盘,或数据盘未挂载,不会出现数据盘配置项。更多信息,请参见为什么新建迁移任务页面没有出现数据盘配置项?
    目标类型您可根据实际业务需求选择迁移任务的目标类型:asads5
    • 云服务器镜像:您可以将源服务器迁移为云服务器镜像,并通过云服务器镜像创建ECS实例。
    • 云服务器实例:如果您已购买ECS实例,可以将源服务器迁移至ECS实例,源服务器和已购买的ECS实例的存储、操作系统等需要适配。
      重要
      • 创建迁移任务后,目标实例中的原数据将会清除。因此,如果作为目标实例的ECS实例中存在重要数据,SMC不推荐您使用该方式将迁移源直接迁移至目标实例。推荐您在迁移时,目标类型选择云服务器镜像,再通过镜像创建ECS实例。关于源服务器迁移到目标实例的更多信息,请参见源服务器迁移至目标实例
      • 迁移后目标实例的ECS实例中的云盘将释放,默认通过云盘创建的自动快照也会随之删除,无法恢复。您可以手动取消自动快照随云盘释放。具体操作,请参见设置自动快照随云盘释放
    • 容器镜像:您可以将源服务器迁移为容器镜像,实现低成本容器化应用迁移。
    目标类型的参数说明如下:
    • 云服务器镜像
      配置项说明如下:
      • 镜像名称:SMC为迁移源生成的目标阿里云镜像名称。
        说明 同一阿里云地域下,镜像名称必须唯一。
      • 许可证类型:选择许可证类型。
        • 阿里云:阿里云提供的微软许可证。更多信息,请参见SMC FAQ
        • 自带许可:自带许可(Bring Your Own License,简称BYOL) 迁移上云目前主要包括Microsoft和Redhat。更多信息,请参见SMC FAQ
      • 自动增量同步:迁移任务是否自动同步源服务器增量数据至阿里云。
        • 开启该开关后,需设置以下配置项:
          • 同步重复频率:增量迁移任务周期性自动执行的时间间隔。
          • 最大镜像保留数:增量迁移任务默认保留的最大镜像数。
          迁移任务将自动周期性执行,并同步增量数据至阿里云。增量迁移的最佳实践,请参见增量迁移源服务器
        • 关闭该开关后,迁移任务仅执行一次。
    • 云服务器实例
      说明 迁移源和目标实例的存储、操作系统等需要适配。迁移至目标实例最佳实践,请参见源服务器迁移至目标实例
      配置项说明如下:
      • 目标实例:选择一个ECS实例作为目标实例。
      • 许可证类型:选择许可证类型。
        • 阿里云:阿里云提供的微软许可证。更多信息,请参见SMC FAQ
        • 自带许可:自带许可(Bring Your Own License,简称BYOL) 迁移上云目前主要包括Microsoft和Redhat。更多信息,请参见SMC FAQ
      • 自动增量同步:迁移任务是否自动同步源服务器增量数据至阿里云。
        • 开启该开关后,需设置以下配置项:
          • 同步重复频率:增量迁移任务周期性自动执行的时间间隔。
          • 最大镜像保留数:增量迁移任务默认保留的最大镜像数。
          迁移任务将自动周期性执行,并同步增量数据至阿里云。增量迁移的最佳实践,请参见增量迁移源服务器
        • 关闭该开关后,迁移任务仅执行一次。
    • 容器镜像
      说明
      配置项说明如下:
      • 容器镜像命名空间:存放迁移生成的容器镜像仓库的命名空间。
      • 容器镜像仓库名称:存放迁移生成的容器镜像的仓库地址。
      • 容器镜像版本:存放迁移生成的容器镜像的版本信息。
      • 容器镜像RAM角色:绑定中转实例的实例角色。
    执行方式选择迁移任务的执行方式:
    • 立即执行:创建迁移任务后立即启动。
    • 预约执行:创建迁移任务后,在设置的时间自动启动迁移任务。
      说明 预约执行时间最早可设置为当前时间后10分钟。
    • 只创建:仅创建迁移任务,需要手动启动迁移任务。

    默认值:立即执行

    标签与网络(可选)
    迁移任务标签为迁移任务绑定标签键值,便于查询与管理迁移任务。
    说明 同一个迁移任务最多可绑定20个标签。
    网络模式传输迁移数据到中转实例使用的网络。中转实例会被创建在所选专有网络(VPC)、交换机(vSwitch)下,因此中转实例会被分配公网IP。adda
    配置项说明表如下:
    • 公网传输:迁移数据通过公网传输到中转实例。使用该模式,源服务器需能访问公网。根据实际需要,选择是否指定专有网络(VPC)和交换机(vSwitch)。
      • 指定VPC和vSwitch:迁移任务在您指定的VPC和vSwitch下创建中转实例。

        批量迁移时,为每个迁移任务指定相同的VPC和vSwitch,可提高VPC的复用率,每次批量迁移的最大值可达到100台迁移源。

      • 不指定VPC和vSwitch:迁移任务在系统自动新建的VPC和vSwitch下创建中转实例。

        批量迁移时,若不指定VPC和vSwitch,SMC会为每个中转实例创建一个VPC。

        说明 由于每个账号在一个地域下的VPC限额为10(包括您创建的VPC和SMC自动创建的VPC),因此每次批量迁移的最大值不超过10台迁移源。如需提高VPC限额,请提交工单
    • 私网传输:迁移数据通过VPC内网传输到中转实例。使用该模式,需要将源服务器与阿里云VPC打通,并且必须指定VPC和vSwitch。
      说明 如果您能直接从自建机房(Integrated Data Center,IDC)、虚拟机环境或者云主机访问某一阿里云地域下的专有网络VPC,建议您使用该方式进行迁移。使用内网传输能获得比通过公网更快速更稳定的数据传输效果,提高迁移工作效率。您可以通过VPN网关、高速通道物理专线、智能接入网关将源服务器和云上VPC打通。更多信息,请参见连接本地IDC
    高级配置(可选)
    Checksum验证开启后,可增强数据一致性校验,但是可能会降低传输速度。

    默认值:关闭。

    传输限速迁移过程中,数据传输的带宽上限限制,单位为Mbps。
    压缩率迁移过程中,数据压缩传输的级别。 请根据您的实际需要,设置压缩率。
    • 在带宽有限的环境下,使用高压缩率,可提升数据的传输速度。
    • 在带宽很高的情况下,建议您不压缩传输数据,可减少对迁移源CPU资源的耗费。

    取值范围为0~10,默认值为7,0表示不压缩传输数据。

    中转实例规格可根据实际需求选择中转实例规格。仅当目标类型选择云服务器镜像容器镜像时,才出现此参数。
    • 选择中转实例规格:系统会选择该实例规格创建中转实例。若该实例规格库存不足,则迁移任务创建失败。
    • 不选择中转实例规格:系统默认会按照顺序选择实例规格来创建中转实例。
  4. 启动迁移任务。
    说明 如果执行方式立即执行的迁移任务请跳过本步骤。执行方式只创建预约执行的迁移任务可以按照本步骤手动启动迁移任务。
    1. 在左侧导航栏,单击迁移任务
    2. 找到需要启动的迁移任务,在操作列单击开始任务
      • 如需批量启动迁移任务,勾选多个迁移任务,并单击开始/重试。每个迁移任务的状态必须为未开始已暂停出错
      • 如需暂停迁移任务,在迁移任务状态为同步中时,单击操作列中的暂停任务

后续步骤

操作项说明
验证迁移结果该功能将使用阿里云提供的OOS模板ACS-SMC-CreateAndVerifyInstance,自动验证迁移任务生成的镜像能否成功创建实例,并正常启动。
  1. 在操作列单击验证迁移结果adasdasdmn
  2. 在弹出的对话框中了解验证流程,并单击立即验证

    您也可以单击自定义验证脚本参数,手动配置参数进行验证。

  3. 最近一次迁移结果验证状态列,查看验证结果。
    • 成功:表示迁移结果无异常。您可以单击查看输出参数了解验证结果。
    • 失败:表示迁移结果存在异常。您可以单击查看原因了解失败的原因,并根据原因排查问题。

    您也可以单击操作列...,并单击前往OOS查看历史验证获取OOS模板的历史执行信息。

查看目标实例如果您选择操作系统迁移或者迁移的目标类型为云服务器实例时者,可以在操作列,单击查看目标实例,可查看目标实例的详情信息。
部署容器应用如果您选择迁移的目标类型为容器镜像,可以使用容器镜像部署应用。更多信息,请参见验证容器镜像smc docker
查看迁移任务详细信息迁移任务页面,单击迁移任务ID,即可查看迁移任务详细信息。
排查迁移问题
当迁移任务状态为出错时,表示迁移失败。此时,您需要:
  1. 操作列,单击查看日志,查看日志并修复问题。常见错误及修复方案的更多信息,请参见SMC FAQ
  2. 迁移任务页面,重启迁移任务。迁移任务会从上一次结束时的进度处继续迁移。
    说明 如果中转实例已被释放,需要重新迁移。具体操作,请参见误释放了中转实例怎么办