虚拟化 频道

Intel VT为处理器及I/O虚拟化强基固本

  【IT168 技术应用】本文简要介绍了Intel VT、它所形成的虚拟化软件生态系统以及提供给处理器和I/O虚拟化的硬件支持。

  Intel虚拟化技术简介

  Intel VT包括了支持基于Intel处理器平台虚拟化的技术因素,因此实现了多个操作系统和应用在独立分区中的运行。每个分区就像是一个虚拟机,提供了各分区之间的分离和保护。这种基于硬件的虚拟化解决方案再加上虚拟化软件,实现了例如服务器整合、活动分区、工作负载隔离、嵌入式管理、传统软件迁移和灾难恢复等多种用途。

  虚拟机管理器与虚拟机

  Intel VT支持由两个主要类别的软件所组成的虚拟机架构:

  -虚拟机管理器(Virtual-Machine Monitor,VMM):虚拟机管理器就像是一个主机,全面控制着处理器和其他平台硬件。虚拟机管理器体现为客户软件和一个虚拟处理器,允许直接在逻辑处理器上执行。虚拟机管理器能够保留对处理器资源、物理内存、中断管理和I/O的选择性控制。

  -客户软件:每个虚拟机就是一个客户软件环境,支持由一个操作系统和应用软件组成的栈。每个虚拟机独立于其他虚拟机运行,对物理平台所提供的处理器、内存、存储、线卡和I/O使用相同的界面。这个软件栈就好像运行在一个没有虚拟机管理器的平台上。运行在虚拟机中的软件必须以降低的权限运行,这样虚拟机管理器就可以保留对平台资源的控制权。

  在虚拟化的使用中,虚拟机管理器是平台基础架构的一个关键组成部分。Intel VT可以通过编程界面虚拟化处理器硬件来提高虚拟化基础架构软件的可靠性和可支持性。另外它还为平台中其他硬件组件的额外虚拟化支持奠定了基础。

  处理器虚拟化的硬件支持

  对处理器虚拟化的硬件支持可以获得一个简单、强大且可靠的虚拟机管理软件。虚拟机管理软件依赖于操作细节的硬件支持来处理事件、预期和分配给虚拟机的资源。

  Intel VT提供了对处理器虚拟化的硬件支持。对于Intel 64处理器来说,这其中包括一系列虚拟机扩展(VMX),通过使用虚拟机支持对于多个软件环境的处理器硬件虚拟化。另外还有一个针对Intel安腾架构的处理器虚拟化所定义的对应架构。

  I/O虚拟化

  一个虚拟机管理器必须支持来自客户软件的I/O请求虚拟化。虚拟管理器也可能通过以下任何一种方式支持I/O虚拟化:

  -仿真:虚拟机管理器可以通过模拟一个现有(传统)I/O设备将虚拟机呈现到客户软件。虚拟机管理器在软件中仿真I/O设备的功能特性,不管通过哪个物理设备,最终呈现在物理平台上。I/O虚拟化通过仿真提供了良好的兼容性(通过允许现有设备驱动程序运行在客户机中),但是也造成了其性能和功能方面的限制。

  -新的软件接口:这种模式类似于I/O仿真,但仿真的不是传统设备,虚拟机管理器为客户软件提供了一个综合设备接口。这个综合设备接口被定义成虚拟化友好的,相比I/O仿真相关的开销来说,这种途径可以实现有效的虚拟化,它提供了比仿真更高的性能,但是兼容性有所降低(因为需要专门的客户软件和用于新软件接口的驱动程序)。

  - I/O分配:一个虚拟机管理器可以直接将物理I/O设备分配给虚拟机。在这种模式下,被分配设备的驱动程序运行在分配给的虚拟机上,并且可以直接与设备应用进行通信,只需要极少甚至不需要虚拟机管理器的参与。强健的I/O分配要求额外的硬件支持,以确保被分配设备的访问是隔离的,且限制于分配分区所拥有的资源。I/O分配模式还可以被用于创建一个或者多个I/O分区,支持仿真或者对来自其他客户的I/O请求进行虚拟化的软件接口。这种基于I/O池的方法不需要运行物理设备驱动程序作为虚拟机管理器的专有软件。

  - I/O设备共享:这种模式是对I/O分配模式的一个扩展,在这种模式下,I/O设备支持多个功能接口,每个都可以独立分配到一个虚拟机中。设备硬件本身能够通过这些功能接口接收多个I/O请求,经过处理并利用设备的硬件资源。虚拟机管理器根据使用要求,可以支持任何上述模式的I/O虚拟化。例如,I/O可以最适合于传统设备的虚拟化。当把I/O密集型工作负载托管到一个客户端的时候,I/O分配也许可以提供非常好的的性能。

  新软件接口的使用可以在兼容性和性能之间取得一个折衷,设备I/O的共享在平台中提供了超出物理设备数量的更多虚拟设备。

0
相关文章