Intel虚拟化技术(Intel VT-x)

在电脑上安装64位的openflow时遇到的。在芯片支持VT-x的条件下,bios里enable一下就行了。



Intel VT具体包括分别针对处理器、芯片组、网络的VT-X、VT-D和VT-C技术。


1、处理器:Intel虚拟化技术(Intel VT-x),包括Intel虚拟化灵活迁移技术(Intel VT FlexMigration)、Intel VT FlexPriority、Intel VT 扩展页表(Extended Page Tables)

英特尔处理器内更出色的虚拟化支持Intel VT-x 有助于提高基于软件的虚拟化解决方案的灵活性与稳定性。通过按照纯软件虚拟化的要求消除虚拟机监视器(VMM)代表客户操作系统来听取、中断与执行特定指令的需要,不仅能够有效减少 VMM 干预,还为 VMM 与客户操作系统之间的传输平台控制提供了有力的硬件支持,这样在需要 VMM干预时,将实现更加快速、可靠和安全的切换。

此外,Intel VT-x 具备的虚拟机迁移特性还可为您的 IT 投资提供有力保护,并进一步提高故障切换、负载均衡、灾难恢复和维护的灵活性:

Intel VT FlexPriority:当处理器执行任务时,往往会收到需要注意的其它设备或应用发出的请求或“中断”命令。为了最大程度减少对性能的影响,处理器内的一个专用寄存器(APIC任务优先级寄存器,或 TPR)将对任务优先级进行监控。如此一来,只有优先级高于当前运行任务的中断才会被及时关注。

Intel FlexPriority 可创建 TPR6 的一个虚拟副本,该虚拟副本可读取,在某些情况下,如在无需干预时,还可由客户操作系统进行更改。上述举措可以使频繁使用TPR的32位操作系统获得显著的性能提升。(例如,能够将在Windows Server 2000上运行的应用的性能提高 35%。)

Intel虚拟化灵活迁移技术(Intel VT FlexMigration):虚拟化的一个重要优势是能够在无需停机的情况下,将运行中的应用在物理服务器之间进行迁移。英特尔虚拟化灵活迁移技术(Intel VT FlexMigration)旨在实现基于英特尔处理器的当前服务器与未来服务器之间的无缝迁移,即使新的系统可能包括增强的指令集也不例外。借助此项技术,管理程序能够在迁移池内的所有服务器中建立一套一致的指令,实现工作负载的无缝迁移。这便生成了可在多代硬件中无缝运行的更加灵活、统一的服务器资源池。

2、芯片组:Intel支持直接 I/O 访问的 VT虚拟化技术(Intel VT-d)
Intel 芯片组内更出色的虚拟化支持由于每台服务器上整合了更多的客户操作系统,数据进出系统的传输量(I/O 流量)有所增加并且更趋复杂。如果没有硬件辅助,虚拟机监视器(VMM)必须直接参与每项 I/O 交易。这不仅会减缓数据传输速度,还会由于更频繁的 VMM 活动而增大服务器处理器的负载。这就如同在一个繁忙的购物中心,每位顾客都不得不通过一个门进出该中心,并且只能从中心经理那里得到指示。这样不仅会耽误顾客的时间,也会使经理无法处理其它紧急事件。

Itel VT-d 通过减少 VMM 参与管理 I/O 流量的需求,不但加速了数据传输,而且消除了大部分的性能开销。这是通过使 VMM将特定 I/O 设备安全分配给特定客户操作系统来实现的。每个设备在系统内存中都有一个专用区域,只有该设备及其分配的客户操作系统才能对该区域进行访问。

完成初始分配之后,数据即可直接在客户操作系统与为其分配的设备之间进行传输。这样,I/O 流量的流动将更加迅速,而减少的 VMM 活动则会进一步缩减服务器处理器的负载。此外,由于用于特定设备或客户操作系统的 I/O 数据不能被其它任何硬件或客户软件组件访问,系统的安全性与可用性也得到了进一步增强。

3、网络:支持连接的Intel虚拟化技术(Intel VT-c),包括虚拟机设备队列(VMDq)、 虚拟机直接互连(VMDc)

英特尔I/O 设备内更出色的虚拟化支持随着企业在虚拟化环境中部署越来越多的应用,并利用实时迁移来节省功率或提升可用性,对虚拟化 I/O 设备的要求也在显著提高。通过将广泛的硬件辅助特性集成到 I/O 设备(该设备用于保持服务器与数据中心网络、存储基础设施及其它外部设备的连接)中,英特尔VT-c 可针对虚拟化进一步优化网络。从本质上来说,这套技术组合的功能与邮局非常相似:将收到的信件、包裹及信封分门别类,然后投递到各自的目的地。通过在专用网络芯片上执行这些功能,英特尔VT-c 大幅提高了交付速度,减少了 VMM 与服务器处理器的负载。英特尔VT-c 包括以下两项关键技术(当前所有的英特尔万兆位服务器网卡及选定的英特尔千兆位服务器网卡均可支持):

--借助虚拟机设备队列(VMDq)最大限度提高 I/O 吞吐率:在传统服务器虚拟化环境中,VMM 必须对每个单独的数据包进行分类,并将其发送到为其分配的虚拟机。这样会占用大量的处理器周期。而借助 VMDq,该分类功能可由英特尔服务器网卡内的专用硬件来执行,VMM 只需负责将预分类的数据包组发送到适当的客户操作系统。这将减缓 I/O 延迟,使处理器获得更多的可用周期来处理业务应用。英特尔VT-c可将 I/O 吞吐量提高一倍以上,使虚拟化应用达到接近本机的吞吐率。每台服务器将整合更多应用,而 I/O 瓶颈则会更少。

--借助虚拟机直接互连(VMDc)大幅提升虚拟化性能:借助PCI-SIG 单根 I/O 虚拟化(SR-IOV)标准,虚拟机直接互连(VMDc)支持虚拟机直接访问网络 I/O 硬件,从而显著提升虚拟性能。如前所述,英特尔VT-d 支持客户操作系统与设备I/O 端口之间的直接通信信道。通过支持每个 I/O 端口的多条直接通信信道,SR-IOV 可对此进行扩展。例如,通过单个英特尔万兆位服务器网卡,可为 10 个客户操作系统中的每个操作系统分配一个受保护的、1 Gb/秒的专用链路。这些直接通信链路绕过了 VMM 交换机,可进一步提升 I/O 性能并减少服务器处理器的负载。

英特尔将硬件辅助虚拟化集成到所有主要的服务器组件中,帮助IT机构在每台服务器上整合更多的应用和更繁重的工作负载,从而进一步提高灵活性、可靠性并降低 TCO。

VT-d技术:

我们知道对于服务器而言,很重要的一个组成部分就I/O,CPU的计算能力提升虽然可以更快地处理数据,但是前提是数据能够顺畅的到达CPU,因此,无论是存储,还是网络,以及图形卡、内存等,I/O能力都是企业级架构的一个重要部分。为此,人们不但在传输带宽上投资(比如从百兆以太网到千兆以太网再到万兆以太网),还在各种系统和架构上进行了大量的投入(比如吞吐量更高的RAID系列、多层数据中心)

I/O虚拟化的关键在于解决I/O设备与虚拟机数据交换的问题,而这部分主要相关的是DMA直接内存存取,以及IRQ中断请求,只要解决好这两个方面的隔离、保护以及性能问题,就是成功的I/O虚拟化。和处理器上的Intel VT-i和VT-x一样,Intel VT-d技术是一种基于North Bridge北桥芯片的硬件辅助虚拟化技术,通过在北桥中内置提供DMA虚拟化和IRQ虚拟化硬件,实现了新型的I/O虚拟化方式,Intel VT-d能够在虚拟环境中大大地提升 I/O 的可靠性、灵活性与性能。

传统的IOMMUs(I/O memory management units,I/O内存管理单元)提供了一种集中的方式管理所有的DMA——除了传统的内部DMA,还包括如AGP GART、TPT、RDMA over TCP/IP等这些特别的DMA,它通过在内存地址范围来区别设备,因此容易实现,却不容易实现DMA隔离,因此VT-d通过更新设计的IOMMU架构, 实现了多个DMA保护区域的存在,最终实现了DMA虚拟化。这个技术也叫做DMA Remapping。

I/O设备会产生非常多的中断请求,I/O虚拟化必须正确地分离这些请求,并路由到不同的虚拟机上。传统设备的中断请求可以具有两种方式:一种将通过I/O中断控制器路由,一种是通过DMA写请求直接发送出去的MSI(message signaled interrupts,消息中断),由于需要在DMA请求内嵌入目标内存地址,因此这个架构须要完全访问所有的内存地址,并不能实现中断隔离VT-d实现的中断重映射(interrupt-remapping)架构通过重新定义MSI的格式来解决这个问题,新的MSI仍然是一个DMA写 请求的形式,不过并不嵌入目标内存地址,取而代之的是一个消息ID,通过维护一个表结构,硬件可以通过不同的消息ID辨认不同的虚拟机区域。VT-d实现 的中断重映射可以支持所有的I/O源,包括IOAPICs,以及所有的中断类型,如通常的MSI以及扩展的MSI-X。

VT-d进行的改动还有很多,如硬件缓冲、地址翻译等,通过这些种种措施,VT-d实现了北桥芯片级别的I/O设备虚拟化。VT-d最终体现到虚拟化模型上的就是新增加了两种设备虚拟化方式:

直接I/O设备分配, 虚拟机直接分配物理I/O设备给虚拟机,这个模型下,虚拟机内部的驱动程序直接和硬件设备直接通信,只需要经过少量,或者不经过VMM的管理。为了系统的健壮性,需要硬件的虚拟化支持,以隔离和保护硬件资源只给指定的虚拟机使用,硬件同时还需要具备多个I/O容器分区来同时为多个虚拟机服务,这个模型几乎完全消除了在VMM中运行驱动程序的需求。例如CPU,虽然CPU不算是通常意义的I/O设备——不过它确实就是通过这种方式分配给虚拟机,当然CPU的资源还处在VMM的管理之下。

运用VT-d技术,虚拟机得以使用直接I/O设备分配方式或者I/O设备共享方式来代替传统的设备模拟/额外设备接口方式,从而大大提升了虚拟化的I/O性能。


你可能感兴趣的:(Intel虚拟化技术(Intel VT-x))