引言:混合云浪潮下的无缝VMware上云路径
在企业数字化转型的进程中,将现有VMware虚拟化基础设施无缝延伸至公有云,正成为越来越多IT决策者的现实选择。一个现实的问题是:企业本地数据中心长期基于VMware vSphere、vSAN与NSX构建了成熟的虚拟化体系,并在该体系上运行着大量关键业务应用,包括财务系统、CRM、数据库以及各类遗留IT系统。如果将这些系统重新改造以适配原生公有云的架构和接口,不仅需要极高的开发和迁移成本,还将面临业务长时间中断的巨大风险。
正是在这样的背景下,阿里云与VMware联合推出了阿里云VMware服务(Alibaba Cloud VMware Service,简称ACVS),为企业提供了一条无需架构改动即可将VMware工作负载直接运行于阿里云环境中的混合云路径。ACVS将VMware Cloud Foundation中的vSphere、vSAN和NSX-T等组件原生运行在阿里云的神龙服务器之上,通过阿里云VPC与本地数据中心进行二层或三层网络打通,使云上的VMware环境与本地的虚拟机集群在逻辑上如同一套统一的虚拟化基础设施。用户依然使用熟悉的vSphere Client连接管理云端vCenter,所有操作习惯、运维流程、监控工具和自动化脚本无需任何修改。
需要先登录阿里云控制台,点击:阿里云控制台
与此同时,ACVS的计费模式采用包年包月的订阅方式,云上VMware集群可以随时弹性扩容或缩容,并且不需要为闲置的物理服务器支付超额成本。这使得ACVS特别适合用于数据中心的快速扩容、灾备站点的云上建设、以及将本地老旧硬件承载的VMware集群整体迁移至更可靠的云端基础架构之上。本文将从实际落地的角度出发,系统化地讲解从ACVS环境创建、网络打通、业务部署,到备份容灾与API自动化运维的完整流程,帮助读者在真实的混合云生产环境中正确地对接和使用阿里云VMware服务。
一、ACVS核心架构解析:混合云的同构底座
要正确对接和使用阿里云VMware服务,首先需要理解它的底层架构逻辑。ACVS并不是阿里云ECS平台上的一层简单虚拟化封装,而是通过在裸金属服务器上直接运行VMware的软件栈,实现了与本地VMware环境高度一致的技术堆栈。这一架构主要由三个核心组件构成:vSphere ESXi提供计算虚拟化能力,vSAN提供分布式存储,NSX-T提供软件定义的网络和安全服务。三者共同构成VMware SDDC(软件定义数据中心),用户可以看到并管理完整的vCenter和NSX Manager控制台,就和操作本地数据中心的VMware环境一样。
在ACVS的架构中,网络层面分为管理网络和工作负载网络两个平面。管理网络承载vCenter Server、NSX Manager、NSX Edge等管理组件的通信,由阿里云后台自动配置。工作负载网络则由用户自己创建NSX Overlay分段来承载业务虚拟机。每个专属VMware环境在创建时会绑定一个用户的阿里云VPC,该VPC默认只能访问ACVS的管理组件vCenter和NSX Manager,不能直接访问NSX分段内的业务虚拟机。要实现业务网络与VPC之间的互通,需要在NSX-T控制台中配置网关防火墙策略,允许VPC网段与业务NSX分段之间双向通信。
ACVS产品具有以下几大核心优势:
- 一致体验:使用为云优化的vCenter和NSX Manager等管理组件进行管理和配置专属VMware环境,与本地VMware环境的操作体验一致,用户可以充分利用现有的知识储备,无重复学习成本。
- 无缝集成:和云企业网CEN、专有网络VPC等产品无缝集成,使专属VMware环境的工作负载访问阿里云原生服务轻而易举,浑然一体。
- 快速迁移:和本地VMware环境同网同构,通过VMware或经VMware认证的产品和工具,用户VMware虚拟机可以在无需重构、保留IP地址的状态下,自由地在云端专属VMware环境和本地VMware环境间快速迁移。
- 稳定可靠:借助阿里云强大的基础设施运维能力,提供稳定可靠的云上VMware运行环境,专属VMware环境开通即具备同可用区高可用特性,支持宕机迁移,即便发生硬件异常,也能保证VMware虚拟机和工作负载的平稳运行。
目前ACVS已在华东2(上海)、华北2(北京)、华南1(深圳)等多个地域提供部署能力。
二、环境准备:创建专属VMware环境
2.1 开通前的规划
在创建专属VMware环境之前,需要进行充分的网络规划。ACVS当前只支持云企业网CEN(基础版),如需开通CEN(基础版),需要联系VMware服务产品人员。创建实例时,需要选择一个同地域的专有网络VPC,专有网络VPC网段须使用RFC私网地址。此专有网络VPC默认与实例网络互联互通,实例的虚拟机如需开通公网访问,需要购买NAT网关并将其配置在此专有网络VPC上,绑定弹性公网IP后,才能实现公网访问。
在控制台创建实例的页面,"专属VMware服务网段"指VMware SDDC环境所使用的Underlay网段,应使用规划好的RFC私网地址(10.254.0.0/16除外)。用户需要选择专有网络VPC和云企业网CEN,请确保在创建实例时,选择的专有网络VPC已挂载在对应的云企业网CEN之上。为保证正常网络互通,连接到云企业网CEN上的专有网络VPC、边界路由器VBR等网段间需要避免重复造成冲突。
实例涉及与用户的专有网络VPC互通,也可能涉及与用户云下的数据中心网络互通。此外,实例本身也分为Overlay和Underlay两个网段,建议用户在开通前与阿里云技术人员提前进行沟通,合理规划上述网段,避免发生网段重复的问题。
2.2 创建PrivateCloud实例
在完成网络规划后,可以通过VMware服务控制台或OpenAPI创建专属VMware环境(PrivateCloud实例)。创建一个专属VMware环境会创建一个默认集群(包含vCenter、NSX Manager等管理组件),此处选择的主机数量代表了默认集群中的主机数量,后续可以通过添加主机操作来增加默认集群的主机数量。
主机规格基于采用Intel Xeon Scalable处理器、本地全闪存储(All-Flash SSD)的、经VMware认证的专属物理服务器进行构建。添加集群时,主机规格可以和VMware实例的默认集群的主机规格不同,但同一个集群里的主机规格需要保持一致。最小主机数量是3,最大主机数量是16。
2.3 获取管理组件访问信息
实例创建成功后,可在VMware服务控制台实例的服务信息页面找到VMware管理组件的URL地址,通过VPC的ECS跳板机登录并访问上述管理组件。每个实例拥有独立的vCenter Server和NSX Manager。用户需要从阿里云VMware控制台获取vCenter地址和用户名。在本地VMware环境中,用户名一般使用加域的格式名。
三、网络配置:打通VPC与NSX-T分段
3.1 理解网络分层
ACVS的网络架构分为三个层次:管理网络、VPC网络和NSX-T Overlay网络。管理网络承载vCenter Server、NSX Manager等管理组件,由阿里云后台自动配置,用户无需干预。VPC网络是用户在阿里云上创建的专有网络,每个ACVS实例在创建时会绑定一个VPC。NSX-T Overlay网络是用户通过NSX-T创建的软件定义网络分段,用于承载业务虚拟机的网络通信。
默认情况下,绑定的VPC只能访问ACVS的管理组件(vCenter和NSX Manager),不能直接访问NSX分段内的业务虚拟机。业务虚拟机与VPC之间的网络互通需要经过NSX-T的网关防火墙。
3.2 配置NSX-T网关防火墙
要实现VPC与NSX-T分段内业务虚拟机的互通,需要在NSX-T控制台中配置网关防火墙规则。操作步骤如下:
- 通过ECS跳板机登录NSX Manager控制台
- 选择Security > Gateway Firewall > Compute Gateway
- 添加防火墙规则,允许VPC网段与业务NSX分段之间双向通信
出于安全考虑,NSX Gateway Firewall部署了缺省策略,限制实例的VMware虚拟机与专有网络VPC、阿里云云服务(100.64.0.0/10)和公网互通。如需实现上述功能,需要通过ECS跳板机登录NSX Manager,在Security > Gateway Firewall > Compute Gateway页面,添加对应的VMware虚拟机到上述地址的正向或反向规则。
3.3 配置公网访问(SNAT/DNAT)
如果VMware虚拟机上的工作负载需要访问公网或对公网提供服务,需要在控制台专属VMware服务的公网访问子页面进行配置。具体步骤如下:
- 在ACVS控制台中启用公网访问功能
- 在专有网络VPC上创建公网NAT网关并绑定弹性公网IP
- 在NSX-T控制台中配置网关防火墙规则,允许虚拟机访问公网
在控制台的公网访问子页面配置SNAT或DNAT时,需要选择NAT网关实例。完成SNAT或DNAT配置后,需要在专有网络VPC页面将自动产生的指向NAT网关的0.0.0.0/0默认路由选择发布进云企业网CEN。直接通过NSX Manager配置界面创建的NAT规则无法成功访问公网。
3.4 创建NSX-T分段
实例的VMware虚拟机需要连接于NSX-T分段(Segment)之上,请在为VMware虚拟机配置网络适配器前完成NSX-T分段的创建。创建和删除NSX-T分段的操作,请在控制台专属VMware服务的NSX-T配置子页面,使用规划好的RFC私网地址进行创建。创建好的NSX-T分段会统一连接在CGW之上,并与创建实例时互联互通的专有网络VPC以及其他阿里云云服务互联互通。
重要提示:不要试图通过NSX Manager的配置界面直接创建NSX-T分段,否则所创建出的NSX-T分段无法与创建实例时互联互通的专有网络VPC以及其他阿里云云服务连通。所有NSX-T分段的创建必须在ACVS控制台完成。
四、备份容灾:云备份服务对接
4.1 开通云备份服务
云备份是阿里云提供的统一灾备平台,支持对本地VMware环境和ACVS中的虚拟机进行备份与恢复。开通云备份服务不收取费用,云备份收取软件使用费(VMware备份软件使用费)和存储容量费等。
开通云备份服务后,可以在云备份控制台上创建备份和恢复任务。云备份可以备份阿里云VMware服务中的虚拟机,并在需要时恢复已备份的虚拟机。
4.2 准备工作
在进行VMware备份之前,需要完成以下准备工作:
- 创建RAM用户并获取AccessKey:RAM是阿里云提供的用户身份管理与资源访问控制服务。激活灾备网关需要AccessKey信息,由于阿里云账号AccessKey泄露会威胁所有资源的安全,强烈建议使用RAM用户AccessKey进行操作。备份前需要创建RAM用户并为RAM用户创建访问密钥。
- 获取VMware管理组件访问信息:需要获取具备访问vCenter Server及其资源的VMware用户名和密码。在vCenter Server中,可以创建VMware角色和VMware用户,并将该角色权限授予VMware用户。
- 配置防火墙白名单:为保证云备份能正常提供VMware备份和恢复服务,需要将接入点域名和端口配置为防火墙白名单。例如VMware服务在华东2(上海)地域,需要将管理面mqtt域名、数据面OSS域名和云备份VPC接入域名添加到VMware环境防火墙白名单中。
4.3 部署备份网关
在完成准备工作后,需要在ACVS环境中安装并激活备份网关。激活后,可以在云备份控制台上创建备份和恢复任务。备份网关的部署步骤如下:
- 登录云备份控制台
- 选择VMware备份容灾功能
- 配置并下载灾备网关到ACVS环境中
- 在ACVS环境中部署网关OVA模板
- 激活网关并配置AccessKey
需要注意,激活备份网关的AccessKey存在过期轮转的情况。AccessKey轮转时,需要重新激活备份网关,否则会导致备份失败。
4.4 创建备份计划与执行恢复
备份网关激活后,可以在云备份控制台创建备份计划,设置备份计划名称、备份周期、备份保留时间等参数。云备份提供立即备份和定期备份两种备份模式,还可以结合业务场景在计划备份时使用增量备份策略。
当需要进行恢复时,可以在云备份控制台选择备份历史,在目标备份作业的操作列单击恢复到VMware。可以选择将数据恢复到本地VMware环境或者阿里云VMware服务。云备份还支持将VMware虚拟机的备份数据在阿里云环境中恢复为ECS镜像,实现从本地数据中心到云端的虚拟机级容灾与迁移。恢复过程中系统会自动创建临时中转实例用于还原数据,完成后中转实例自动释放,目标ECS实例可直接用于恢复业务运行。
五、虚拟机迁移:SMC无代理迁移
5.1 迁移方案概述
服务器迁移中心(SMC)是阿里云提供的服务器迁移平台,支持将VMware虚拟机迁移到阿里云。SMC提供无代理迁移方式,通过VMware Agentless无侵入式迁移技术,将VMware虚拟机的业务迁移到阿里云,无需在虚拟机内部安装任何软件或代理。SMC客户端不在虚拟机内部运行,不占用虚拟机的各类资源。
SMC为免费服务,但是迁移过程中使用阿里云ECS资源(创建迁移中转实例、中转云盘)会产生少量费用。
5.2 无代理迁移操作步骤
VMware无代理迁移的核心操作流程如下:
- 部署无代理连接器:在vCenter或ESXi环境中导入VMware无代理连接器OVA模板文件,通过该模板文件部署VMware无代理连接器。这种方式有助于减少对生产环境的干扰,提高迁移过程的安全性和效率。
- 配置迁移源:使用configure.sh脚本添加需要迁移的虚拟机。每个配置的虚拟机都会在SMC控制台中显示为一个迁移源。
- 创建并运行迁移任务:在SMC控制台创建迁移任务,选择迁移目标(ECS实例或ACVS环境),启动迁移。
- 增量同步(可选):使用增量迁移可以在自定义的时间间隔内,将源VMware系统产生的增量数据同步至阿里云,有效减少源VMware系统业务暂停时间及最终交割时间。
在迁移前,需要了解阿里云ECS实例对操作系统和VMware平台的使用限制。迁移过程中,用户可以在SMC控制台监控迁移任务状态,如遇错误,可查看日志并根据SMC FAQ进行问题修复。
5.3 迁移后的验证与回切
迁移完成后,需要验证ECS实例或ACVS中的虚拟机是否正常运行。如果业务运行正常,可以逐步将流量切换到云上环境。如果出现问题,阿里云连续复制型容灾(CDR)服务支持将云上恢复出来的ECS回切到云下VMware环境中。
利用ACVS与本地VMware环境同网同构的特性,用户VMware虚拟机可以在无需重构、保留IP地址的状态下,自由地在云端专属VMware环境和本地VMware环境间快速迁移。
六、自动化运维:API与SDK集成
6.1 管理平面API
ACVS提供OpenAPI用于管理专属VMware环境,包括创建实例、添加主机、添加集群等操作。用户可以通过OpenAPI Explorer在线调试接口,阿里云SDK、阿里云CLI、Terraform等多种调用方式均可使用。ACVS已与操作审计服务集成,可以在操作审计中查询用户操作ACVS产生的管控事件,支持将管控事件投递到日志服务SLS的LogStore或对象存储OSS的存储空间中。
6.2 工作负载自动化:pyVmomi实践
对于ACVS中运行的VMware工作负载,用户可以使用与本地VMware环境完全相同的自动化工具和脚本。pyVmomi是VMware官方提供的Python SDK,用于通过vSphere API管理vCenter和ESXi。以下是一个使用pyVmomi连接ACVS中的vCenter并获取虚拟机列表的示例代码:
from pyVim.connect import SmartConnect, Disconnect import ssl def get_vm_list(vcenter_host, username, password): # 创建SSL上下文(忽略证书验证,生产环境建议使用有效证书) ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2) ssl_context.verify_mode = ssl.CERT_NONE # 连接vCenter service_instance = SmartConnect( host=vcenter_host, user=username, pwd=password, sslContext=ssl_context ) # 获取内容对象 content = service_instance.RetrieveContent() # 遍历所有虚拟机 vm_list = [] for child in content.rootFolder.childEntity: if hasattr(child, 'vmFolder'): vm_folder = child.vmFolder for vm in vm_folder.childEntity: if hasattr(vm, 'name'): vm_list.append({ 'name': vm.name, 'power_state': vm.runtime.powerState, 'guest_full_name': vm.guest.guestFullName if vm.guest else 'N/A' }) Disconnect(service_instance) return vm_list # 使用示例(ACVS环境中的vCenter地址) if __name__ == '__main__': vms = get_vm_list( vcenter_host='vc-xxxxx.acvs.aliyuncs.com', username='cloudadmin@vsphere.local', password='your_password' ) for vm in vms: print(f'虚拟机: {vm["name"]}, 状态: {vm["power_state"]}')
上述代码展示了如何通过pyVmomi连接到ACVS环境中的vCenter,获取所有虚拟机的名称、运行状态和客户机操作系统信息。用户可以将此脚本集成到企业的自动化运维平台中,实现批量操作、监控告警等高级功能。
6.3 Terraform基础设施即代码
对于希望采用基础设施即代码(IaC)实践的用户,ACVS支持通过Terraform进行管理。以下是一个使用Terraform创建ACVS实例的配置示例:
provider \"alicloud\" { region = \"cn-shanghai\" } resource \"alicloud_acvs_instance\" \"example\" { instance_name = \"my-acvs-instance\" host_spec = \"vs182o.16xlarge\" host_count = 3 vpc_id = \"vpc-xxxxx\" cen_id = \"cen-xxxxx\" underlay_cidr = \"10.254.0.0/24\" subscription_duration = 12 # 订阅时长(月) } output \"instance_id\" { value = alicloud_acvs_instance.example.id } output \"vcenter_url\" { value = alicloud_acvs_instance.example.vcenter_url }
通过Terraform,用户可以将ACVS环境的基础设施配置纳入版本控制,实现可重复、可审计的部署流程。
七、计费模式与成本优化
7.1 计费方式
ACVS采用包年包月(预付费)的计费方式。以实例的形式提供基于VMware SDDC软件栈的计算、存储和网络服务,根据实例包含的主机规格和对应的主机数量,收取相应的费用。用户可以通过ACVS控制台根据所选配置和订阅时长估算价格。ACVS是阿里云与VMware联合开发的VMware Cloud公共云服务,VMware软件授权费用已包含在服务费用中,无需单独支付VMware软件许可费用。
7.2 成本优化建议
在使用ACVS过程中,可以从以下几个方面进行成本优化:
- 合理规划集群规模:根据业务需求选择合适的主机规格和数量,避免过度配置。单个集群最小主机数量为3,最大为16。
- 利用弹性扩缩容:ACVS支持随时添加或移除主机,可以根据业务负载变化灵活调整集群规模。
- 选择合适的订阅时长:包年包月模式下,长期订阅通常享受更大的价格优惠。
- 内网访问云服务:ACVS实例中的VMware工作负载可以通过绑定的VPC访问阿里云云服务(如ECS、OSS等),内网流量不产生额外费用。
八、常见问题与解答
问题1:ACVS中的虚拟机如何与VPC中的ECS实例互通?
需要在NSX-T控制台中配置网关防火墙规则。默认情况下,VPC只能访问ACVS的管理组件(vCenter和NSX Manager),不能直接访问NSX分段内的业务虚拟机。用户需要在NSX Manager的Security > Gateway Firewall > Compute Gateway页面添加防火墙规则,允许VPC网段与业务NSX分段之间双向通信。
问题2:云备份是否可以同时备份本地VMware和ACVS中的虚拟机?
可以。云备份支持对本地VMware环境中的虚拟机和阿里云VMware服务(ACVS)中的虚拟机进行备份。用户可以在云备份控制台统一管理两边的备份任务。两种场景的备份流程基本一致,区别在于ACVS场景下需要从阿里云VMware控制台获取vCenter地址。
问题3:本地VMware虚拟机迁移到ACVS有哪些方式?
主要有两种方式。第一种是使用SMC无代理迁移,通过VMware Agentless无侵入式迁移技术将虚拟机迁移到阿里云,无需在虚拟机内部安装任何软件。第二种是使用云备份的VMware虚拟机迁移功能,通过代理整机迁移方式将虚拟机整机迁移到ECS。两种方式各有优势,SMC方式对生产环境影响更小,云备份方式在备份与迁移一体化方面更具优势。
问题4:ACVS中的NSX-T分段为什么必须在控制台创建?
因为通过NSX Manager配置界面直接创建的NSX-T分段无法与创建实例时互联互通的专有网络VPC以及其他阿里云云服务连通。所有NSX-T分段的创建必须在ACVS控制台的NSX-T配置子页面完成,这样创建好的分段会自动连接在CGW之上,确保与VPC和阿里云云服务的网络互通。
问题5:ACVS支持哪些地域?主机规格有哪些选择?
目前ACVS已在华东2(上海)、华北2(北京)、华南1(深圳)等多个地域提供部署能力。不同地域支持的主机规格有所不同,华东2(上海)支持vs182o.16xlarge规格,华北2(北京)和华南1(深圳)支持vs242.12xlarge和vs221.10xlarge规格。主机规格基于采用Intel Xeon Scalable处理器、本地全闪存储的经VMware认证的专属物理服务器。
问题6:ACVS的计费模式是怎样的?
ACVS采用包年包月(预付费)的计费方式,根据实例包含的主机规格和主机数量收取费用。VMware软件授权费用已包含在服务费用中,无需单独支付。用户可以通过ACVS控制台根据所选配置和订阅时长估算价格。