在RHEL 6中,红帽公司将只提供对内核虚拟机(KVM)的支持。KVM会以一个单一模块存在于内核中,这意味着KVM虚拟机是以进程的形式在该模块的基础之上运行。这使得虚拟机管理起来要容易得多。为了使Linux虚拟化服务得到最大优化,RHEL 6对内核进行了一些改进。本文简要讲述了其中一些最重要的改进。 KVM虚拟化技术为RHEL 6提供了下一代虚拟化解决方案。因为KVM比Xen更新更有效,所以红帽公司将在RHEL 6中彻底放弃Xen(但会提供移植Xen虚拟机的方法)。 优化的过程处理 RHEL进程可以在储存桶中组织:可以分配CPU和其他资源的实体。因为虚拟机也是以进程形式运行,所以这个属性也成为虚拟机运行机制的一部分。 为了使虚拟机能够在KVM中平稳运行,每一个虚拟CPU都被调度程序当做一个线程来处理。为了进行有效的调度,内核启用了一种新的操作模式—— “访客模式”。一个虚拟访客不能直接对Linux内核进行系统调用(系统模式下的进程则可以),但它却能够运用管理调用与管理程序进行对话。这种新的操作模式充分利用了Linux内核的新功能,如调度、计数、内核同页合并(KSM)。 硬件支持方面的改进 内核升级还只是KVM性能的一部分。另一部分则在于硬件本身。RHEL 6内核能够充分利用几个完全由硬件实现的功能。首先,关于CPU的支持,有扩展页表(EPT)。此项功能可以减少仿真的需要,从而使虚拟化服务运行得更快。接着是在AMD环境下被称为IOMMU、在Intel环境下被称为VT-d的功能。这项功能允许用户安全地直接使用物理I/O设备,同时保护相同的设备不会被其他用户意外使用。这种保护措施是必要的,因为如果某个用户向一个已被占用的设备中写数据,就有可能导致主机崩溃。 另一项重要功能是SR-IOV。该功能指在PCI总线上虚拟I/O接口,安全地共享真实的硬件。该功能对网络适配器尤其重要,能够允许一个物理设备同时提供多个访客用户可以使用的虚拟设备。最后一个能在虚拟环境下使用的重要硬件功能是NPIV。该功能允许共享储存设备,这意味着每一位用户都可以使用存储设备的一部分。 |