VMware vSphere Web Services SDK编程指南(十一)- 11.2 使用分布式虚拟交换机
11.2 使用分布式虚拟交换机DistributedVirtualSwitch 托管对象是位于 vCenter 服务器上的虚拟网络交换机,一个分布式虚拟交换机管理代理交换机(HostProxySwitch)的配置,代理交换机位于由 vCenter Server 管理的 ESXi 主机上,是一个交换机成员。分布式交换机还提供虚拟端口状态管理,以便在 vCenter 服务器操作将虚拟机从一个主机转移到
11.2 使用分布式虚拟交换机
DistributedVirtualSwitch 托管对象是位于 vCenter 服务器上的虚拟网络交换机,一个分布式虚拟交换机管理代理交换机(HostProxySwitch)的配置,代理交换机位于由 vCenter Server 管理的 ESXi 主机上,是一个交换机成员。
分布式交换机还提供虚拟端口状态管理,以便在 vCenter 服务器操作将虚拟机从一个主机转移到另一个主机时保持端口状态。
代理交换机执行网络 I/O 以支持以下网络流量和操作:
■ 在任何主机上的虚拟机之间的网络流量,这些主机是分布式虚拟交换机的成员
■ 使用分布式虚拟交换机的虚拟机和使用 VMware 标准虚拟交换机的虚拟机之间的网络流量
■ 虚拟机和连接到 ESXi 主机在物理网络上的远程系统之间的网络流量
■ vSphere 系统操作以支持 VMotion 或高可用性等功能
DistributedVirtualSwitch 是分布式交换机基础实现,它支持一个 VMware 分布式交换机实现及支持第三方分布式交换机实现,该基础实现提供如下功能(定义于 DVSFeatureCapability 对象中):
■ 网卡聚合(NIC teaming)
■ 网络 I/O 控制
■ 网络资源配置
■ 服务标签的质量
■ 用户定义的资源池
■ I/O 转移( VMDirectPath Gen2)
VmwareDistributedVirtualSwitch 支持如下附加功能(定义于 DVSFeatureCapability 和 VMwareDVSFeatureCapability 对象中):
■ 对 VMware 分布式虚拟交换机及其相关的端口组进行备份、恢复和回滚
■ 最大传输单元(MTU)配置
■ 对 NIC 聚合和 VLAN/MTU 支持的健康检查操作
■ 使用 Internet 协议流信息导出( IPFIX )监视交换机流量
■ 链路层发现协议(Link Layer Discovery Protocol,LLDP)
■ 使用专用 VLAN (PVLAN)的虚拟网络分段
■ 基于 VLAN 的 SPAN(VSPAN)的虚拟分布式端口镜像
■ 为 uplink 端口组定义的链接聚合控制协议(LACP)
11.2.1 分布式虚拟交换机配置
要使用分布式虚拟交换机,您需要在vCenter服务器上创建一个交换机和端口组,并添加主机作为交换机的成员。
1 使用 Folder.CreateDVS_Task 方法创建一个分布式交换机,使用 DVSConfigSpec 创建一个第三方实现的交换机,使用 VMwareDVSConfigSpec 创建一个 VMware 分布式交换机。
2 使用 CreateDVPortgroup_Task 方法为主机和虚拟机网络连接创建端口组,以及代理交换机和物理网卡之间的连接。
DistributedVirtualPortgroup 说明了虚拟端口(DistributedVirtualPort)将被如何使用,当你创建一个分布式虚拟交换机,vCenter Server 会自动地创建一个 uplink 端口组(config.uplinkPortgroup)。Uplink 端口组是分布式虚拟端口组,支持代理交换机和物理网卡间的通信连接。
在分布式交换机上的端口创建由端口组类型(DVPortgroupConfigSpec.type)决定:
■ 如果端口组是早期绑定的(静态的),那么 DVPortgroupConfigSpec.numPorts 确定创建端口组时所创建的端口的数量,如果 DVPortgroupConfigSpec.autoExpand 为 true 的话,这个数量可以增加。
■ 如果端口组是临时的(动态的),那么将忽略 numPorts,并根据需要创建端口。
你还可以指定独立的端口,没有相关联的端口组和在 ESXi 主机上创建的上行端口(DVSConfigSpec.numStandalonePorts)。
DVPortgroupConfigInfo.numPorts 属性是一个分布式虚拟交换机的总端口数,包括由静态的、动态的端口组产生的端口及独立的端口。
3 如果你已经创建了额外的 uplink 端口组,使用 ReconfigureDvs_Task 方法添加端口组到 DVSConfigSpec.uplinkPortgroup 数组中。
4 从主机获取物理 NIC 设备名(HostSystem.config.network.pnic[].device)。
5 添加主机成员到分布式虚拟交换机,配置主机成员:
■ 指定主机(DVSConfigSpec.host[])
■ 指定一个或多个物理 NIC 设备名用于识别主机代理连接到网络的 pNIC(s)(DistributedVirtualSwitchHostMemberConfigSpec.backing.pnicSpec[].pnicDevice)
■ 使用 DistributedVirtualSwitch.ReconfigureDvs_Task 方法来更新交换机配置
当添加一个主机到一个分布式虚拟交换机(DistributedVirtualSwitch.config.host),主机自动地创建一个代理交换机,当主机从该分布式虚拟交换机移除时,该代理交换机也会自动移除。
6 连接主机和虚拟机到分布式虚拟交换机
主机通信 —— 在主机虚拟 NIC spec 指定端口或端口组通信(HostVirtualNicSpec.distributedVirtualPort or HostVirtualNicSpec.portgroup)。
虚拟机通信 —— 为虚拟机上的虚拟网卡(VirtualEthernetCard.backing)在分布式虚拟端口支持(port backing)里指定端口或端口组通信(VirtualEthernetCardDistributedVirtualPortBackingInfo)。
11.2.2 备份、回滚及查询
如果你正在使用 VmwareDistributedVirtualSwitch,你可以在交换机及其相关联的分布式虚拟端口组上执行备份和回滚操作。
当你重新配置一个 VMware 分布式虚拟交换机(ReconfigureDvs_Task),在应用配置更新之前,服务器会保存当前的交换机配置,保存的交换机配置包括端口组配置数据。该服务器使用已保存的交换机配置作为回滚操作的检查点(checkpoint),你可以回滚交换机或端口组配置到已保存的配置,或者回滚到一个备份配置(EntityBackupConfig)。
■ 要备份交换机和端口组配置,使用 DistributedVirtualSwitchManager.DVSManagerExportEntity_Task 方法,该方法生成一个 EntityBackupConfig 对象,该备份配置包含在 SelectionSet 参数中指定的交换机和/或端口组。要备份完整的配置,你必须选择该分布式虚拟交换机及其所有端口组。
■ 要回滚交换机配置,使用 DVSRollback_Task 方法确定该交换机配置是否已改变,如果已改变,使用 ReconfigureDvs_Task 方法来进行完整的回滚操作。
■ 要回滚端口组配置,使用 DistributedVirtualPortgroup.DVPortgroupRollback_Task 方法来确定端口组配置是否已改变,如果已改变,使用 ReconfigureDVPortgroup_Task 方法来进行完整的回滚操作。
要在一个分布式虚拟交换机上执行查询操作,使用 DistributedVirtualSwitchManager 方法。
原文:
VMware vSphere 6.5 Documentation Center:Using a Distributed Virtual Switch
更多推荐
所有评论(0)