VMware无代理迁移提供不侵入客户端操作系统、不占用客户端操作系统的计算资源的无代理迁移能力,能够有效消除用户对服务器安全和性能的顾虑。本文介绍如何使用SMC通过无代理的方式迁移VMware虚拟机。
您也可以使用有代理的方式迁移VMware虚拟机,具体操作,请参见服务器迁移至ECS实例。
迁移场景
(推荐)将服务器迁移至阿里云ECS自定义镜像。
如果您未购买阿里云ECS实例,可以将服务器迁移至阿里云ECS自定义镜像,然后手动使用自定义镜像创建ECS实例。
将服务器迁移至已购买的阿里云ECS实例。
如果您已经购买阿里云ECS实例,且已购买ECS实例的存储、操作系统等配置和源服务器适配,则可以将源服务器迁移至已购买的阿里云ECS实例。
警告迁移后,目标ECS实例中的原数据将会被清除(源服务器的数据不会受到影响)。因此,如果目标ECS实例中存在重要数据,不推荐您使用该方式进行迁移。
环境要求
不同的OVA模板需要的环境要求不同,具体如下表所示。
OVA模板 | VMware无代理连接器的配置 | vCenter部署 | 单ESXi环境部署 |
SMC VMware Connector 6.7 OVA |
|
|
|
SMC VMware Connector 8.0 OVA |
|
|
|
角色权限要求
若使用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。
前提条件
已完成迁移前准备工作。具体操作,请参见迁移前准备。
为避免数据丢失,建议重要数据备份至镜像、快照或该实例以外的存储设备中。
如果您需要将源服务器迁移至已购买的阿里云ECS实例:
操作步骤
步骤一:创建VMware无代理连接器
SMC提供OVA模板文件,在vCenter或ESXi环境中导入VMware无代理连接器OVA模板,您可以通过该模板文件部署VMware无代理连接器。
开源虚拟化格式OVF(Open Virtualization Format)文件是一种开源的文件规范,它描述了一个开源、安全、有效、可拓展的便携式虚拟打包以及软件分布格式,它一般有几个部分组成,分别是ovf文件、mf文件、cert文件、vmdk文件和iso文件。OVA是OVF文件包的单文件发行版。
VMware vSphere是VMware的虚拟化平台,可将数据中心转换为包括CPU、存储和网络资源的聚合计算基础架构。vSphere将这些基础架构作为一个统一的运行环境进行管理,并为您提供工具来管理加入该环境的数据中心。vSphere的两个核心组件是ESXi和vCenter Server。ESXi是用于创建并运行虚拟机和虚拟设备的虚拟化平台。vCenter Server是一项服务,用于管理网络中连接的多个主机,并将主机资源池化。
下载并解压OVA模板
单击下载OVA模板,在导入说明中,根据VMware ESXi或vCenter的版本下载并解压对应的OVA模板文件。
部署VMware无代理连接器
在vCenter或ESXi环境中导入VMware无代理连接器OVA模板文件,通过该模板文件部署VMware无代理连接器。部署VMware无代理连接器支持vCenter部署和单ESXi环境部署,您可以根据需求选择对应的方式。
vCenter部署(推荐)
在vCenter环境中导入VMware无代理连接器OVA模板,并通过该模板部署VMware无代理连接器。以vCenter 6.7为例,操作步骤如下:
登录vCenter,在vCenter主机上,右键单击Deploy OVF Template...。
在Deploy OVF Template页面,根据配置向导完成创建虚拟机。
选择OVA模板后,单击NEXT。
选中Local file,并单击Browse...,选择已解压的OVA模板文件。
选择虚拟机名称和安装位置后,单击NEXT。
在Virtual machine name后输入虚拟机名称,并选择安装位置。
选择计算资源后,单击NEXT。
确认模板信息后,单击NEXT。
选择存储空间后,单击NEXT。
选择网络资源后,单击NEXT。
确认配置信息后,单击FINISH。
部署成功后,在VMware无代理连接器上右键选择Power > Power On启动电源。
用户需要自行配置网络环境,确保创建的VMware无代理连接器能够与vCenter的443端口(默认)、待迁移虚拟机对应ESXi宿主机的902端口(默认)连通。
在Summary页签下,获取VMware无代理连接器的IP地址。
单ESXi环境部署
在ESXi环境中导入VMware无代理连接器OVA模板,并通过该模板部署VMware无代理连接器。本文以ESXi 7.0,操作步骤如下:
登录VMware ESXi,在虚拟机上右键,单击创建/注册虚拟机。
在选择创建类型页面,选择从OVF或OVA文件部署虚拟机后,单击下一页。
在选择OVF和VMDK文件页面,输入虚拟机名称后,单击单击以选择文件或拖放,选择已下载的OVA模板文件,单击下一页。
在选择存储页面,单击下一页。
在部署选项页面,单击下一页。
在即将完成页面,单击完成。
等待虚拟机部署完成,在一般信息区域中显示出连接器的IP地址(连接器的网络配置默认为DHCP,如需修改请自行配置)。
您需要自行配置网络环境,确保创建的VMware无代理连接器能够与ESXi的443和902端口(默认)连通。
步骤二:导入迁移源
登录VMware无代理连接器,配置待迁移的虚拟机后,在VMware无代理连接器中执行导入迁移源命令,导入迁移源。
配置待迁移的虚拟机
登录VMware无代理连接器。
以SSH远程连接方式为例,操作步骤如下:
在某个与VMware无代理连接器网络连通的终端中,运行以下命令,远程连接VMware无代理连接器。默认用户名为
root
,密码默认为空。ssh root@<VMware无代理连接器IP地址>
重要为了安全考虑,建议您及时修改密码。
运行以下命令,检查时间是否准确。
date
如果不准确,可通过ntpdate命令校准时间。本文以
0.asia.pool.ntp.org
时间服务器为例。ntpdate 0.asia.pool.ntp.org hwclock --systohc
警告如果时间不准确,会导致导入迁移源失败。
运行以下命令,配置vCenter或ESXi及待迁移的虚拟机。
说明本步骤的操作将获取环境下所有的宿主机和虚拟机的列表,如果您已知晓需要配置的宿主机或者虚拟机的名称,可跳过此步骤,直接指定名称进行配置。具体操作,请参见VMware无代理迁移中,如何直接指定宿主机下的虚拟机或者虚拟机?。
cd /root/smc bash 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
若当前虚拟机的操作系统未被成功识别,在给出的操作系统列表中输入操作系统对应的序号,例如:10。
说明VMware vCenter中创建虚拟机时预设的操作系统类型可能并不真实,需要用户确认。
------------------------------------------------------------------------ 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 ------------------------------------------------------------------------ Current OS [Apple macOS 10.14 (64-bit)] is invalid, please choose the OS of VM:10
对于虚拟机名称后的
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
导入迁移源
在VMware无代理连接器中,通过命令运行SMC客户端,并将VMware虚拟机的信息导入SMC控制台。
SMC客户端运行期间,避免人为对待迁移的VMware虚拟机执行关机、重启、创建和删除快照等相关操作。若您对待迁移的VMware虚拟机执行了创建和删除快照的操作,可能导致迁移失败。因此导致迁移失败后,需要在SMC客户端主目录/root/smc下执行./dist/migrate_configure,重新获取虚拟机配置后,执行./go2aliyun_client --jobtype=3
命令重新运行SMC客户端。
登录SMC控制台。
在左侧导航栏,选择
。在VMware无代理迁移页面,单击导入迁移源。
在导入迁移源页面,配置相关参数。
参数说明如下表所示。
参数
说明
迁移源类型
在下拉列表选择VMware虚拟机。
导入方式
默认选中VMware无代理连接器导入,不可更改。
导入说明
根据导入说明执行导入迁移源的操作。
获取激活码或者访问密钥(AccessKey)。
获取激活码(推荐):SMC激活码Access Token包括Access Token Id和Access Token Code,如果您没有激活码,请先在SMC控制台的导入说明中,单击生成激活码并复制激活码信息。
获取访问密钥(AccessKey):阿里云账号的访问密钥(AccessKey)包括AccessKey ID和AccessKey Secret,如果您未创建AccessKey,请先创建。具体操作,请参见创建AccessKey。
登录VMware无代理连接器,依次运行以下命令,导入迁移源。
chmod +x ./go2aliyun_client ./go2aliyun_client --jobtype=3
根据回显信息,输入激活码或者访问密钥(AccessKey)。本示例以输入激活码为例,回显信息类似如下所示。当回显信息显示
Import Source Server [s-bp14zd35128xgjdbh****] Successfully!
时,表示导入迁移源成功。在SMC控制台的VMware无代理迁移页面的迁移实时状态列,查看迁移源的状态。
步骤三:创建迁移任务
在SMC控制台根据界面提示创建并启动迁移任务。SMC支持将VMware服务器迁移以下目标类型:
(推荐)云服务器镜像:迁移为自定义镜像,然后您可以根据自定义镜像创建ECS实例。
云服务器实例:如果您已购买全新ECS实例或者已购买的ECS实例的数据不再需要,可以将待迁移的VMware虚拟机直接迁移至ECS实例,但待迁移的VMware虚拟机需要和已购买的ECS实例的存储数量、大小、操作系统等需要适配。
警告创建迁移任务后,目标ECS实例中的原数据将会被清除(源服务器的数据不会被清除)。如果ECS实例中存在重要数据,不推荐您使用该方式迁移。
登录SMC控制台。
在左侧导航栏,选择
。在目标迁移源的操作列,单击开始迁移。
根据界面提示配置相关参数后,单击立即创建。
配置基本参数,参数说明具体如下表所示。
参数
说明
示例
任务名称
迁移任务的名称。
VMware无代理迁移
任务描述
输入迁移任务的描述。
test
目标类型(必填)
您可以根据实际迁移场景选择对应的目标类型:
云服务器镜像
将现有的源服务器转换成云服务器镜像,再使用该镜像创建新的ECS实例来实现迁移。
配置项说明如下:
目标地域:目标地域指的是您的源服务器要迁入阿里云的地域。该参数为必填项。关于地域的更多信息,请参见地域和可用区。
镜像名称:SMC为迁移源生成的目标阿里云自定义镜像名称。
云服务器实例
将源服务器直接迁移至已购买的ECS实例,源服务器和已购买的ECS实例的存储、操作系统等需要适配。
配置项说明如下:
目标地域:目标地域指的是您的源服务器要迁入阿里云的地域。该参数为必填项。关于地域的更多信息,请参见地域和可用区。
目标实例:选择一个ECS实例作为目标实例。
云服务器镜像
执行方式
选择迁移任务执行方式:
立即执行:创建迁移任务后立即启动。默认选择立即执行。
预约执行:创建迁移任务后,在设置的时间自动启动迁移任务。
说明预约执行时间最早可设置为当前时间后10分钟。
只创建:仅创建迁移任务,后续需要在操作列单击开始任务,手动启动迁移任务。
保持默认
配置磁盘参数,参数说明具体如下表所示。
参数
说明
示例
目标磁盘(GiB)
设置目标云服务器的磁盘结构。根据业务需求配置相关参数:
系统盘
目标阿里云云服务器系统盘的大小,单位为GiB。系统盘大小取值范围为20~2048。目标系统盘取值需要大于迁移源系统盘实际占用大小。例如,源系统盘大小为400 GiB,实际占用100 GiB,则目标系统盘取值需大于100 GiB。
说明默认值为迁移源系统盘大小,如无缩小系统盘容量的需要,建议不要小于默认值。
数据盘
数据盘<N>:表示迁移后阿里云云服务器数据盘的大小,单位为GiB。 数据盘大小取值范围:20~32768。
您可以设置数据盘前复选框的选中情况,自行选择是否迁移目标数据盘。
变量
<N>
表示第几个数据盘。数据盘取值需要大于迁移源数据盘的实际占用大小。例如,源数据盘大小为500 GiB,实际占用大小为100 GiB,则目标数据盘取值需大于100 GiB。
说明若您的迁移源没有数据盘,或数据盘未挂载,则不会出现数据盘配置项。更多信息,请参见为什么新建迁移任务页面没有出现数据盘配置项?。
保持默认
(条件必选)如果您需要设置网络模式、压缩率等参数,单击高级配置,配置高级参数,参数说明具体如下表所示。
参数
说明
示例
网络模式
选择传输迁移数据到中转实例使用的网络,默认使用公网传输。中转实例会被创建在所选专有网络(VPC)、交换机(vSwitch)下,因此中转实例会被分配公网IP。
公网传输(默认)
迁移数据通过公网传输到中转实例。使用该模式,源服务器需能访问公网。根据实际需要,选择是否指定专有网络(VPC)和交换机(vSwitch)。
指定VPC和vSwitch:迁移任务在您指定的VPC和vSwitch下创建中转实例。
不指定VPC和vSwitch:迁移任务会在系统自动新建的VPC和vSwitch下创建中转实例。
私网传输
迁移数据通过VPC内网传输到中转实例。使用该模式,需要将源服务器与阿里云VPC打通,并且必须指定VPC和vSwitch。
说明如果您能直接从自建机房(Integrated Data Center,IDC)、虚拟机环境或者云主机访问某一阿里云地域下的专有网络VPC,建议您使用该方式进行迁移。使用内网传输能获得比通过公网更快速更稳定的数据传输效果,提高迁移工作效率。您可以通过VPN网关、高速通道物理专线、智能接入网关将源服务器和云上VPC打通。更多信息,请参见连接本地IDC。
保持默认
传输限速
迁移过程中,数据传输的带宽上限限制,单位为Mbps。
保持默认
压缩率
迁移过程中,数据压缩传输的级别。请根据您的实际需要,设置压缩率。
在带宽有限的环境下,使用高压缩率,可以提升数据的传输速度。
在带宽很高的情况下,建议您不压缩传输数据,可减少对迁移源CPU资源的耗费。
取值范围为0~10,默认值为7,0表示不压缩传输数据。
保持默认
Checksum验证
默认关闭,开启后,可增强数据一致性校验,但是可能会降低传输速度。
保持默认
许可证类型
选择许可证类型。
阿里云:阿里云提供的微软许可证。更多信息,请参见阿里云支持激活哪些Windows Server?。默认选择此选项。
自带许可:自带许可(Bring Your Own License,简称BYOL) 迁移上云目前主要包括Microsoft和Redhat。更多信息,请参见SMC是否支持自带许可证迁移上云?。
保持默认
镜像检测
镜像检测功能主要检测镜像是否为有效镜像、镜像是否可以创建出功能齐全的ECS实例等。您可以在创建服务器迁移和VMware无代理迁移任务时使用镜像检测功能。
镜像检测可以能帮您快速发现迁移后镜像或实例存在的潜在问题,并提供修复方案,使其符合阿里云标准,提升启动实例成功率。
更多信息,请参见配置镜像检测。
保持默认
自动增量同步
迁移任务是否自动同步源服务器增量数据至阿里云。默认关闭自动增量同步。
说明如果选择迁移到目标实例,则不支持此功能。
开启该开关后,需设置以下配置项:
同步重复频率:增量迁移任务周期性自动执行的时间间隔。
最大镜像保留数:增量迁移任务默认保留的最大镜像数。
迁移任务将自动周期性执行,并同步增量数据至阿里云。增量迁移的最佳实践,请参见VMware无代理增量迁移。
关闭该开关后,迁移任务仅执行一次。
增量同步会对比新旧数据,仅对增量数据执行同步。
若在全量迁移完成后,再次创建迁移任务时选中自动增量同步,则此任务仅对增量数据执行同步。
保持默认
迁移任务标签
为迁移任务绑定标签键值,便于查询与管理迁移任务。更多信息,请参见使用标签管理迁移源和迁移任务和通过标签实现精细化权限管理。
说明同一个迁移任务最多可绑定20个标签。
保持默认
中转实例规格
可根据实际需求选择中转实例规格。当目标类型选择云服务器镜像时,才会出现此参数。
选择中转实例规格:系统会选择该实例规格创建中转实例。若该实例规格库存不足,则迁移任务创建失败。
不选择中转实例规格:系统默认会按照顺序选择实例规格来创建中转实例。
重要为避免迁移出错,请在迁移过程中请勿停止、启动、重启或者释放中转实例。
在弹出的对话框中,仔细阅读迁移提示后,单击我确认我已知悉。
在迁移任务页面,查看迁移实时状态。
由于传输数据耗时受源端数据大小,网络带宽等因素影响,请耐心等待迁移任务完成。
在迁移任务状态为同步中时,如果您需要暂停迁移任务,可在操作列单击暂停任务。
(可选)如需查看任务的详情信息,参照以下步骤。
在目标迁移源的迁移源ID/名称列,单击欲查看的迁移源ID/名称值。如下图所示:
在迁移任务页签即可查看任务详情。如下图所示:
(可选)步骤四:迁移下一个VMware虚拟机
如果在配置待迁移的虚拟机时,您添加了多个虚拟机ID,完成一个VMware虚拟机迁移操作后,可以关掉SMC客户端进程,然后迁移下一个VMware虚拟机。操作步骤如下:
登录VMware无代理连接器。具体操作,请参见登录VMware无代理连接器。
通过
Ctrl+C
退出正在运行的SMC客户端进程,并通过以下命令结束当前SMC客户端进程。./dist/finish 1
执行以下命令,重新运行SMC客户端,开始迁移下一台虚拟机。
./go2aliyun_client --jobtype=3