数据中心虚拟化的网络挑战

多年来虚拟化的存在形式

"虚拟机"(VM)这个术语最早出现于20世纪60年代。自那时起,各种各样的虚拟化技术被用作一种高效的机制。最新研究发现,2010午,有近60%的数据中心在进行虚拟化部署扩张。

虚拟化网络基础架构已有多年的历史。Ethernet VLANs IPSec、SSL VPNs及通过MPLS或虚拟路由实现的L3 VPNs等领先技术都是经验证切实可行的网络虚拟化技术的典型代表。这些技术确保各类用户共享一组物理资源,因而保证了设备所需的隔离、性能和安全性。

此外,所有这些优势也适用于应用主机平台。服务器虚拟化机制目前已经很常见而且服务器虚拟化被视为数据中心网络和计算融合的关键。根据研究公司 Gartner的研究显示,到2012年,将部署大约5800万台虚拟机。

什么是服务器虚拟化

为实现数据中心整合的优势,很多安装单个操作系统(operating system,OS)和(通常安装)一个托管应用程序的末充分利用的物理服务器正在被支持多用户操作系统和应用实例的少数系统所替代。该虚拟机方案能显著提高效率、能源利用率以及cpu和内存等昂贵硬件资源的可用性。"一台服务器一个应用程序"的模式即将成为历史。

服务器虚拟化如何改变数据中心的设计

数据中心基础架构的深层变革对于部分网络基础架构和虚拟服务器本身来说意义重大。早在出现这种虚拟化服务器模式之前,应用程序与物理计算资源捆绑在一起,所需的全部网络功能均在服务器外部完成。分组交换和路由选择等操作以及防火墙和入侵防御等网络安全功能均在远离主机服务器端的离散设备层中完成。此外,服务器基础架构通常采用用来均衡分散主机平台流量的应用程序负载均衡器安装在前端。该网络基础架构的扩展将致使极为复杂的高耗电数据中心体系结构的产生。

图1 网络基础架构和主机平台隔离在数据中心中保持物理隔离

当IT管理者对主机资源进行虚拟化时,需要将应用程序与服务器的比例由1:1调整为N:l,这一调整对服务器本身来说意义重大,并会改变我们的思维万式和数据中心的体系结构产品。目前这一代多核x86服务器的单一CPU晶粒上有6个或更多内核,在未来几年,内核密度有望达到8或12英寸。这些服务器能够支持单台物理设备上的多个应用性序。在利用单台物理服务器支持多个应用程序时,IT管理者和架构师必须考虑这一根本性调整是如何影响网络的。除了具备应用程序和控制平面处理功能之外,这一调整还要求之前内置在 x86服务器外部的网络和安全功能必须在虚拟化多核平台内部压缩,确保在分散的硬件中实现同一套功能。由于封包分类、甚于流量的负载均衡(load balancing)、主动流量状态管理和流量抑制(flow pinning)L2交换、L3转发和Qos处理等特殊处理功能过去存在于分散的"一台主机一个应用程序(1:1 host-to-application)"模式下,必须在分散设备外部将它们压缩到虚拟化X86服务器中。

图2 多核CPU支持多个应用程序实例

具体来讲,当服务器端接收到流量时,必须将各种数据包处理和安全工作荷载应用于数据,并对数据包进行分类,以确定目标内核/应用程序。流量必须配备适用的安全策略,以避开网络威胁,此外,就IPSec和SSL流量而言,还必须对其进行加密/解密。最后,必须制定L2交换决策,将数据包放置于合适的虚拟机上。除了这些要求之外,该处理操作还必须采用有状态的万式进行,以确保属于相同数据流的数据包能全部到达同一个目标应用程序。

need a Virtualized Network in here!此处需要部署一个虚拟化网络

图3 虚拟化服务器必须支持网络需求

这种数据包处理器通常部署在软件中,充当虚拟机管理程序的一个组件,然而多核x86服务器没有经过优化处理,不能用作网络和安全处理,因而会给设备带来严重的性能问题,这种仅适用于x86服务器的基础架构不能捕获数据包和以最高的速度处理数据流,因为数据包处理、中断处理、安全处理、分组及转发等全部任务都在浪费宝贵的CPU周期。执行软件中的各类任务会导致服务器性能低下和耗电量增加(1吉比特每秒的吞吐量),这最终意味若应用程序的性能下降。因此,最终结果是,这种新的体系结构需要更多服务器来支持计算负荷,因而无法达到指望利用虚拟化达到的预期效果。

图4 在软件中实现网络功能浪费X86服务器的CPU周期

进入I/O虚拟化技术

虚拟化网络与虚拟化服务器之间缺失的链路是网络接口与各虚拟机的I/O。一种创新的虚拟化服务器体系结构可以跨越一条高性能、具有虚拟化感知能力的 PCIe通信路径同时部署工作负载经优化的网络流处理器(network flow processors,NEP)和x86多核处理器。网络流处理器 (network flow processors,NFP)对x86服务器的网络和安全处理工作进行基于硬件的负载分流,确保将所有CPU周期还给处理器,并确保处理器集中实施应用程序和控制平面处理。该体系构支持以极高速率20Gbps甚至更高)向虚拟机高效传输数据。

Load Balancer:负载均衡器;Classifier/Flow State:分类器/流量状态 L2 Switch:L2交换机

图5.利用数据流处理器进行网络和安全处理以及利用虚拟机进行解复用处理可节省CPU周期。

这些专用的数据流处理器经过优化处理,可对通用多核cpu繁重的工作量逆行负载分流,并能够处理底层数据包处理任务和加快高层数据流及应用层处理速度。这一加速体系结构采用网络优化的数据流处理器内核,对数据包进行分类、有状态的数据流分析、深层数据包检测、加密以及基于流量的动态负载均衡。此外,将数据流解复用到指定虚拟机的主要功能将在数据流处理器中实施,而且L2交换不必在虚拟机管理程序中进行。该I/O虚拟化(IVO) 技术提供保障带宽、延迟和允许在多个内核和虚拟机中进行流量隔离。没有1/O虚拟化(IOV)技术,就不能发挥OS虚拟化的众多优势。

利用上述想法在数据中心架构产品将使我们能够采用最高效和最环保的方式利用我们稀缺的处理资源,以满足用户对更高带宽的需求。