随着服务器虚拟化和数据中心的蓬勃兴起,用于连接服务器的网络组件也开始了虚拟化的发展,本文主要以VMWARE ESX的vswitch为例来进行介绍,说明一些关于交换机虚拟化的一些技术及应用 一、虚拟交换机的网络介绍在物理环境之中,主机是通过pSwitch连接到网络当中。而在虚拟化环境中,ESX提供了vswitch和dvswitch。ESX的虚拟主机通过vSwitch来连接网络。vSwitch是通过主机上的物理网卡作为上行链路与外界网络进行连接。 如图所示: 跟普通服务器设备一样,每个虚拟机有着自己的虚拟网卡(virtual NIC),每个 virtual NIC有着自己的MAC地址和IP地址。 Virtual Switch(vSwitch)相当于一个虚拟的二层交换机, ABCDE便是交换机上的虚拟端口vPort,该交换机连接虚拟网卡和物理网卡,将虚拟机上的数据报文从物理网口转发出去。根据需要,vSwitch 还可以支持二层转发、安全控制、端口镜像等功能。 每个vSwitch与物理交换机一样,包含一定数量的端口,相同特性的虚拟端口vPort集合就是端口组;vSwitch端口逻辑上可分为三种类型:
二、虚拟交换机的功能及配置ESX的vSwitch是当前虚拟化产品中功能较为全面和易于管理的一款虚拟化交换机。他主要有以下几个功能:
多网络管理我们知道在数据中心中不可能只有一个网络,比如为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来细化虚拟机的流量策略,网络绑定策略,安全控制等 在交换机上配置与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。 安全控制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过滤。 网卡绑定VMware建议ESX中的三种网络类型最好配置不同的Vlan,并且使用不同的上行物理链路分配流量,并且为了保证故障冗余,每个网络类型至少关联2块网卡。这就需要在vSwitch进行网卡绑定。 ESX NIC teaming,相当于vSwitch与交换机的聚合,通过下图可以看到,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之间的负载均衡。 这种方式下,负载均衡的实现是基于源MAC地址的。因为每个vNIC总是具有一个固定的MAC地址,因此这种方式的负载均衡同基于端口的负载均衡具有同样的缺点。同样是要求vPort数量大于pNIC的时候才会有效。同样是vNIC的速率不会大于单个pNIC的速率。 这种方式下,负载均衡的实现是根据源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的三种负载均衡优缺点:
2. 网络故障切换检测(Network failover Detection) ESX提供了两种方式的网络故障检测分别为link status only 和 beacon probing,下面用图表来说明两者的主要优缺点: a. Link status only:仅判断网络链路的up 和down状态 b. Beacon probing: vswitch的每个物理网卡周期性的发送广播信号报文,实现网络链路检测。 beacon报文如下:
3. 交换机通知(Notify switches) ESX的交换机通知是用于在VM发生链路变更及vm迁移的时候,用来通告物理交换机,保障物理交换机上能够感知虚拟机的端口变化并更新MAC地址表。 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逻辑架构图: 通过dvswitch,配置不同类型的dvport模板,将数据中心中同一类型vnetwork中的vm迁移到对应的dvport,大大提高了虚拟机的管理效率。 下面我们通过实例将vm接入Dvswitch: 实验目的:在虚拟数据中心lixukai,创建一个dvswitch,并将数据中心的vm1和vm2服务器中的虚拟机,由vswitch迁移至dvswitch。
2. VM2迁移前 3. 迁移后 通过上图,不仅可以很清楚的看到数据中心的网络情况,并且通过定义了多个不同的分布式端口组的方式,大大提搞了vSwitch的布署效率。 Dvswitch优点:
四、总结:本章介绍的仅仅是虚拟化的一个很小的方面。随着虚拟化技术蓬勃兴起,它正在走向数据中心的各个领域,服务器虚拟化,交换机虚拟化桌面虚拟化。最终还是要落实到如何实实在在的应用上。
带着这些问题,我们更深入的去了解、学习和应用虚拟化,一起努力把我们的虚拟化产品做好。
|
|
来自: firstjewgle > 《虚拟化》