在RHEL 6中,红帽公司将只提供内核支持的虚拟机(KVM)。KVM将在一个单一的模块的核心存在,这意味着KVM虚拟机运行在一个进程的组成模块的基础。这使得管理虚拟机更容易。为了最大限度地发挥Linux虚拟服务的优化,RHEL 6对内核进行了一些改进,本文给出了一些最重要的改进概述。



KVM虚拟化技术提供了下一代虚拟化解决方案为RHEL 6。因为KVM比Xen更新更高效,红帽公司将放弃Xen完全在RHEL 6(但它将提供一种Xen虚拟机的移植)。



优化过程处理



RHEL的过程可以在有组织的存储桶:一个实体,可以分配CPU和其他资源。因为虚拟机也在进程的形式运行,这个属性也是虚拟机运行机制的一部分。



为了使虚拟机可以在KVM中稳定运行,每个虚拟CPU调度程序作为一个线程来处理,有效的调度,内核启用一个新的经营方式,mdash;mdash;访问者模式虚拟访客不能直接调用Linux内核的系统(系统模式的过程),但它可以使用呼叫管理和管理程序的谈话。这种新的操作模式充分利用了Linux内核的新功能,如调度、计数、和内核同页合并(KSM)。



硬件支持的改进



内核升级只是KVM性能部分,另一部分是硬件本身,RHEL 6内核可以充分利用多种功能,是完全用硬件实现。首先,随着CPU的支持,有一个扩展页表(EPT)。这个功能降低了仿真的需要,使虚拟化服务运行得更快。然后在AMD环境称为IOMMU,是英特尔环境称为VT-d功能。该功能允许用户使用物理我 / O设备安全、直接、同时保护设备不会意外地被其他用户。这种保护是必要的,因为如果一个用户的数据写入到一个已被占领的装置,它可能导致主机死机。



另一个重要功能是sr-iov.this功能是指虚拟我/对PCI总线接口,它牢固地分享真实的硬件。此功能为网络适配器是特别重要的,允许一个物理设备提供虚拟设备可以同时被多个访客用户使用。最后重要的硬件功能,可以可用于虚拟环境NPIV。此功能允许共享的存储设备,这意味着每个用户可以使用存储设备的一部分。



为了充分利用这些硬件的改善,RHEL内核得到加强。例如,在CPU的增强可以允许用户配置超过64 CPU。此外,由于内核RCU同步机制的锁定;特征mdash;mdash;实际上,没有锁,这是只是一种机制来避免锁定在SMP对称多处理器环境中提高性能;mdash;mdash;可以分配CPU的数量有一个最小值。



RHEL 6也具有一定的记忆功能。首先,第一增强透明的大内存分页。这意味着大内存分页(允许内核分配大的内存块而不是4KB块)是动态的。因此,没有必要执行内存分页计划当系统启动。另一个是KVM有益功能mdash;mdash;内核与页合并。这个功能允许多个虚拟机同时访问相同的管理页面,删除在启动阶段的所有内存页,提高Windows虚拟机的性能。



改进的下一部分是块我/每一局部的异步IO和preadv / pwritev系统调用。这样,你可以结合之前读/写在多线程环境中提高性能,你需要记忆的地方。内核现在也有support.msi MSI中断中断的PCI设备息息相关,让您的工作在多个并行的中断。另一个相关的改进是块对齐。今天,对块对齐的默认值进行了优化,以提高系统的性能,所有这些改进都旨在在内核级提供出色的性能。



一些特殊的我/ O的增强也有利于网络接口性能的改进。最重要的一个增强的虚拟主机的网络,移动的网络空间的一部分从用户空间到内核空间。这为virtio驱动程序是非常有用的。virtion驱动器也可以提供更好的网络性能KVM的用户,同时让用户使用自来水驱动程序与虚拟设备进行通信,使用虚拟主机的优点在于它是直接连接到内核,因此它可以提供比QEMU方法需要模拟更好的性能。