本文介绍服务器迁移中心SMC相关的常见问题及解决方案。

我在什么场景下使用服务器迁移中心SMC?

SMC可将待迁移物理服务器、虚拟机以及其他云平台云主机一站式地迁移到阿里云ECS,支持迁移主流Windows和Linux操作系统。详情请参见什么是服务器迁移中心

服务器迁移中心SMC支持哪些迁移方式?

SMC支持控制台迁移模式。通过SMC客户端导入迁移源信息后,登录SMC控制台为迁移源创建并完成迁移任务。具体步骤,请参见迁移流程概述

在一台物理主机数据库服务器上有单实例Oracle数据库,在向阿里云做迁移时,应该选择整台服务器(包含操作系统、数据库)迁移,还是选择数据库迁移(仅迁移数据库)?两种方式都有哪些利弊?

请根据您的实际需要,选择迁移方式。 两种迁移方式的利弊如下:
  • 如果您只需要Oracle数据库应用,则仅迁移Oracle应用更为轻量合适。缺点是您需要重新考虑Oracle应用的部署接入方式。
  • 如果您既需要Oracle应用,又依赖整体操作系统的应用环境,则整体迁移服务器至阿里云更为方便。缺点是如果服务器整体量大,则迁移周期较长。

SMC的迁移过程是什么?

SMC的迁移过程如下:
  1. 将迁移源信息导入SMC控制台。
  2. SMC后台服务准备中转实例。
  3. SMC客户端传输迁移源数据至中转实例。
  4. SMC后台服务为迁移源生成目标阿里云镜像。

SMC迁移所需时间如何评估?如何测试传输速度?

迁移周期主要分为迁移前、迁移过程中、迁移后三部分。迁移周期时长与待迁移服务器的数量和实际数据量成正比,建议您根据实际迁移测试演练进行评估。

迁移过程中所需时间的评估方法以及传输速度的测试方法,请参见评估迁移时间与测试传输速度

SMC是否支持自带许可证迁移上云?

支持。自带许可(Bring Your Own License,简称BYOL) 迁移上云目前主要有以下两种:
  • Microsoft
    微软自带许可场景包含:
    • 通过软件保障协议(Software Assurance,简称SA)实现自带许可场景

      支持微软许可证移动性(License Mobility)的软件,包括SQL Server,SharePoint等,可以通过创建ECS实例实现自带许可。

    • Windows操作系统场景

      Windows客户端访问许可(Client Access License,简称CAL)不适用于许可证移动性,所以无法在共享硬件环境下使用已经拥有的Windows许可证。您需要将Windows部署在独享的物理环境中,可以使用阿里云的专有宿主机或弹性裸金属服务器。更多信息,请参见专有宿主机产品文档弹性裸金属服务器产品文档

      对于此类ECS实例,阿里云不提供KMS、WSUS服务及对软件的技术支持,您可以联系微软获取软件技术支持。

    • 无SA或不支持通过SA实现自带许可的场景

      此场景类似于与Windows操作系统场景,您可以在独享的硬件环境中复用已购的软件许可证并自行下载软件进行部署。

  • Redhat

    Redhat提供云接入(Cloud Access)方式。若要迁移当前的Red Hat订阅在阿里云上使用(Bring Your Own Subscription,简称BYOS),可以注册Red Hat云接入计划。更多信息,请参见步骤一:注册Red Hat云接入计划

SMC是否支持断点续传?

支持。数据传输中断后,重新运行客户端并重新启动迁移任务即可继续迁移。

SMC是否支持增量迁移数据?

支持。具体操作,请参见增量迁移源服务器

迁移中断或提示失败时,如何处理?

迁移任务中断或失败时,处理方式如下:

  • 当SMC客户端程序异常退出或者迁移进度卡顿时,可以尝试重新运行SMC客户端并重启迁移任务以恢复迁移。
  • 如果迁移任务状态为出错,您可以在SMC控制台查看迁移任务的日志文件,定位错误原因。

    如果问题仍未解决,建议您添加支持钉钉群。更多联系方式,请参见联系我们

中转实例的规格有哪些?

SMC会按下列顺序,根据库存情况,依次选择符合条件的实例规格来创建中转实例。
  • 1 vCPU 2 GiB
  • 1 vCPU 4 GiB
  • 2 vCPU 2 GiB
  • 2 vCPU 4 GiB
  • 突发性能实例t6
  • 突发性能实例t5
  • 2 vCPU 8 GiB

如果以上实例规格均库存不足时,系统会选择其他性能和价格兼顾的实例规格。

关于中转实例,我需要注意什么?

有关中转实例的注意事项如下:
  • SMC自动创建、启动、停止和释放中转实例No_Delete_SMC_Transition_Instance。为保证顺利完成迁移任务,请勿干预中转实例的运行状态。
  • 中转实例的默认安全组在入方向开放了8080和8703端口,这是中转实例的迁移服务端口,请勿修改或删除该安全组配置。
  • 迁移任务完成后,中转实例会被自动释放,如果迁移失败,需要手动释放实例。释放步骤,请参见释放实例

我的待迁移服务器需要在出方向访问哪些公网地址和端口?

确认源服务器能访问以下服务地址和端口。
  • 服务器迁移中心SMC:https://smc.aliyuncs.com443端口。
  • 中转实例:公网IP地址8080和8703端口。当您使用内网传输网络模式时,需访问私有IP地址。
说明 源服务器不需要开放任何入方向的端口,但是需要在出方向访问上述公网地址和端口。

阿里云支持激活哪些Windows Server?

支持自动激活Windows Server 2003、2008、2012和2016。其他版本的Windows如果迁移至ECS,需要申请许可移动性证,详情请参见申请许可移动性证

如何安装Rsync?

请您根据源服务器的操作系统选择相应的命令安装Rsync。
  • CentOS:运行yum -y install rsync
  • Ubuntu:运行apt-get -y install rsync
  • Debian:运行apt-get -y install rsync
  • SUSE:运行zypper install rsync
  • 其他发行平台系统:参见发行版官网的安装文档。

如何关闭SELinux?

建议您运行setenforce 0临时关闭SELinux,或编辑/etc/selinux/config文件设置SELINUX=disabled

如何过滤、排除不需要迁移的文件或目录?

排除不需要迁移的文件或目录,需在运行SMC客户端之前配置。配置文件位于客户端Excludes目录下,包括以下文件。
  • 系统盘配置文件:rsync_excludes_win.txt(Windows系统)或rsync_excludes_linux.txt(Linux系统)

  • 数据盘配置文件:在系统盘的基础上以disk[磁盘索引编号]后缀命名,如rsync_excludes_win_disk1.txt(Windows系统)或rsync_excludes_linux_disk1.txt(Linux系统)

说明 若配置文件缺失或被误删,您可自行创建相应文件。
  • 配置示例一:为Windows服务器排除不迁移的文件或目录
    • 系统盘:
      • 待排除的文件或目录:
        C:\MyDirs\Docs\Words
        C:\MyDirs\Docs\Excels\Report1.txt
      • rsync_excludes_win.txt中添加内容:
        /MyDirs/Docs/Words/
        /MyDirs/Docs/Excels/Report1.txt
    • 数据盘:
      • 待排除的文件或目录:
        D:\MyDirs2\Docs2\Words2
        D:\MyDirs2\Docs2\Excels\Report2.txt
      • rsync_excludes_win_disk1.txt中添加内容:
        /MyDirs2/Docs2/Words2/
        /MyDirs2/Docs2/Excels2/Report2.txt
      说明
      排除Windows路径时,您需要:
      • 去掉路径前缀(scr_path),例如去掉上述示例中的D:
      • 将原路径中的\替换为/
  • 配置示例二:为Linux服务器排除不迁移的文件或目录
    • 系统盘(根目录 /):
      • 待排除的文件或目录为:
        /var/mydirs/docs/words
        /var/mydirs/docs/excels/report1.txt
      • rsync_excludes_linux.txt中添加内容:
        /var/mydirs/docs/words/
        /var/mydirs/docs/excels/report1.txt
    • 数据盘:
      • 待排除的文件或目录为:
        /mnt/disk1/mydirs2/docs2/words2
        /mnt/disk1/mydirs2/docs2/excels2/report2.txt
      • rsync_excludes_linux_disk1.txt中添加内容:
        /mydirs2/docs2/words2/
        /mydirs2/docs2/excels2/report2.txt
      说明 排除Linux路径时需要去掉路径前缀(scr_path),例如去掉上述示例中的/mnt/disk1

我想要重新导入迁移源,怎么办?

您需要先删除迁移源后,再重新运行客户端导入迁移源。若迁移源已和迁移任务关联,请先删除与之关联的迁移任务,再删除迁移源。

误释放了中转实例怎么办?

如果误清理了中转资源,您可以删除当前的迁移任务,重新为迁移源新建并启动迁移任务。如果问题依然未解决,您可以提交工单联系客服处理该问题。

迁移源为非在线状态时,无法创建迁移任务怎么办?

先修复迁移源状态为在线后,再新建迁移任务。修复方法如下:
  • 迁移源状态为离线:

    该状态表明迁移源已和SMC控制台失去联系。您需要重新运行SMC客户端,并且不能关闭客户端直至迁移完成。具体步骤,请参见步骤一:导入迁移源

  • 迁移源状态为异常:您需要检查控制台日志、客户端日志(Logs目录下)和客户端界面显示的错误信息,根据提示处理。您也可以参考本文中的错误码及处理方法。若仍无法修复问题,请联系我们

为什么无法删除迁移源?

因为迁移源关联了尚未完成的迁移任务。您需要先暂停并删除迁移任务后,再删除迁移源。

为什么新建迁移任务页面没有出现数据盘配置项?怎么办?

SMC客户端导入迁移源时,只会检测已挂载的磁盘分区。若您的迁移源没有数据盘,或数据盘未挂载,新建迁移任务页面便不会出现数据盘配置项。若您需要迁移未挂载的数据盘,需完成以下操作:
  1. 挂载数据盘。
  2. 重新运行SMC客户端。
  3. 刷新SMC控制台迁移源页面后,重新打开新建迁移任务页面。

迁移进行中或迁移报错时,是否可以为迁移源新建迁移任务?

不可以。处理方式如下:
  • 迁移源关联的迁移任务正在运行中时,先暂停并删除迁移任务后,再为迁移源新建迁移任务。
  • 迁移源关联的迁移任务出错时,先删除迁移任务后,再为迁移源新建迁移任务。

迁移任务多久过期?过期后会怎样?

通过SMC控制台创建迁移任务时,由于控制台不提供过期时间的设置方式,因此任务的默认有效期为30天。通过CreateReplicationJob创建迁移任务时,您可根据实际需要设置任务的有效期(有效期范围为7天~90天)。API详情,请参见CreateReplicationJob

迁移任务创建后,开始计算有效期。任务过期后的处理方式如下:
  • 迁移任务状态为Running(运行中)时,不做处理。
  • 迁移任务状态为Ready(未开始)、Stopped(已暂停)和 InError(出错)时,标记为过期状态。过期7天后,SMC自动清理迁移任务。

迁移任务状态有哪些?分别表示什么?

迁移任务的状态分为以下两种: 迁移任务主状态和业务状态的关系如下图所示。job_status
表 1. 迁移任务主状态说明表
迁移任务主状态 状态说明 该状态下您可以进行的操作
未开始(Ready) 迁移任务已创建,未启动。 启动迁移任务。
运行中(Running) 迁移任务正在运行中。运行中(Running)状态不会直接显示在SMC控制台,而是以业务状态的形式展示在迁移任务的状态列。 等待迁移任务运行结束,或在迁移任务状态为同步中(Syncing)时暂停迁移任务。
说明 您无法删除正在运行中的迁移任务。
已暂停(Stopped) 迁移任务已暂停。 重启或删除迁移任务。
出错(InError) 迁移任务已失败。 查看客户端或控制台的提示信息或迁移日志,了解失败原因,修复问题。如果失败由客户端引起(如迁移源状态为离线、异常等),您需要先重启客户端,再重启迁移任务。
已完成(Finished) 迁移任务成功结束。 前往ECS控制台镜像列表的自定义镜像页面,查看SMC为您生成的镜像。
等待中(Waiting) 仅适用于增量迁移任务,表示任务在等待下一次周期性自动执行。增量迁移详情,请参见增量迁移源服务器 此状态下,您可以:
  • 使用迁移任务已生成的镜像,创建ECS实例。
  • 暂停迁移任务。
  • 删除迁移任务。
  • 手动增量迁移源服务器。
  • 修改自动增量迁移的设置,包括迁移任务自动运行的时间间隔和任务可以保留的最大镜像数。
已过期(Expired) 迁移任务已过期。 删除迁移任务。
说明 迁移任务的默认有效期为30天。任务到期后,会被标记为过期状态并保存7天,7天后SMC自动清理该任务。详情请参见迁移任务多久过期?过期后会怎样?
删除中(Deleting) 迁移任务删除中。 等待迁移任务删除完成,或为迁移源新建迁移任务。
说明 删除迁移任务时,SMC会自动释放迁移过程中已创建的相关资源,如中转实例等。需要的时间较长,请您耐心等待。
表 2. 迁移任务业务状态说明表
迁移任务业务状态 状态说明 该状态下您可以进行的操作
准备中(Preparing) 您启动迁移任务后,迁移任务状态即更新为准备中。 无。
同步中(Syncing) 迁移任务开始上传迁移源数据。 您可以暂停迁移任务。
处理中(Processing) 迁移任务正在制作目标镜像中。 无。
清除中(Cleaning) 清理中转环境,迁移任务即将完成。 无。

如何查找迁移源?

查找迁移源的步骤如下:
  1. 登录SMC控制台
  2. 在左侧导航栏,单击迁移源
  3. 迁移源页面,单击搜索框,并选择搜索项。

    搜索项包括迁移源名称迁移源ID状态最近一次迁移任务ID。所有搜索项只支持精确查询。

  4. 输入搜索项对应的查询值后,单击Enter键。

日志提示子账号权限不足Forbidden.SubUser,怎么办?

SMC需要使用账号访问密钥AccessKeyID和AccesKeySecret调用ECS API创建中转实例和云盘等资源,该操作属于下单操作。某些服务商账号可能不具备该权限,如果有迁移需求,可以联系我们

日志提示Forbidden.Unauthorized错误,怎么办?

该错误表示您需要为当前RAM用户授予AliyunSMCFullAccess权限。授权方法,请参见准备阿里云目标账号

日志提示Your Account Haven't Completed Real-name Authentication错误,怎么办?

该错误表示您的账号需要进行实名认证。实名认证的方法,请参见准备阿里云目标账号

日志提示Your Account Haven't Authorized For SMC RAM Role错误,怎么办?

您需要为您的账号授予SMC Role相关权限。授权方法请参见准备阿里云目标账号

日志提示IllegalTimestamp错误,怎么办?

迁移源的系统时间须和迁移源所在地域的标准时间一致。请检查迁移源的系统时间是否为正确时间。

日志提示InvalidAccountStatus.NotEnoughBalance错误,怎么办?

中转实例的默认计费方式为按量付费,您的支付方式余额不足时,无法顺利迁移。您需要更新账户状态后重试。按量付费详情,请参见按量付费

日志提示Forbidden.RAM错误,怎么办?

您使用的RAM账号权限不足,无法使用相关API。

您需要为RAM账号授予ECS和VPC访问权限AliyunECSFullAccessAliyunVPCFullAccess,详情请参见账号访问控制

日志提示InvalidImageName.Duplicated错误,怎么办?

您指定的参数image_name不能与您已有的镜像名称重复。

日志提示InvalidAccountStatus.SnapshotServiceUnavailable错误,怎么办?

该错误表示您的账号可能未开通快照服务。开通快照服务的步骤,请参见开通快照

日志提示Connect to Server Failed错误,怎么办?

该错误表示无法连接中转实例。您可以按以下步骤检查:
  1. 查看日志文件详细信息。
  2. 依次检查:
    • 中转实例状态是否正常。
    • 本地网络服务是否正常。SMC客户端需要访问80、443、8703和8080通信端口,请确保您的服务器已经放行这些端口。
  3. 问题解决后,再次运行主程序重试。

日志提示Create transition vpc failed. (QuotaExceeded.Vpc: VPC quota exceeded.)错误,怎么办?

该错误表示您的专有网络VPC超出限额。如果您没有为迁移任务设置专有网络VPC和虚拟交换机VSwitch参数,迁移任务运行过程中会自动创建中转VPC和VSwitch,迁移任务运行结束清理中转VPC和VSwitch。

每个阿里云账号在一个地域的VPC限额为10。如果您有批量迁移任务需要同时进行或目标地域的VPC数量已达到限额时,建议您在新建迁移任务时,指定VPC和VSwitch参数,以提高VPC的复用率。配置详情,请参见迁移任务配置项说明表

VPC超出限额后,您可以通过下列一种方式处理。

日志提示InvalidAccessKeyId.NotFound错误,怎么办?

该错误表示您输入的访问密钥(AccessKey)不正确。您需要通过以下操作修复该错误。
  1. 打开user_config.json文件。
  2. 删除访问密钥AccessKeyIdAccessKeySecret的值。
  3. 保存并关闭文件。
  4. 运行SMC客户端重新输入AccessKey。

日志提示Do Rsync Disk x Failed错误,怎么办?

该错误表示文件传输中断。您可以按以下步骤检查。
  1. 查看错误日志文件详细信息。如果错误日志文件中多次出现return: 3072return: 7680信息提示,请确认源服务器数据库服务或者容器服务是否未开启状态,例如,Oracle、MySQL、MS SQL Server、MongoDB和Docker等服务。您需要先暂停服务或者排除相关数据文件目录后再迁云。
  2. 依次检查:
    • 中转实例状态是否正常。
    • 本地网络服务是否正常。SMC需要访问80、443、8703和8080通信端口,请确保您的服务器已经放行这些端口。
  3. 问题解决后,再次运行主程序重试。

Linux服务器日志错误提示check rsync failed或者rsync not found,怎么办?

请检查迁移源系统是否已安装rsync组件。安装rsync的步骤,请参见如何安装Rsync?

Linux服务器日志提示check virtio failed错误,怎么办?

请检查迁移源系统是否已安装virtio驱动。安装virtio驱动的步骤,请参见virtio驱动

Linux服务器日志错误提示check selinux failed,怎么办?

请检查迁移源系统是否已禁用SElinux。禁用SELInux的操作步骤,请参见如何关闭SELinux?

Linux服务器日志错误提示Do Grub Failed,怎么办?

请确保源服务器已经安装了系统引导程序GRUB(GRand Unified Bootloader),并在安装GRUB之后重启SMC客户端和迁移任务。安装GRUB的步骤,请参见如何为Linux服务器安装GRUB?

Windows服务器卡在Prepare For Rsync Disk 0阶段,怎么办?

Windows 服务器迁云停在Prepare For Rsync Disk 0阶段,查看日志文件后发现显示VssSnapshotul::VssSnapshotul GetSnapshotul Failed: 0x80042308。此时您可以:
  1. 开启Volume Shadow Copy服务。
    1. 在服务器中单击开始,在搜索框中输入服务,回车确认。
    2. 找到Volume Shadow Copy服务,单击启动此服务
  2. 卸载QEMU Guest Agent软件。
    1. 在服务器中单击开始,在搜索框中输入服务,回车确认。
    2. 查看是否有QEMU Guest Agent VSS Provider服务,若无该项服务,您可以直接重新运行SMC客户端。
    3. 找到卸载脚本,大概位置位于C:\Program Files (x86)\virtio\monitor\uninstall.bat目录,执行脚本卸载QEMU Guest Agent软件。
  3. 重新运行SMC客户端。

迁移Windows服务器后,启动实例被提示需要激活Windows,怎么办?

您可以重装Windows KMS Client Key后通过KMS激活Windows服务。
  1. 远程登录Windows实例。
  2. 微软KMS Client Keys页面查询到Windows服务器对应的KMS Client Key,此处假设为xxxx-xxxx-xxxx-xxxx-xxxx。
  3. 使用管理员权限打开命令行工具,依次运行以下命令:
    slmgr /upk
    slmgr /ipk xxxx-xxxx-xxxx-xxxx-xxxx
  4. 使用KMS激活Windows。更多详情,请参见VPC环境下ECS Windows系统激活方法

迁移Windows服务器后,启动实例发现数据盘缺失或者盘符错乱,怎么办?

  • 如果数据盘盘符缺失,您可以打开磁盘管理器,重新添加即可。
    1. 打开控制面板 > 系统与安全 > 管理工具 > 计算机管理盘符缺失1
    2. 找到并右击盘符缺失的数据盘,单击更改驱动器和路径盘符缺失2
    3. 单击添加并添加数据盘盘符。盘符缺失3
  • 如果数据盘盘符错乱,您可以打开磁盘管理器,重新更改即可。
    1. 打开控制面板 > 系统与安全 > 管理工具 > 计算机管理
    2. 找到并右击盘符缺失的数据盘,单击更改驱动器和路径
    3. 单击更改并更改数据盘盘符。盘符缺失4

迁移Windows服务器后,启动实例发现文件权限异常或部分系统菜单目录显示语言不统一,怎么办?

您需要等待文件系统权限修复操作成功完成。更多详情,请参见迁移Windows服务器后怎么检查系统?

迁移Windows服务器后怎么检查系统?

迁移Windows系统后初次启动实例时,您需要进行下列检查。
  1. 检查系统盘数据是否完整。
  2. 如果有数据盘缺失,进入磁盘管理检查盘符是否丢失。
  3. 等待文件系统权限修复过程完成后,选择是否重启实例。windows系统检查
    说明 初次启动ECS实例后,如果文件系统权限修复程序未自启动,您可以运行C:\go2aliyun_prepare\go2aliyun_restore.exe手动修复。执行前要确保实例上的磁盘数量和盘符路径跟源系统保持一致。
  4. 检查网络服务是否正常。
  5. 检查其他系统应用服务是否正常。

迁移Linux服务器后怎么检查系统?

迁移Linux系统后初次启动实例时,您需要进行以下检查。
  1. 检查系统盘数据是否完整。
  2. 如果有数据盘,您需要自行挂载数据盘。详情请参见挂载数据盘
  3. 检查网络服务是否正常。
  4. 然后检查其他系统服务是否正常。

迁移Linux服务器后,启动实例发现原数据盘目录下没有数据,怎么办?

迁移带有数据盘的Linux服务器后,启动实例时默认不挂载数据盘。您可以在启动ECS实例后运行ls /dev/vd*命令查看数据盘设备,根据实际需要手动挂载,并编辑/etc/fstab配置开机自动挂载。

迁移Linux服务器后,根据该自定义镜像创建的实例为何不能启动?

您需要进行下列检查。
  • 检查驱动。创建I/O优化的实例时,请确保源服务器已经安装virtio驱动
  • 检查源系统引导配置是否正确。
  • 如果您的源服务器系统是内核版本较低的CentOS 5或者Debian 7,而且自带的GRUB程序版本低于1.9,同时在ECS控制台远程连接登录实例发现开机界面如下图所示。Linux服务器启动检查

    您需要升级GRUB系统引导程序至1.9版本以上后,重新迁移。升级GRUB的步骤,请参见如何为Linux服务器安装GRUB?

启动Others Linux实例后,网络服务不正常?

导入Others Linux类型镜像时,阿里云不会对该自定义镜像所创建的实例做任何配置工作,包括相关网络配置和SSH配置等。此时,您需要自行修改系统相关网络配置。

自2018年03月31号开始,SMC客户端生成的镜像网络配置有变化,默认以DHCP(Dynamic Host Configuration Protocol)的方式获取IP地址。

迁移完成后,再次迁移该如何操作呢?

重新为迁移源新建并启动迁移任务。

迁移完成得到自定义镜像后该如何操作?

建议先使用该镜像创建一台按量付费的实例,检查系统是否正常。确认镜像可用后,选择合适您业务的实例规格,并创建一台或多台ECS实例。详情请参见实例规格族使用向导创建实例

迁移完成后的结果是什么?

SMC为您的迁移源生成一份自定义镜像。您可以在迁移任务页面,找到您的迁移任务,在迁移结果栏单击红框中的链接,可查看该自定义镜像。迁移结果

迁移后创建的ECS实例hostname依旧保留了其他云平台的名称,如何解决?

该错误是由于ECS实例未安装、未启动cloud_init,或cloud-init版本与阿里云平台不兼容。安装cloud-init后重启实例,hostname即可更新。具体步骤,请参见安装cloud-init