当下,越来越多的个人用户和企业用户倾向于将其他云平台或服务商的业务迁移至阿里云。然而,如何快速且安全地完成这一迁移过程,成为了众多用户关注的焦点。为此,阿里云提供了服务器迁移中心(Server Migration Center,简称SMC),这一专业的迁移平台致力于为用户提供能力普惠、体验一致、效率至上的迁移服务,充分满足用户在阿里云的迁移需求。接下来,本文将为大家详细介绍如何利用阿里云服务器迁移中心SMC,将其他云平台业务迁移至阿里云的教程,以供参考。

一、为何选择服务器迁移中心SMC
服务器迁移中心SMC以其简化的迁移流程、易上手的特点,助力用户轻松应对各种迁移需求。
1.高度成熟,支持多平台、多环境迁移
- 支持服务器迁移
 - 支持操作系统迁移
 - 支持VMware无代理迁移
 - 支持跨可用区迁移阿里云ECS实例
 - 支持桌面迁移
 
2.高度自动化,释放人工压力
只需简单操作,即可执行迁移任务。迁移过程中,用户无需全程值守,迁移进度可在控制台或API中随时查询。
3.高度智能化,自动修复与验证
迁移前,系统自动检测并提供修复方案;迁移后,可一键验证迁移结果。
产品详情:https://www.aliyun.com/product/ecs/smc
二、服务器迁移中心SMC产品优势
1.支持多平台、多环境迁移
- 支持多种Windows和Linux操作系统版本。更多信息,请参见SMC支持的操作系统版本。
 - 支持将源服务器从自建IDC机房、本地虚拟机(VMware、VirtualBox、Xen、KVM、Hyper-V等)、其他厂商云迁移至阿里云。
 

2.不依赖源服务器的底层环境
- 支持P2C/V2C/C2C迁移。
 - 支持多种文件系统,如NTFS、EXT、XFS、BTRFS等。
 - 支持多种磁盘分区类型,如MBR、GPT。
 
3.支持不停机迁移
迁移过程仅完整复制源系统数据,无需停机,不影响源服务器系统业务。
4.简单轻量且配置灵活
- SMC客户端轻量免安装。
 - 提供多种迁移方案,支持按需配置。
 - 一键运行迁移后,全程自动托管。
 
5.数据传输安全有保障
- 默认采用SSL 2048位RSA密钥加密传输通道。
 
6.支持断点续传
数据传输中断后,重新运行客户端并重启迁移任务即可继续迁移。
7.支持增量迁移
首次全量迁移完成后,可进行多次增量迁移,有效减少源服务器系统业务暂停时间及最终交割时间。
三、迁移流程
使用SMC进行迁移时,需先导入迁移源,然后创建并启动迁移任务,完成迁移操作。迁移流程如下图所示。

1、准备工作(迁移前必读)
在迁移源服务器前,需注册阿里云账号、完成实名认证、开通RAM服务、开通快照等。
第一步:准备阿里云目标账号
请按照以下步骤准备阿里云目标账号。
- 在阿里云官网注册账号。
 - 确保账号余额大于等于100元(充值或代金券均可)。
 
说明:SMC为免费服务,但在迁移过程中会涉及少量阿里云ECS资源计费。更多信息,请参见产品计费。
- 确保已完成账号实名认证。
 
认证方式如下:
- 方式一:前往实名认证页面完成认证。
 - 方式二:登录SMC控制台。若未实名认证,控制台将提示前往认证。
 
第二步:开通RAM服务并授权
确保已开通RAM服务并授权。授权方式如下:
- 方式一:登录RAM控制台,单击同意授权完成授权。
 - 方式二:登录SMC控制台,根据控制台提示完成授权。
 
RAM用户账号授权方式为:使用阿里云账号登录RAM访问控制台,为RAM用户授予AliyunSMCFullAccess权限。
第三步:获取AccessKey
确保已创建并获取阿里云账号或RAM用户的访问密钥(AccessKey)。
第四步:开通快照服务
请确保已开通快照服务。
2、导入迁移源
SMC支持多种导入迁移源方式,可根据需求选择以下任一方式导入迁移源:
通过控制台自动导入迁移源
前提条件
- 如果使用RAM用户导入迁移源,需为RAM用户授权:
- 需授予RAM用户只读访问RAM权限AliyunRAMReadOnlyAccess。
 - 当导入迁移源类型为非阿里云ECS云服务器时,需为RAM用户授予云命令行管理权限AliyunCloudShellFullAccess。
 - 当导入迁移源类型为阿里云ECS云服务器时,需为RAM用户授予云助手管理权限AliyunECSAssistantFullAccess。
 
 - 使用限制
- 当迁移源是物理机、虚拟机、其他平台云服务器时,需具备公网访问能力。
 - 当迁移源是本账号阿里云云服务器ECS时,需已安装云助手Agent。
 
 
操作步骤
- 登录SMC控制台。
 - 在左侧导航栏,单击迁移源。
 - 在迁移源页面,单击导入迁移源。
 - 根据迁移源类型,配置相关参数。
 
迁移源类型为非阿里云ECS云服务器操作步骤
- 导入方式:选中控制台导入。
 - 迁移源名称:输入迁移源名称。长度为2~128个英文或中文字符。必须以大小写字母或中文开头,不能以http://或https://开头。可以包含数字、半角冒号(:)、下划线(_)或者中划线(-)。
 - 操作系统类型:根据操作系统类型选择Linux或Windows。
 - IP地址:输入可通过公网访问的IPv4地址,例如:120.55.XX.XX。
 - 端口:请输入迁移源端SSH服务端口号。取值范围:1~65535,默认为22。
 - 用户名:请输入操作系统的用户名Linux系统默认为root,Windows系统默认为Administrator。
 - 密码:请输入操作系统的密码。
 
迁移源类型为非阿里云ECS云服务器操作步骤
- 迁移源类型:选择阿里云ECS云服务器,默认已选中安装服务器迁移中心客户端。
 - 导入方式:选中控制台导入。
 - 地域:在下拉列表中选择待迁移服务器所在的地域。
 - 实例:选择指定地域下待迁移的阿里云ECS云服务器实例。您也可以选中多个阿里云ECS云服务器实例,批量导入迁移源。您可以根据实例ID、实例名称、私有IP、公网IP和弹性IP搜索待迁移的ECS实例。
 - 配置参数后,单击导入。
 
导入迁移源大约需要3~10分钟,请耐心等待。当迁移源状态由导入中变为在线,表示导入迁移源成功。

如果迁移源状态为导入异常,可以单击图标查看错误信息,根据错误信息处理异常后重新导入迁移源。如果导入迁移源失败,或迁移过程中出现报错,也可以通过检查SMC客户端目录下日志文件来获取更多信息。SMC客户端默认安装目录如下:
- Windows源服务器:默认安装目录为 C:\smc。
 - Linux源服务器:默认安装目录为/smc。
 
通过命令行一键导入迁移源
可以在SMC控制台按需生成激活码命令,然后在源服务器中一键执行该激活码命令,以导入迁移源。
1、前提条件
源服务器必须具备公网访问能力。
2、操作步骤
Linux源服务器导入迁移源
- 登录SMC控制台。
 - 在左侧导航栏,单击迁移源。
 - 在迁移源页面,单击导入迁移源。
 - 根据界面提示配置参数,并导入迁移源。
 - 登录Linux源服务器,使用管理员权限粘贴并运行复制的命令,执行导入迁移源的操作。
 

执行命令后,出现类似如下回显信息,表示导入迁移源成功。
[2022-08-11 14:40:45] [Info] Snapshot Check...
[2022-08-11 14:40:49] [Info] Verify User Account...
[2022-08-11 14:40:49] [Info] Generate SSH Key...
[2022-08-11 14:40:49] [Info] Import Source Server...
[2022-08-11 14:40:49] [Info] Import Source Server [s-bp18x8751kgz2oyh****] Successfully!
[2022-08-11 14:40:50] [Info] ========= Run In BackGround Daemon Mode =========
[2022-08-11 14:40:50] [Info] Goto Aliyun Begin...
[2022-08-11 14:40:50] [Info] Check Source Server Status...
[2022-08-11 14:40:50] [Info] Check Replication Job Status...
Please Goto SMC Console To Create New Job, time: 1m0s -
如果导入迁移源失败,或迁移过程中出现报错,可以通过检查SMC客户端目录下日志文件来获取更多信息。Linux源服务器的SMC客户端默认安装目录为/smc。
Windows源服务器导入迁移源
- 登录SMC控制台。
 - 在左侧导航栏,单击迁移源。
 - 在迁移源页面,单击导入迁移源。
 - 根据界面提示配置参数,并导入迁移源。
 - 登录待导入的Windows源服务器,以管理员权限打开Windows PowerShell。
 - 粘贴复制的命令,执行导入迁移源的操作。
 

执行命令后,出现类似如下回显信息,表示导入迁移源成功。
PS C:\Users\Administrator> $(New-Object -TypeName System.Net.WebClient).DownloadFile('https://p2v-tools.oss-cn-hangzhou.aliyuncs.com/smc/run_smc_client.ps1',
'C:\run_smc_client.ps1'); C:\run_smc_client.ps1 -accesstokenid at-bp14nc53v615hves**** -accesstokencode tcVsYOTWPQoIjocL+X7A+ufZvz5/****
[2023-01-06 13:53:56] [info] start download smc client
[2023-01-06 13:53:59] [Info] ========= Goto Aliyun Client 2.6.5. =====
[2023-01-06 13:53:59] [Info] Load User Config...
[2023-01-06 13:53:59] [Info] Load Client Data...
[2023-01-06 13:53:59] [Info] Check System Info [Windows Server 2016 x8
OS Info: Microsoft Windows Server 2016, (10.0.14393 )
CPU Info: Intel(R) Xeon(R) Platinum 8369B CPU @ 2.70GHz
CPU Usage: 2 Cores (1.54%) Memory Usage: 1.53GB/8.00GB (19.13%)
Hostname: test0 IP Address: 192.168.XX.XX Mac Address: 00163E10****
[2023-01-06 13:54:00] [Info] Verify User Account...
[2023-01-06 13:54:00] [Info] Generate SSH Key...
[2023-01-06 13:54:01] [Info] Import Source Server...
[2023-01-06 13:54:01] [Info] Import Source Server [s-bp19rlidl3mwuptc****] Successfully!
[2023-01-06 13:54:02] [Info] ========= Run In Daemon Mode ========
[2023-01-06 13:54:02] [Info] Goto Aliyun Begin...
[2023-01-06 13:54:02] [Info] Check Source Server Status...
[2023-01-06 13:54:02] [Info] Check Replication Job Status...
Please Goto SMC Console To Create New Job, time: 4m34s \
如果导入迁移源失败,或迁移过程中出现报错,可以通过检查SMC客户端目录下日志文件来获取更多信息。Windows源服务器的SMC客户端默认安装目录为C:\smc。
通过SMC客户端导入迁移源
迁移源概指待迁移IDC服务器、虚拟机、其他云平台的云主机或其他类型的服务器。使用SMC迁移时,需先导入迁移源,再登录SMC控制台进行迁移。下面是通过SMC客户端导入迁移源的操作步骤。
1、迁移前须知
请勿干涉中转实例
每次迁移时,SMC会在阿里云目标账号下创建一台名为No_Delete_SMC_Transition_Instance的临时中转实例,用于辅助迁移。为避免迁移失败,迁移过程中请勿停止、启动、重启或释放中转实例。迁移完成后,该中转实例会自动释放。
迁移数据目录范围说明
Windows服务器:默认只迁移系统盘分区C盘(包括挂载在C盘下的其他目录),生成一个系统盘分区。如果需要迁移其他分区,例如D盘,必须在新建迁移任务时选中并配置数据盘。具体操作,请参见迁移任务数据盘配置项说明。
Linux服务器:
- 当未启用块复制时,默认会迁移系统根目录下的所有目录(包括挂载在根目录下的其他分区目录),生成一个系统盘分区。如果需要将其他分区目录迁移为一个独立的数据盘,例如:/disk1,必须在新建迁移任务时选中并配置数据盘,具体操作,请参见迁移任务数据盘配置项说明。 如果不需要迁移某些分区目录,具体操作,请参见(可选)排除不迁移的文件或目录。
 - 当启用块复制时,默认只会迁移系统盘根分区目录,例如:/、/boot等分区。如果需要迁移其他分区,必须在新建迁移任务时选中并配置数据盘。
 
2、操作步骤
- 登录SMC控制台。
 - 在左侧导航栏,单击迁移源。
 - 在迁移源页面,单击导入迁移源。
 - 在导入迁移源页面,配置相关参数。
 - 导入迁移源。
 
请根据源服务器的操作系统,选择对应的操作:
Windows源服务器导入迁移源
a. 在导入说明后,请根据Windows源服务器的操作系统位数(32位和64位),选择合适的SMC客户端并下载。

b. 使用支持文件传输的第三方远程连接工具将SMC客户端上传至Windows源服务器。例如:WinSCP。
c. 在Windows源服务器里,使用Windows自带的解压工具或自行安装的解压工具,解压SMC客户端压缩包。解压后文件夹中包含的目录和文件,如下图所示。

d. 在适配迁移源系统版本的SMC客户端文件夹,运行SMC客户端。
- GUI版本:双击运行go2aliyun_gui.exe应用程序。
 - 命令行版本:双击运行go2aliyun_client.exe应用程序。
 
e. 获取激活码或者访问密钥(AccessKey)。
获取激活码(推荐):在SMC控制台的导入说明中,单击生成激活码并复制激活码信息。
获取访问密钥(AccessKey):阿里云账号的访问密钥AccessKey包括AccessKey ID和AccessKey Secret,如果未创建,请先创建。
f. 根据提示信息,输入激活码或者访问密钥(AccessKey)。
- GUI版本:在Token Id/AK和Token Code/SK文本框中,输入激活码或者访问密钥(AccessKey)后,单击运行。
 - 命令行版本: 输入激活码access_access_token_id和access_token_code的值,并按Enter键。
 
当回显出现类似“Import Source Server [s-bp11npxndknsycqj****] Successfully!”的信息时,表示导入迁移源成功。
通过配置VMware无代理连接器导入迁移源
VMware无代理迁移提供不侵入客户端操作系统、不占用客户端操作系统的计算资源的无代理迁移能力,能够有效消除用户对服务器安全和性能的顾虑。下面是通过配置VMware无代理连接器手工导入迁移源。
1、环境要求
不同的OVF模板需要的环境要求不同,具体如下表所示。
| OVF模板 | VMware无代理连接器的配置 | vCenter部署 | 单ESXi环境部署 | 
|---|---|---|---|
| SMC VMware Connector 6.5 OVF | vCPU:4 vCPU及以上 内存:8 GB及以上 磁盘:40 GB及以上  | vCenter版本:6.5/6.7/7.0 连接器所在的ESXi版本:6.5/6.7/7.0 待迁移虚拟机所在的ESXi版本:6.0/6.5/6.7 待迁移虚拟机的硬件版本:11/12/13/14/15  | ESXi版本:6.5/6.7 待迁移虚拟机的硬件版本:11/12/13/14/15  | 
| SMC VMware Connector 7.0 OVF | vCPU:4 vCPU及以上 内存:8 GB及以上 磁盘:40 GB及以上  | vCenter版本:7.0 连接器所在的ESXi版本:7.0 待迁移虚拟机所在的ESXi版本:7.0 待迁移虚拟机的硬件版本:13/14/15/16/17/18/19  | ESXi版本:7.0 待迁移虚拟机的硬件版本:13/14/15/16/17/18/19  | 
2、角色权限要求
若使用vCenter用户,其在ESXi和VM上的角色需要分配以下权限:
- Datastore > Browse datastore
 - Datastore > Low-level file operations
 - Host > Local operations > Create virtual machine
 - Virtual machine > Change Configuration > Acquire disk lease
 - Virtual machine > Change Configuration > Toggle disk change tracking
 - Virtual machine > Provisioning > Allow virtual machine download
 - Virtual machine > Provisioning > Allow disk access
 - Virtual machine > Provisioning > Allow read-only disk access
 - Virtual machine > Snapshot management > Create snapshot
 - Virtual machine > Snapshot management > Remove Snapshot
 
若使用ESXi用户,其角色类型需要为Administrator。
3、操作步骤
- 下载并解压OVF模板
 - 登录SMC控制台。
 - 在左侧导航栏,单击迁移源。
 - 在迁移源页面,单击导入迁移源。
 - 在导入迁移源页面,配置相关参数。
 - 在导入说明中,根据VMware ESXi或vCenter的版本下载并解压对应的OVF模板文件。
 

4、部署VMware无代理连接器
在vCenter或ESXi环境中导入VMware无代理连接器OVF模板文件,通过该模板文件部署VMware无代理连接器。部署VMware无代理连接器支持vCenter部署和单ESXi环境部署,可以根据需求选择对应的方式。
vCenter部署方式
在vCenter环境中导入VMware无代理连接器OVF模板,并通过该模板部署VMware无代理连接器。以vCenter 6.7为例,操作步骤如下:
- 登录vCenter,在vCenter主机上,右键单击Deploy OVF Template...。
 

- 在Deploy OVF Template页面,根据配置向导完成创建虚拟机。
 
选择OVF模板后,单击NEXT。
选中Local file,并单击Browse...,选择已解压的OVF模板文件。

- 选择虚拟机名称和安装位置后,单击NEXT。
 
在Virtual machine name后输入虚拟机名称,并选择安装位置。

- 确认模板信息后,单击NEXT。
 

- 选择存储空间后,单击NEXT。
 

- 选择网络资源后,单击NEXT。
 

- 确认配置信息后,单击FINISH。
 

- 部署成功后,在VMware无代理连接器上右键选择Power > Power On启动电源。
 - 用户需要自行配置网络环境,确保创建的VMware无代理连接器能够与vCenter的443端口(默认)、待迁移虚拟机对应ESXi宿主机的902端口(默认)连通。
 - 在Summary页签下,获取VMware无代理连接器的IP地址。
 

单ESXi环境部署方式
在ESXi环境中导入VMware无代理连接器OVF模板,并通过该模板部署VMware无代理连接器。本文以ESXi 7.0,操作步骤如下:
- 登录VMware ESXi,在虚拟机上右键,单击创建/注册虚拟机。
 

- 在选择创建类型页面,选择从OVF或OVA文件部署虚拟机后,单击下一页。
 

- 在选择OVF和VMDK文件页面,输入虚拟机名称后,单击单击以选择文件或拖放,选择已下载的OVF模板文件,单击下一页。
 

- 在选择存储页面,单击下一页。
 

- 在部署选项页面,单击下一页。
 

- 在即将完成页面,单击完成。
 
等待虚拟机部署完成,在一般信息区域中显示出连接器的IP地址(连接器的网络配置默认为DHCP,如需修改请自行配置)。

- 您需要自行配置网络环境,确保创建的VMware无代理连接器能够与ESXi的443和902端口(默认)连通。
 
5、配置待迁移的虚拟机
- 登录VMware无代理连接器。
 
以SSH远程连接方式为例,操作步骤如下:
在某个与VMware无代理连接器网络连通的终端中,运行以下命令,远程连接VMware无代理连接器。默认用户名为root,密码默认为空。
ssh root@<VMware无代理连接器IP地址>
- 运行以下命令,检查时间是否准确。
 
date
- 运行以下命令,配置vCenter或ESXi及待迁移的虚拟机。
 
cd /root/smc
./configure.sh
依次配置VMware vCenter或ESXi的IP地址、用户名、密码、端口号(建议使用默认443),回显信息类似如下所示。
[root@localhost ~]# cd /root/smc
[root@localhost smc]# ./configure.sh
Please input vCenter/ESXi IP:192.168.XX.XX
Please input username:administr****@vsphere.local
Please input password:
Please input port number(default 443):443
提示连接成功,并生成宿主机列表,并要求输入需要迁移的虚拟机对应的宿主机(需选择状态为“已连接”的宿主机,即Connected一栏为*)。
Test to connect the vCenter/ESXi...
Connect success!
save to ./vmware_connect_config.json
========Aliyun SMC VMware Configure Tool 1.2========
Connect success!
Getting host list progress:
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>100.00%]time:1.0s
Host List:
ID Name Version Connected
1 192.168.XX.XX 6.7.0 *
2 192.168.XX.XX 7.0.3 *
Please input the ID of Host(input 0 to exit):1
输入宿主机ID后,生成虚拟机列表,并要求输入需要待迁移虚拟机的ID(需选择状态为“已连接”的虚拟机,即Connected一栏为*)。
Test to connect 192.168.XX.XX
Connect success!
Getting vm list progress:
[>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>100.00%]time:2.3s
VM List of 192.168.XX.XX:
ID Name Connected CBT Add
1080 test1 *
1084 win16bios *
1011 centos7-bios-2 *
3008 centos7-uefi *
2001 centos-hw10 *
Please input the ID of VM to be migrated (input 0 to exit):1084
选择需要迁移的虚拟机的架构。
0 x86_64
1 i386
2 arm64
Please choose the architecture:0
确认系统给出的操作系统类型是否是当前虚拟机的操作系统,若否输入n,在给出的操作系统列表中输入操作系统对应的序号。
Is [CentOS 7 (64-bit)]' truly the OS of VM (y or n)?n
0 CentOS
1 Ubuntu
2 SUSE
3 OpenSUSE
4 Debian
5 RedHat
6 Others Linux
7 Windows Server 2003
8 Windows Server 2008
9 Windows Server 2012
10 Windows Server 2016
11 Windows Server 2019
12 Windows Server 2022
Please choose the OS of VM:
选择系统盘,默认为序号0的虚拟磁盘。
0 [datastore1] win16bios/wins16bios-000001.vmdk
1 [datastore1] wins16bios/wins16bios_1-000001.vmdk
Please choose the system disk (default 0):0
对于虚拟机名称后的Add行显示*,表示添加成功。
VM List of 192.168.XX.XX:
ID Name Connected CBT Add
481 TEST_CLONE_1 *
389 win16bios * *
338 hanjun_test_001 *
386 Aliyun_SMC_Agent_6.5 *
393 win16uefi
以上就是使用阿里云服务器迁移中心SMC将其他云平台业务迁移至阿里云的教程参考,在我们购买阿里云的各种云产品之前,建议先了解一下阿里云当下的迁移相关活动,目前阿里云已经通过权益中心为为初创企业推出了初创企业扶持抵扣金和迁云算力补贴,建议先申请扶持金或者算力补贴之后再购买,这样价格更实惠。
