vmware虚拟化之vswitch详细资料

一、虚拟交换机的网络介绍

在物理环境之中,主机是通过pSwitch连接到网络当中。而在虚拟化环境中,ESX提供了vswitch和dvswitch。ESX的虚拟主机通过vSwitch来连接网络。vSwitch是通过主机上的物理网卡作为上行链路与外界网络进行连接。

如图所示:

深度分析虚拟化之vswitch

跟普通服务器设备一样,每个虚拟机有着自己的虚拟网卡(virtual NIC),每个 virtual NIC有着自己的MAC地址和IP地址。 Virtual Switch(vSwitch)相当于一个虚拟的二层交换机, ABCDE便是交换机上的虚拟端口vPort,该交换机连接虚拟网卡和物理网卡,将虚拟机上的数据报文从物理网口转发出去。根据需要,vSwitch 还可以支持二层转发、安全控制、端口镜像等功能。

每个vSwitch与物理交换机一样,包含一定数量的端口,相同特性的虚拟端口vPort集合就是端口组;vSwitch端口逻辑上可分为三种类型:

  1. 虚拟机端口组,用于虚拟网络连接

  2. VmKernel端口:用于VMotion网络、iSCSI/NFS网络、ESX/ESXi管理网络(ESXi中没有Service Console)

  3. Service Console端口:用于ESX Service Console管理网络,如:vSphere Client和vCenter就是使用此网络管理ESX

二、虚拟交换机的功能及配置

ESX的vSwitch是当前虚拟化产品中功能较为全面和易于管理的一款虚拟化交换机。他主要有以下几个功能:

ESX/ESXi    Standard Vswitch
功能 说明
多网络管理 在vSwitch作为全局的虚拟交换机管理基础上,vNetwork细分了每个vlan下的虚拟主机的安全管理,流量控制及网卡绑定规则
流量控制 定义vPort(端口组)中的流量进行控制策略
安全管理 简单的网络安全管理
网卡绑定 主要用于网络冗余及负载均衡

多网络管理

我们知道在数据中心中不可能只有一个网络,比如为webgame服务器和注册站reg服务器分配在不同的vlan;那么在虚拟网络环境中如何做到多个网络环境并存? vSwitch与物理交换机一样可通过配置Vlan实现多网络并存。

物理交换机上配置Vlan后,两台交换机之间通过Trunk通道传输vlan标记信息;与物理交换机相似,在vSwitch中可在虚拟机端口组vNetwork、VMkernel端口上配置Vlan信息,与外界物理网络Vlan间的通信也需要在vSwitch上行链路上配置Trunk通道。

以下以实例介绍配置步骤:

ESX的vSwitch0和vSwitch1的上联分别由两张物理网卡连接组成的teaming,接入交换机并配置vSwitch0上不同的vlan网络分别为ESX管理网络,iscsi,vSwitch1上不同的vlan网络分别为 webgame,reg。通过不同的vNetwork来细化虚拟机的流量策略,网络绑定策略,安全控制等

 深度分析虚拟化之vswitch

在交换机上配置与ESX服务器相连的端口为TRUNK

Switch(config)#interface range TenGigabitEthernet 1/11-14

Switch(config-if-range)#switchport mode trunk

Switch(config-if-range)#switchport trunk allowed vlan all

流量控制

控制vSwitch下的虚拟机简单流量策略,支持虚拟机平均流量控制,虚拟机流量峰值管理,突发流量控制等。也可以在vNetwork中进行配置,vNetwork的优先级高于vswitch。

深度分析虚拟化之vswitch

安全控制

Promiscuous Mode虚拟交换机的混杂模式。开启该模式,所有vNic的报文会复制到vSwitch的所有vPort上面

MAC Address Changes:是否允许虚拟机的网卡变更,如果禁止的话,在修改了MAC地址的vm所有报文将不能够被转发。

Forged Transmits:一个和MAC地址相关的安全配置,当允许了MAC address changes后,修改了MAC地址的VM,可以成功的转发报文。

在NLB的单播模式,需要允许MAC address changes 和 forged transmits 因为单播模式会修改主机的MAC地址。如果禁止的话,会被vSwitch过滤。

深度分析虚拟化之vswitch

网卡绑定

VMware建议ESX中的三种网络类型最好配置不同的Vlan,并且使用不同的上行物理链路分配流量,并且为了保证故障冗余,每个网络类型至少关联2块网卡。这就需要在vSwitch进行网卡绑定。

ESX NIC teaming,相当于vSwitch与交换机的聚合,通过下图可以看到,vSwitch网卡绑定主要功能有:

  1. 网络的负载均衡

  2. 网络故障切换检测

  3. 交换机通知

  4. 故障恢复

深度分析虚拟化之vswitch

1.  ESX的网络负载均衡的3种方式

(1) 基于端口的负载均衡(默认) (Route based on the originating virtual port ID)

这种方式下,负载均衡是基于vPort ID的。一个vPort和ESX主机上的一个pNIC(从vSwitch角度看就是某个uplink)捆绑在一起,只有当这个pNIC失效的时候,才能切到另外的pNIC链路上。这种方式的负载均衡只有在vPort数量大于pNIC的数量时才生效。

什么是vPort呢?形象的说就是vSwitch交换机上的一个端口

因为基于vPort id的负载均衡,VM是vNIC绑定在其中的一个PNIC上,他的uplink速率不可能大于单个PNIC,只有当VM的数量大于PNIC的时候,所以vPort的负载均衡就是VM各个vPort之间的负载均衡。
(2) 基于源MAC的负载均衡(Route based on source MAC hash

这种方式下,负载均衡的实现是基于源MAC地址的。因为每个vNIC总是具有一个固定的MAC地址,因此这种方式的负载均衡同基于端口的负载均衡具有同样的缺点。同样是要求vPort数量大于pNIC的时候才会有效。同样是vNIC的速率不会大于单个pNIC的速率。
(3) 基于IP hash的负载均衡(Route based on IP hash)

这种方式下,负载均衡的实现是根据源IP地址和目的IP地址的。因为同一台VM(源IP地址总是固定的)到不同目的的数据流,就会因为目的IP的不同,走不同的pNIC。只有这种方式下,VM对外的流量的负载均衡才能真正实现。但是VMware的负载均衡(Load Balancing)只是出站(Outbound)的负载均衡,入站流量的负载均衡就需要在物理交换机上配置静态AP。 VMware不支持动态链路聚合协议(例如802.3ad LACP或者Cisco的PAgP).

交换机配置:

Switch(config)#interface range TenGigabitEthernet 1/13-14

Switch(config-if-range)#port-group 1

Switch(config-if-AggregatePort 1)#switch mode trunk

Switch(config-if-AggregatePort 1)#exit

Switch(config)#aggregateport load-balance src-dst-ip

ESX的三种负载均衡优缺点:

负载均衡方式 优点 缺点
基于端口的负载均衡

配置容易,

不需要配置pSwitch,可以跨pSwitch实现链路冗余

Vnetwork还可以选择SMAC的负载均衡方式

对于某个VM,最大的带宽就是某个PNIC的带宽


基于源MAC的负载均衡

配置容易不需要配置pSwitch,可以跨物理交换机实现链路冗余

Vnetwork还可以选择vport的负载均衡方式

对于某个VM,最大的带宽就是某个PNIC的带宽


基于IP hash的负载均衡

能够真正的利用网卡多链路的冗余及扩容

需要在pSwitch配置静态AP

不能够跨交换机实现冗余

Vnetwork必须和vswitch配置相同的负载均衡策略


2.  网络故障切换检测(Network failover Detection)


ESX提供了两种方式的网络故障检测分别为link status only(仅链路状态) 和 beacon probing(信标探测),下面用图表来说明两者的主要优缺点:

a.  Link status only:仅判断网络链路的up 和down状态

深度分析虚拟化之vswitch

b. Beacon probing: vswitch的每个物理网卡周期性的发送广播信号报文,实现网络链路检测。

深度分析虚拟化之vswitch

beacon报文如下:

深度分析虚拟化之vswitch

网络故障检测方式 优点 缺点
link status only(仅链路状态) 

能够检测链路状态的up和down状态

不会造成额外的网络开销

需要交换机支持“Link state tracking”

无法判断链路的配置是否正确,报文是否正常转发


 beacon probing(信标探测)

能够检测链路状态

能够确保网络的连通情况

发送信号广播报文,有额外的网络开销

只有两个网卡绑定的物理网络无法使用


3.    交换机通知(Notify switches)

ESX的交换机通知是用于在VM发生链路变更及vm迁移的时候,用来通告物理交换机,保障物理交换机上能够感知虚拟机的端口变化并更新MAC地址表。

深度分析虚拟化之vswitch

4.    故障恢复(Failback)

ESX默认配置Failback为YES,当Teaming中的网卡恢复后,会依照failover设定好的故障切换顺序,还原Teaming中的PNIC优先级。

三、分布式虚拟交换机

Dvswitch:分布式虚拟交换机是主要是为了简化数据中心的虚拟网络连接,它可以将跨多个 ESX/ESXi主机将网络连接聚合到一个集中的集群级别。 Distributed Switch 可对各个虚拟机的配置进行抽象化处理,并通过Vcenter实现集中部署、管理和监控。原来每ESX标准交换机分别配置,现在vCenter Distributed vSwitch可在数据中心级别集中配置、管理,并且在vSphere 4.0中除了可以使用VMware内置的Distributed vSwitch外,还支持加载第三方厂商的交换模块,比如Cisco针对vSphere虚拟网络环境开发的nexus 1000v 和 nexus 1010。Dvswitch逻辑架构图:

深度分析虚拟化之vswitch

通过dvswitch,配置不同类型的dvport模板,将数据中心中同一类型vnetwork中的vm迁移到对应的dvport,大大提高了虚拟机的管理效率。

下面我们通过实例将vm接入Dvswitch:

实验目的:在虚拟数据中心lixukai,创建一个dvswitch,并将数据中心的vm1和vm2服务器中的虚拟机,由vswitch迁移至dvswitch。

  1. VM1迁移前:

VM1迁移前
 

2. VM2迁移前

VM2迁移前
 

3. 迁移后

迁移后
 

通过上图,不仅可以很清楚的看到数据中心的网络情况,并且通过定义了多个不同的分布式端口组的方式,大大提搞了vSwitch的布署效率。

Dvswitch优点:

数据中心布署环境 布署10台ESX,每个ESX有10个vnetwork 耗时(假设每个vnetwork需要10min)
vswitch 分别创建vnetwork,一共需要创建100个vnetwork 耗时= 1000min
Dvswitch 通过vCenter一次性创建10个dv_network,并将10台ESX接入dvswitch即可 耗时100min

四、总结:

本章介绍的仅仅是虚拟化的一个很小的方面。随着虚拟化技术蓬勃兴起,它正在走向数据中心的各个领域,服务器虚拟化,交换机虚拟化桌面虚拟化。最终还是要落实到如何实实在在的应用上。

  1. 如何提高业务用户的访问速度

  2. 提高业务访问的稳定性

  3. 节省业务的带宽成本

  4. 增加业务持续运行时间,增加可靠性

  5. 减少业务的数据丢失风险

  6. 降低业务异常的维护时间

  7. 减少业务计划内的维护时间

  8. 减少业务硬件成本

  9. 给业务运营分析,业务改进提供数据支持

带着这些问题,我们更深入的去了解、学习和应用虚拟化,一起努力把我们的虚拟化产品做好。


你可能感兴趣的:(vmware,虚拟化,vSwitch)