VMware无代理迁移提供不侵入客户端操作系统、不占用客户端操作系统的计算资源的无代理迁移能力,能够有效消除用户对服务器安全和性能的顾虑。本文介绍如何使用SMC通过无代理的方式迁移VMware虚拟机。
前提条件
已完成迁移前准备工作。具体操作,请参见准备工作(迁移前必读)。
背景信息
VMware vSphere是VMware的虚拟化平台,可将数据中心转换为包括CPU、存储和网络资源的聚合计算基础架构。vSphere将这些基础架构作为一个统一的运行环境进行管理,并为您提供工具来管理加入该环境的数据中心。 vSphere的两个核心组件是ESXi和vCenter Server。ESXi是用于创建并运行虚拟机和虚拟设备的虚拟化平台。vCenter Server是一项服务,用于管理网络中连接的多个主机,并将主机资源池化。
开源虚拟化格式OVF(Open Virtualization Format)文件是一种开源的文件规范,它描述了一个开源、安全、有效、可拓展的便携式虚拟打包以及软件分布格式,它一般有几个部分组成,分别是ovf文件、mf文件、cert文件、vmdk文件和iso文件。
无代理迁移优势
- 资源无占用
SMC客户端不在虚拟机内部运行,不占用虚拟机的各类资源。
- 迁移效率高
无需为每台虚拟机单独安装代理,节省人力与时间成本。
- 安全性高
不在虚拟机操作系统内部进行任何操作,消除用户对安全的顾虑。
- 兼容性高
不依赖虚拟机操作系统内部环境,迁移成功率更高。
迁移流程

- 创建VMware无代理连接器
在SMC控制台下载VMware无代理连接器OVF模板文件,并在vCenter环境中导入VMware无代理连接器OVF模板,通过该模板部署VMware无代理连接器虚拟机。
- 导入迁移源
登录VMware无代理连接器虚拟机,配置vCenter及待迁移的虚拟机,配置完成后执行相关命令导入迁移源。
- 创建迁移任务
在SMC控制台根据界面提示创建并启动迁移任务。迁移完成后生成云服务器镜像,您可以根据云服务器镜像创建ECS实例。
环境要求
vCenter权限 | VMware无代理连接器配置 | 支持版本 |
---|---|---|
登录账号需要获取以下权限:
|
|
|
步骤一:创建VMware无代理连接器
SMC提供OVF模板文件,在vCenter主机上,用户可以根据OVF模板文件部署VMware无代理连接器。
- 登录SMC控制台。
- 在左侧导航栏,单击迁移源。
- 在迁移源页面,单击导入迁移源。
- 在导入迁移源页面,配置相关参数。参数说明如下表所示。
参数 说明 迁移源类型 在下拉列表选择VMware虚拟机。 导入方式 默认选中VMware无代理连接器导入,不可更改。 导入说明 根据导入说明执行导入迁移源的操作。 - 在导入说明中,单击SMC VMware Connector 6.5 OVF,下载OVF模板文件。说明 目前仅支持ESXI版本为6.5/6.7,vCenter版本为6.7,若没有适合您的VMware无代理连接器,请在迁移源类型中选择物理机/虚拟机/云服务器 ,然后选择其他方式导入迁移源并执行迁移操作。具体操作,请参见:
- 通过OVF模板创建VMware无代理连接器。以vCenter 6.7为例,操作步骤如下:
- 用户需要自行配置网络环境,确保创建的VMware无代理连接器能够与vCenter的443端口(默认)、待迁移虚拟机对应ESXi宿主机的902端口(默认)连通。
- 登录VMware无代理连接器。以SSH远程连接方式为例,操作步骤如下:
- 运行以下命令,检查时间是否准确。
如果不准确,可通过ntpdate命令校准时间。本文以date
0.asia.pool.ntp.org
时间服务器为例。ntpdate 0.asia.pool.ntp.org hwclock --systohc
警告 如果时间不准确,会导致导入迁移源失败。
步骤二:导入迁移源
在VMware无代理连接器中,通过命令运行SMC客户端,并将VMware虚拟机的信息导入SMC控制台。
./go2aliyun_client --jobtype=3
命令重新运行SMC客户端。- 登录VMware无代理连接器。
- 运行以下命令,配置文件。
依次配置VMware vCenter的IP地址、用户名、密码、端口号(建议使用默认443),回显信息类似如下所示。cd /root/smc ./configure.sh
提示连接成功,并生成宿主机列表,并要求输入需要迁移的虚拟机对应的宿主机(需选择状态为“已连接”的宿主机,即Connected一栏为*)。[root@localhost ~]# cd /root/smc [root@localhost smc]# ./configure.sh Please input vCenter IP:192.168.XX.XX Please input username:administr****@vsphere.local Please input password: Please input port number(default 443):443
输入宿主机ID后,生成虚拟机列表,并要求输入需要迁移的虚拟机的ID(需选择状态为“已连接”的虚拟机,即Connected一栏为*)。Test to connect the vCenter... Connect success! save to ./vmware_connect_config.json ========Aliyun SMC VMware Configure Tool 1.0======== Connect success! Getting host list progress: [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>100.00%]time:1.1s Getting vm list progress: [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>100.00%]time:0.6s Host List: ------------------------------------------------------------ ID Name Version Connected 1 192.168.XX.XX 6.7.0 * 2 192.168.XX.XX 6.5.0 * 3 192.168.XX.XX 6.7.0 * ------------------------------------------------------------ Please input the ID of Host(input 0 to exit):1
选择需要迁移的虚拟机的架构。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 * -------------------------------------------------------------- Please input the ID of VM to be migrated (input 0 to exit):389
确认系统给出的操作系统类型是否是当前虚拟机的操作系统,若否输入n,在给出的操作系统列表中输入操作系统对应的序号,例如:10。-------------------------------------------------------------- 0 x86_64 1 i386 2 arm64 -------------------------------------------------------------- Please choose the architecture:0
说明 VMware vCenter中创建虚拟机时预设的操作系统类型可能并不真实,需要用户确认。选择系统盘,默认为序号
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 -------------------------------------------------------------- Please input the ID of VM to be migrated (input 0 to exit):0
- 如果您需要迁移多台虚拟机,可继续输入需要迁移的虚拟机的ID。
- 如果您只迁移一台虚拟机,输入0,返回宿主机选择项,如果您需要继续选择迁移其他宿主机中的虚拟机,重复上述操作。反之,输入0,退出配置。
- 运行以下命令,可查看已生成vmware_connect_config.json和vmware_migrate_config.json文件。
回显信息类似如下所示。ll
[root@localhost smc]# ll total 5588 drwxrwxrwx. 4 root root 239 Oct 17 17:27 Check -rwxrwxrwx. 1 root root 6884 Oct 14 15:54 client_data -rwxrwxrwx. 1 root root 151 Oct 14 17:47 configure.sh drwxrwxrwx. 2 root root 72 Nov 1 01:15 dist -rwxrwxrwx. 1 root root 38878 Oct 14 15:54 EULA drwxrwxrwx. 2 root root 4096 Oct 17 17:27 Excludes -rwxrwxrwx. 1 root root 5633792 Oct 31 19:43 go2aliyun_client -rwxrwxrwx. 1 root root 146 Oct 14 15:54 user_config.json -rw-r--r--. 1 root root 263 Nov 10 18:05 vmware_connect_config.json -rw-r--r--. 1 root root 18406 Nov 10 18:07 vmware_migrate_config.json
- 获取激活码或者访问密钥(AccessKey)。
- 获取激活码(推荐):SMC激活码Access Token包括Access Token Id和Access Token Code,如果您没有激活码,请先在在SMC控制台的导入说明中,单击生成激活码并复制激活码信息。
- 获取访问密钥(AccessKey):阿里云账号的访问密钥(AccessKey)包括AccessKey ID和AccessKey Secret,如果您未创建AccessKey,请先创建。具体操作,请参见创建AccessKey。
- 获取激活码(推荐):SMC激活码Access Token包括Access Token Id和Access Token Code,如果您没有激活码,请先在在SMC控制台的导入说明中,单击生成激活码并复制激活码信息。
- 运行以下命令,导入迁移源。
根据回显信息,输入激活码或者访问密钥(AccessKey)。本示例以输入激活码为例,回显信息类似如下所示。当回显信息显示./go2aliyun_client --jobtype=3
Import Source Server [s-bp14zd35128xgjdbh****] Successfully!
时,表示导入迁移源成功。[root@localhost smc]# ./go2aliyun_client --jobtype=3 [2022-11-10 10:12:17] [Info] ========= Goto Aliyun VMware Client1.1.1 ========= [2022-11-10 10:12:17] [Info] Load User Config... Please Enter Access Token Id Or Access Id: at-bp1bq6h8194dnpod**** Please Enter Access Token Code: ****************************** [2022-11-10 10:12:17] [Info] Load Client Data... [2022-11-10 10:12:17] [Info] Load VMware Connect Config... [2022-11-10 10:12:17] [Info] Load VMware Migrate Config... OS Info: Microsoft Windows Server 2016 (64-bit) CPU Info: Intel(R) Xeon(R) Platinum 8269CY CPU @ 2.50GHz CPU: 4 Cores Memory: 8.00GB Hostname: WIN-5KSIG3H94RM IP Address: Mac Address: 00:50:56:b6:**:** [2022-11-10 10:12:17] [Info] Verify User Account... [2022-11-10 10:12:17] [Info] Generate SSH Key... [2022-11-10 10:12:18] [Info] Import Source Server... [2022-11-10 10:12:18] [Info] Import Source Server [s-bp131kz499d1e22f****] Successfully! [2022-11-10 10:12:18] [Info] ========= Run In BackGround Daemon Mode ========= [2022-11-10 10:12:18] [Info] Goto Aliyun Begin... [2022-11-10 10:12:18] [Info] Check Source Server Status... [2022-11-10 10:12:18] [Info] Check Replication Job Status... Please Goto SMC Console To Create New Job, time: 4m30s \
步骤三:创建迁移任务
在SMC控制台根据界面提示创建并启动迁移任务。迁移完成后生成云服务器镜像,您可以根据云服务器镜像创建ECS实例。
- 登录SMC控制台。
- 在左侧导航栏,单击迁移源。
- 在VMware虚拟机页签下,单击目标迁移源操作列下的创建迁移任务。重要 创建迁移任务时,迁移源状态必须为在线。
- 在创建迁移任务对话框中,配置相关参数。参数说明具体如下表所示。
参数 说明 迁移任务类型 默认选择VMware无代理迁移。 基本配置 目标地域 目标地域是指您的VMware服务器要迁入目标阿里云的地域。该参数为必填项。关于地域的更多信息,请参见地域和可用区。 任务名称 迁移任务的名称。 说明 同一阿里云地域下,任务名称必须唯一。任务描述 输入迁移任务的描述信息。 目标磁盘(GiB) 设置目标服务器的磁盘结构。 根据业务需求配置相关参数:
- 默认选中启用块复制,且不可修改。
使用块复制能有效提升迁移传输速度的稳定性,同时能够保证跟源分区结构一致,但分区大小无法修改。
- 系统盘:VMware服务器系统盘的大小,单位为GiB,不可修改。
- 数据盘<N>:目标阿里云服务器ECS数据盘的大小,单位为GiB。 取值范围:20~32768。
- 您可以设置数据盘前复选框的选中情况,自行选择是否生成目标数据盘。
- 变量
<N>
表示第几个数据盘。 - 目标数据盘取值需要大于迁移源数据盘的实际占用大小。例如,源数据盘大小为500 GiB,实际占用100 GiB,则目标数据盘取值需大于100 GiB。
说明 若您的迁移源没有数据盘,或数据盘未挂载,不会出现数据盘配置项。更多信息,请参见为什么新建迁移任务页面没有出现数据盘配置项?。
目标类型 默认选择云服务器镜像,您可以将源服务器迁移为云服务器镜像,并通过云服务器镜像创建ECS实例。目标类型的参数说明如下: 镜像名称 SMC为迁移VMware服务器生成的目标阿里云镜像名称。 说明 同一阿里云地域下,镜像名称必须唯一。许可证类型 根据实际选择许可证类型。具体说明如下: 自动增量同步 迁移任务是否自动同步源服务器增量数据至阿里云。 - 开启该开关后,需设置以下配置项:
- 同步重复频率:增量迁移任务周期性自动执行的时间间隔。
- 最大镜像保留数:增量迁移任务默认保留的最大镜像数。
- 关闭该开关后,迁移任务仅执行一次。
执行方式 选择迁移任务的执行方式: - 立即执行:创建迁移任务后立即启动。
- 预约执行:创建迁移任务后,在设置的时间自动启动迁移任务。 重要 预约执行时间最早可设置为当前时间后10分钟。
- 只创建:仅创建迁移任务,需要手动启动迁移任务。
默认值:立即执行。
标签与网络(可选) 迁移任务标签 为迁移任务绑定标签键值,便于查询与管理迁移任务。 重要 同一个迁移任务最多可绑定20个标签。网络模式 传输迁移数据到中转实例使用的网络。中转实例会被创建在所选专有网络(VPC)、交换机(vSwitch)下,因此中转实例会被分配公网IP。 配置项说明表如下:- 公网传输:迁移数据通过公网传输到中转实例。使用该模式,源服务器需能访问公网。根据实际需要,选择是否指定专有网络(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和vSwitch:迁移任务在您指定的VPC和vSwitch下创建中转实例。
- 私网传输:迁移数据通过VPC内网传输到中转实例。使用该模式,需要将源服务器与阿里云VPC打通,并且必须指定VPC和vSwitch。说明 如果您能直接从自建机房(Integrated Data Center,IDC)、虚拟机环境或者云主机访问某一阿里云地域下的专有网络VPC,建议您使用该方式进行迁移。使用内网传输能获得比通过公网更快速更稳定的数据传输效果,提高迁移工作效率。您可以通过VPN网关、高速通道物理专线、智能接入网关将源服务器和云上VPC打通。更多信息,请参见连接本地IDC。
高级配置(可选) Checksum验证 开启后,可增强数据一致性校验,但是可能会降低传输速度。 默认值:关闭。
传输限速 迁移过程中,数据传输的带宽上限限制,单位为Mbps。 压缩率 迁移过程中,数据压缩传输的级别。 请根据您的实际需要,设置压缩率。 - 在带宽有限的环境下,使用高压缩率,可提升数据的传输速度。
- 在带宽很高的情况下,建议您不压缩传输数据,可减少对迁移源CPU资源的耗费。
取值范围为0~10,默认值为7,0表示不压缩传输数据。
中转实例规格 可根据实际需求选择中转实例规格。 - 选择中转实例规格:系统会选择该实例规格创建中转实例。若该实例规格库存不足,则迁移任务创建失败。
- 不选择中转实例规格:系统默认会按照顺序选择实例规格来创建中转实例。
- 默认选中启用块复制,且不可修改。
- 配置相关参数后,单击创建。
- 在迁移任务页面,在VMware无代理迁移页签,等待迁移任务完成。
- 可选:迁移下一个VMware虚拟机。如果在导入迁移源配置文件时,您添加了多个虚拟机ID,完成一个VMware虚拟机迁移操作后,可以关掉SMC客户端进程,然后迁移下一个VMware虚拟机。操作步骤如下:
(可选)步骤四:多任务迁移
- 可选:创建多个VMware无代理连接器。每台VMware无代理连接器最多支持同时运行5个SMC客户端,如果不能满足您的需求,您可根据当前VMware环境下剩余资源情况,克隆或通过OVF模板文件部署多个VMware无代理连接器,在不同的VMware无代理连接器中运行SMC客户端。本示例以克隆VMware无代理连接器为例。
- 登录VMware无代理连接器。具体操作,请参见登录VMware无代理连接器。
- 对于每台VMware无代理连接器,可通过运行以下命令获取多个SMC客户端。每台VMware无代理连接器最多支持同时运行5个SMC客户端,您可以根据需求复制多个SMC客户端文件。
cd /root cp -r smc smc2 cp -r smc smc3 cp -r smc smc4 cp -r smc smc5 mv smc smc1
重要 每台VMware无代理连接器最多支持同时运行5个SMC客户端。 - 运行以下命令,对每个SMC客户端配置文件。本步骤以运行第2个SMC客户端为例,如果您需要在一个VMware无代理连接器中运行多个SMC客户端,可以到指定目录下,执行
./configure.sh
命令,配置文件。
关于配置文件的具体操作,请参见配置文件。cd /root/smc2 ./configure.sh
- 运行以下命令,查看当前正在运行的SMC客户端相关进程。
回显信息类似下图所示。ps -ef | grep smcvmware_client
说明 多个SMC客户端运行时,根据客户端进程开始运行的时间顺序,SMC客户端进程名依次包含smcvmware_client_1、smcvmware_client_2、... 、smcvmware_client_N。 - 每个客户端对应的迁移任务完成后,通过
Ctrl+C
退出,并通过以下命令结束当前进程。
其中:N表示进程顺序,需替换为实际的值。例如:1、2。./dist/finish N
- 执行以下命令,重新运行SMC客户端,开始迁移下一台VMware虚拟机。
./go2aliyun_client --jobtype=3