但VSwitch方案也存在一些缺点:
1. 消耗CPU资源
虚拟机产生的网络流量越高,基于软件实现的VSwitch就需要占用越多的CPU资源用于报文的转发处理,从而减弱服务器支持更多虚拟机的能力。特别是在虚拟机到外部网络的流量很大时,CPU的开销会更大。
2. 缺乏网络流量的可视性
VSwitch缺少内部流量监管能力,例如端口报文统计、端口流镜像、网络流量分析等特性。上述特性的缺失,一方面导致虚拟机之间的流量无法被网管系统所监管;另一方面也使得网络在发生故障时,难以定位问题原因。
3. 缺乏网络控制策略的实施能力
当前数据中心接入交换机都具有很多实现网络控制策略的特性,例如端口安全,QoS、ACL等。而VSwitch因顾及CPU开销问题,通常不支持上诉特性。因此限制数据中心的端到端的网络控制策略(如端到端的QoS、整网安全部署策略等)的部署能力。
4. 缺乏管理可扩展性
随着数据中心虚拟机数量的增加,VSwitch的数量随之增加,而传统的VSwitch必须被单独的配置管理,由此增加了网络的管理工作量。VMware公司推出的“分布式交换机(DVW)”技术,可以将最多64个VSwitch作为一个统一的设备进行管理。但这种技术只有限地改善管理扩展性问题,并未从根本上解决外部网络管理与VSwitch管理的统一性问题。
硬件VEB的技术特性
硬件VEB标准的设计思想是将VEB功能从VMM移植到服务器物理网卡,通过网卡硬件改善VSwitch占用CPU资源而影响虚拟机性能的问题。这种硬件VEB方案必须采用支持SR-IOV(Si ngl e-Roo t I /OVirtualizaiton)特性的PCIe网卡。
SR-IOV是PCIe(PCI Express)标准的一个延伸,它可以使一个PCIe适配器(如网卡)通过一个共享的PCIe物理接口同时起到多个独立器件(多个独立网卡)的作用。物理服务器上的虚拟机可直接访问PCIe网卡上的寄存器和I/O队列,由于绕过了VMM对虚拟机I/O请求的代理中转过程,可显著减少CPU开销,并且降低虚拟机访问外部网络的时延,这种工作模式也被称为“direct IO”。
采用硬件VEB方案时,VMM只实现SR-IOV网卡驱动程序(资源分配、中断处理等),不再参与虚拟机与外部网络以及虚拟机之间的报文转发流程。对于从虚拟机发往外部网络的报文,由虚拟机操作系统的驱动程序直接操作网卡寄存器进行发送;对于外部网络发往虚拟机的报文,网卡根据目的MAC,将报文放入虚拟机对应的接收队列,虚拟机操作系统的驱动程序再通过DMA或中断方式进行接收处理;对于虚拟机之间的报文转发,网卡芯片通过查MAC表(静态配置,通常不支持MAC学习)进行转发处理。
基于SR-IOV网卡技术的硬件VEB方案的优点如下:
1. 相对于VSwitch(软件VEB)来说,它减少CPU占用率。借助SR-IOV技术将报文转发硬件化,不再需要类似VSwitch软件参与报文处理。
2. 提高虚拟机操作系统访问物理网卡的性能,尤其是当虚拟机与外部网络有大量报文流量时,由于实现了虚拟机对PCIe设备的直接访问和操作,显著降低从虚拟机到物理网卡的报文处理延时。
3. 支持SR-IOV的网卡,可虚拟化出256个虚拟网卡,提高了物理服务器的网络虚拟化能力。
硬件VEB改进了VSwitch(软件VEB)的性能,但硬件VEB方案仍然存在一些局限性:
1. 缺乏网络可视性
支持SR-IOV 的网卡不能解决网络流量监管问题。考虑到网卡成本,通常不会在网卡上添加流量监管处理芯片(如流量镜像、网络流量分析、端口报文统计信息等)。由于硬件实现缺少灵活性,硬件VEB的网络流量监管特性有可能比VSwitch方案还少。
2. 缺乏网络控制策略的实施能力
同样是考虑到网卡成本的问题,很难在网卡上实现基于硬件的网络控制策略(如QoS、ACL等)。
3. 缺乏管理的可扩展性
每个物理网卡就是一个硬件VEB,随着虚拟化服务器数量的增加,网络中会存在很多硬件VEB需要分别进行管理,由此带来管理可扩展性问题。相比VSwitch方案,由于一个VSwitch可包含多个物理网卡(如网卡捆绑上行),而硬件VEB必须是每个物理网卡对应一个VEB,所以硬件VEB的管理可扩展性比VSwitch还差。
4. 缺乏主流操作系统产品的支持
为支持SR-IOV技术,需要虚拟机的操作系统与V M M 采用“准虚拟化(Paravirtualized)”工作模式,这种模式要求虚拟机操作系统内核做必要的修改,以支持Director IO。从目前了解到的情况看,主流操作系统厂商都不支持这种模式。“准虚拟化+Director IO”方式主要用在Linux操作系统及基于Linux内核实现的虚拟化技术上(XEN)。
VEB实现虚拟机之间以及虚拟机与外部网络之间的报文转发。在VEB的两种实现方案中,软件VEB(VSwitch)的通用性好,虚拟机之间的转发性能好;硬件VEB基于网卡SR-IOV技术实现,对CPU资源占用小。但两种VEB方案始终没有解决的问题是虚拟机间流量的监管、网络策略的部署以及管理可扩展性。
特别声明:本站注明稿件来源为其他媒体的文/图等稿件均为转载稿,本站转载出于非商业性的教育和科研之目的,并不意味着赞同其观点或证实其内容的真实性。如转载稿涉及版权等问题,请作者在两周内速来电或来函联系。