虚拟以太网端口汇聚器(VEPA)是最新IEEE 802.1Qbg标准化工作的一个组成部分,其设计目标是降低与高度虚拟化部署有关的复杂性。如果我们研究一下使用虚拟交换机的传统方法就会发现,它与VEPA方法存在很大的不同,VEPA使用户可以深入了解虚拟化及联网中的各项部署挑战和需要考虑的因素。
当您的物理主机上的监视程序上有多台虚拟机(每台虚拟机都包含一套操作系统和多种应用)时,这些虚拟机在相互通信和与外部世界通信时都要使用虚拟交换机。事实上,虚拟交换机是一种第2层交换机,通常以软件的形式在监视程序内运行。每种监视程序通常都有一个内建的虚拟交换机。不同的监视程序所含的虚拟交换机在能力方面也是千差万别的。
当虚拟交换机从联网领域转移到服务器领域时,就有必要针对虚拟环境对传统的基于网络的工具和解决方案进行重新测试、重新定性和重新部署。从某些方面来说,这种变化会对虚拟化的快速扩展和普及造成阻碍。
例如,传统的网络和服务器运营团队是截然分开的,每个团队都有自己的流程、工具和控制范围。由于虚拟交换机的原因,联网进入了服务器的范畴,因此像供应虚拟机这样的简单任务也需要这些团队之间开展额外的协调工作,从而确保虚拟交换机的配置与物理网络配置保持一致。
由于缺乏网络中虚拟机之间流量的可视性,因此涉及到虚拟机之间通信的故障查找和监视也变成了一项极具挑战性的工作。而且随着虚拟机数量的增长,单个服务器中的虚拟机目前已经达到8至12台,并且会在不久的将来达到32至64台,因此,保护虚拟机彼此不受干扰,以及不受外界威胁的侵害都变成了一项需要认真考虑的问题。
从防火墙到IDS/IPS,基于网络的传统设备和工具都需要针对这些高度虚拟化的环境重新开发、重新认证和重新部署,从而确保虚拟机之间通过虚拟交换机的通信能够满足法规一致性和安全方面的要求。
由于在虚拟交换机方面缺乏标准,因此会增加涉及不同监视技术的培训、互用性和管理开销,进入使这些挑战变得更加复杂。事实上,物理服务器正在变成一种全面的网络环境,拥有自身的互用性、部署、认证和测试要求。
有趣的是,这种趋势与虚拟化最基本的优势之一是背道而驰的,即虚拟化能够将服务器中过剩的容量以更高的效率来运行各类应用。目前,这种“服务器中的网络”很有可能演变成这些过剩容量的消费方,将CPU和内存资源吞噬殆尽。
VEPA的方法
为应用这些挑战,各方已经提出了多种不同的解决方案,其中就包括VEPA。VEPA是一种虚拟交换机替代产品;它不仅进入了标准化进程,而且成为业界众多厂商的一致选择。
事实上,VEPA会将服务器上虚拟机生成的所有流量转移到外部的网络交换机上。外部网络交换机接下来会为同一台物理服务器上的虚拟机和基础设施的其它部分提供连接。
实现这一功能的方法是将一种新型转发模式融入物理交换机中,使流量能够从来时的端口“原路返回”,从而简化同一服务器上虚拟机之间的通信。
“原路返回”模式(或称“反射中继”)可以在需要时将包的单一副本反向发送至同一台服务器上的目的地或目标虚拟机。对于广播或组播流量,VEPA能够以本地方式向服务器上的虚拟机提供包复制能力。
传统上,多数网络交换机都不支持这种“原路返回”模式行为,因为它可能会在非虚拟世界中造成环路和广播风暴。然而,许多网络厂商都开始支持这种行为,目的就是解决虚拟机交换的问题,而且使用简单的软件或固件升级即可实现。
IEEE的802.1Qbg工作组还努力将这种行为变成了标准。VEPA能够以软件的方式,作为监视程序中的瘦层在服务器中实施,也可以作为网卡中的硬件来实施,在后一种情况下还可以与SR-IOV等PCIe I/O虚拟化技术结合使用。其中一个典型的例子就是Linux KVM监视程序中提供的基于软件的VEPA实施。
事实上,VEPA将交换功能移出了服务器,并且将其放回物理网络中,而且让外部网络交换机能够看到所有的虚拟机流量。通过将虚拟机交换移回物理网络,基于VEPA的方法使现有的网络工具和流程可以在虚拟化和非虚拟化环境以及监视程序技术中以相同的方式自由使用。
防火墙和IDS/IPS等基于网络的设备,以及访问控制列表(ACL)、服务质量(QoS)和端口监视等成熟的网络交换机功能都可以直接用于虚拟机流量和虚拟机之间的交换,因此减少和消除了对虚拟网络设备重新进行昂贵的质量判定、测试和部署的需求。
此外,VEPA将网络管理控制层重新交给了网络管理员,为所有与虚拟机相关联网功能的供应、监视和故障查找提供了一个单一控制点。
将网络功能从服务器卸载至网络交换机能够带来诸多的优势,例如释放服务器资源并将其用于更多的应用,同时还可在虚拟和非虚拟服务器之间提供线速交换;从1Gbps至10Gbps,甚至可以达到40Gbps和更高的100Gbps。
因此,基于VEPA的方法有助于扩大虚拟化部署,降低复杂性和成本,并且加快虚拟化的普及。
尽管基于VEPA的方法能够带来许多好处,但在某些环境下,虚拟机间流量的交换最好还是留在服务器内部。例如,在有些环境下物理服务器要承担虚拟机的巨大负荷,而且这些虚拟机之间的通信非常频繁,因此为了将延迟降至最低程度,最好的方法是将虚拟机之间的流量留在服务器内部。
在此类场景中,可能的方法之一是绕过基于监视程序的软件虚拟交换机,利用新型网卡提供的交换硬件能力,即SR-IOV等基于入向I/O虚拟化的能力。同样,在使用这种方法时,也需要权衡考虑完全使用“服务器中的网络”模型时的安全和成本问题。
随着服务器虚拟化的广泛普及,服务器内和服务器间虚拟机交换流量的复杂性都在不断提高。基于VEPA的虚拟机间流量交换方法能够为基于虚拟交换机的传统方法提供一种非常有趣且极具吸引力的替代方案。为了向网络和服务器基础设施提供支持VEPA的能力,此类技术的标准化工作正在紧锣密鼓地进行当中。