服务器 频道

英特尔底层芯动力 推动数据中心虚拟化

Advertisement

  【IT168 技术】在企业构建私有云的漫漫征程中,数据中心虚拟化是其中一个重要的步骤。它使企业IT变得更加动态和灵活,以更快的速度提供弹性计算资源,这也是数据中心迈向云计算方式的重要基础。虚拟化(Virtualization)是一项历史悠久的技术,在上世纪六十年代,虚拟化技术最早应用于IBM大型机系统,而后开始在小型机和x86服务器中流行起来。虚拟化技术通过虚拟监控器(Virtual Machine Monitor,VMM)程序在物理硬件上生成可运行独立操作系统的虚拟机(Virtual Machine)实例,使单个服务器能够运行的应用程序大大增加,从而在不增加硬件投入的前提下“压榨”出更多的计算资源,降低IT成本。随着多核系统、集群、网格甚至云计算的部署,虚拟化在数据中心可谓大行其道。

  计算机领域的虚拟化其实是个很广的范畴,涉及对计算机资源的抽象,既可以将单个物理资源(例如服务器、操作系统、应用或存储设备)分成多个逻辑资源工作,也就是我们常说的“一变多”;也可以将多个服务器整合为服务器集群工作,也就是我们常说的“多变一”。在很长一段时间里,因为硬件性能的限制,x86服务器虚拟化都单纯依靠软件来实现,硬件虚拟化技术是一片空白。但随着虚拟化应用的不断广泛和深入,纯软件的虚拟化技术在给企业带来便利之时,也开始暴露出了一些问题。

  纯软件虚拟化技术面临挑战

  纯软件虚拟化解决方案存在很多限制,主要体现在虚拟化技术的性能和隔离性问题上。用户操作系统和程序无法直接与硬件通信,很多情况下是通过VMM来与硬件进行通信,并由VMM来决定其对系统虚拟机的访问,由于VMM是独立于操作系统之外运行的,使得VMM与操作系统之间增添了一层通信,这增加了系统的复杂性和虚拟化软件运行的开销。我们知道,虚拟化的一个重要优势是能够在无需停机的情况下,将应用在物理服务器之间进行迁移。这其中免不了数据的大量流动,此外,隔离性差增加了确保系统可靠性和安全性的难度。

  与小型机和大型机上比较成熟的虚拟化技术相比,x86服务器虚拟化还处于早期阶段,x86架构和处理器性能的不足也给x86服务器虚拟化带来了一些障碍。但随着近几年x86平台性能的大幅提升,基于处理器的虚拟化技术逐渐成熟并获得了虚拟化软件厂商的广泛支持,可以说,基于硬件的虚拟化技术正以势不可挡之势迎面而来。基于处理器的虚拟化技术是一种新的硬件方案,支持虚拟技术的处理器带有特别优化过的指令集来控制虚拟过程,通过这些指令集,降低VMM的复杂性。相比软件的虚拟实现方式,硬件虚拟化技术将大幅提高虚拟化的整体性能。

  2005年11月,英特尔带来了业内首个硬件辅助虚拟化技术Intel-VT 及相关的处理器产品,从而揭开了x86架构虚拟化技术应用的新序幕。下面,我们来从技术角度出发,看看英特尔硬件辅助虚拟化技术Intel-VT如何从底层架构上突破现有虚拟化技术的桎梏。

  Intel VT硬件辅助虚拟化技术详解

  从英特尔发布的虚拟化技术路线图上,我们可以看到英特尔虚拟化技术Intel VT由VT-x、VT-d、VT-c三大部分组成,这三大技术分别面向不同的层面。

 

Intel VT硬件辅助虚拟化技术详解
▲英特尔虚拟化技术路线图

  Intel VT具体包括针对IA-32体系架构处理器的VT-x技术、针对芯片组的VT-d技术以及针对网络的VT-c技术。VT-i为面向安腾处理器的虚拟化技术。下文将详细解析Intel VT的这三大技术功能。

  1.VT-x提升虚拟化灵活稳定性能

  纯软件虚拟化技术中,客户操作系统往往要通过VMM这一层来听取与执行指令,这无疑增加了通信路径和VMM的开销,而VT-x技术可减少VMM的干预,提高基于软件的虚拟化方案的灵活性与稳定性,在需要VMM干预时,实现更加快速、可靠和安全的切换。此外,英特尔VT-x还为VMM与客户操作系统之间的传输平台控制提供了有力的硬件平台支持。英特尔VT-x技术包括英特尔虚拟化灵活性迁移技术(Intel VT FlexMigration)、英特尔VT FlexPriority、英特尔VT扩展页表(Extended Page Tables)。

  处理器在执行任务时,常常收到其它设备或应用发出的请求或“中断”命令。为了最大程度减少对性能的影响,处理器内的一个专用寄存器(TPR)将对任务优先级进行监控。如此一来,只有优先级高于当前运行任务的中断才会被及时关注。英特尔VT FlexPriority 可创建 TPR的一个虚拟副本,减少处理器不必要的中断次数,从而显著提升提升。此外,该虚拟副本还可由客户操作系统进行更改。

  至于英特尔虚拟化灵活迁移技术(Intel VT FlexMigration)是英特尔为未来技术发展预留空间的具体体现,Intel VT FlexMigration可实现基于英特尔处理器的当前服务器与未来服务器之间的无缝迁移,即使新的系统可能包括增强的指令集也不例外。从而使管理程序能够在迁移池内的所有服务器中建立一套一致的指令,实现工作负载的无缝迁移。生成可在多代硬件中无缝运行的灵活统一的服务器资源池。

  2.VT-d消除I/0中间路径

  虚拟化技术在每台服务器上整合了大量的操作系统,数据进出系统的I/O 流量有所增加且更趋复杂。虚拟机监控器(VMM)直接参与每项I/O交易,不仅会减缓数据传输速度,还会因为频繁的 VMM 活动而增大服务器处理器的负载。英特尔VT-d 通过减少 VMM 参与管理I/O流量的需求,消除了大部分的性能开销,加速了数据传输。

 

Intel VT硬件辅助虚拟化技术详解
▲基于软件的虚拟I/O和基于英特尔VT-d的直接分配I/O

  基于纯软件的虚拟化技术中,用户操作系统与硬件设备通过VMM来通信,而借助VT-d,完成初始分配之后,数据即可直接在客户操作系统与为其分配的设备之间进行传输。这样,I/O 流量的流动将更加迅速,减少的 VMM 工作运行则会进一步缩减服务器处理器的负载。此外,由于用于特定设备或客户操作系统的 I/O 数据不能被其它任何硬件或客户软件组件访问,VMM将特定 I/O 设备安全分配给特定客户操作系统。每个设备在系统内存中都有一个专用区域,只有该设备及其分配的客户操作系统才能对该区域进行访问,增强了虚拟化的安全性能。

  3.VT-c优化网络负载

  在集群和数据中心环境中,每台服务器通常同时运行大量的虚拟机。由于服务器的网络设备数目有限,多个虚拟机不得不复用同一个网络设备,从而导致性能下降。VT-c 包括两项技术来优化网络性能:

  虚拟机设备队列(Virtual Machine Device Queues,VMDq)。收到一个数据包时,VMM必须将其分类以确定应该转发给哪个虚拟机,这个过程占用了大量的处理器资源。如果以太网控制器支持VMDq技术,VMM 可以为虚拟机使用不同的数据包队列,以太网控制器自动分类数据包并投放到相应的队列中,大大减轻VMM的负担,提高了I/O吞吐量。

 

Intel VT硬件辅助虚拟化技术详解
▲VMDq数据包分类

  虚拟机直接连接(Virtual Machine Direct Connect,VMDc)。通俗地说,支持该技术的网络设备能够对外展现出多个虚拟功能接口(Virtual Function)。每个功能接口相当于一个网络设备,VMM可将其直接分配给虚拟机,从而“避免”了网络设备的复用。例如,VMM仅用单个英特尔万兆以太网卡,可为10个客户机操作系统分配独立受保护的 1 Gb/ 秒的专用链路,VMM 无需继续管理这些直接通信链路,进一步提升 I/O 性能并减少主机处理器的负载。

 

Intel VT硬件辅助虚拟化技术详解
▲VMDc示意图

  底层动力全面推动数据中心虚拟化

  可以说,基于硬件的虚拟化技术是对现有软件虚拟化技术的补充和提升,而非取代。英特尔硬件辅助虚拟化技术Intel VT可降低VMM开销、消除I/O中间路径、优化网络负载,从底层破解纯软件虚拟化技术的两大顽疾。

  云计算已经拉开了数据中心变革的大幕,而数据中心虚拟化正是这场变革的开始,通过实现数据中心资源的按需动态调度,虚拟化将企业带入云计算的道路。随着x86架构性能的不断提升,英特尔这个隐藏在虚拟化底层架构的巨人正全面推动x86平台的虚拟化,加快企业数据中心向私有云迈进的步伐。

  推荐阅读:漫画解读英特尔底层芯动力 推动数据中心虚拟化

0
相关文章