红帽RHEL 6内核优化方面改进概览

红帽RHEL 6内核优化方面改进概览

 

摘要:   在RHEL 6中,红帽公司将只提供对内核虚拟机(KVM)的支持。KVM会以一个单一模块存在于内核中,这意味着KVM虚拟机是以进程的形式在该模块的基础之上运行。这使得虚拟机管理起来要容易得多。为了使 Linux虚拟化服务得 ...
  在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。该功能允许共享储存设备,这意味着每一位用户都可以使用存储设备的一部分。

为了利用这些硬件上的改进功能,RHEL内核得到了加强。例如,CPU方面的加强能够允许用户分配超过64个CPU。此外,由于内核RCU同步机制的“锁定”特性——实际上是没有任何锁的,只是一种在SMP对称多处理器环境下避免锁、提高性能的机制——能够被分配的CPU数量有个最小值。

  RHEL 6还有一些内存方面的增强。首先,第一项增强便是透明的大内存分页。这意味着大内存分页(允许内核分配大的内存块而不是4KB的小块)是动态的,因此,在系统启动时就不用为内存执行分页计划。另一项则是对KVM有利的功能——内核同页合并。此项功能允许多个虚拟机同时访问同一个管理页面,清除启动阶段所有的内存页面,提高了Windows虚拟机的性能。

  下一个改进的部分就是块I/O。首先是本地异步IO和preadv/pwritev系统调用。有了这些,你可以在读/写之前将需要的内存区域组合起来,提高多线程环境下的性能。内核现在也已经具有了MSI中断支持。MSI中断与PCI设备息息相关,允许你在多路并行中断线上工作。另一个相关改进是块对齐,如今,块对齐的默认值进行了优化,使得系统具有更好的性能。上述所有这些改进都是为了提供内核级的绝佳性能。

  一些特殊的I/O增强也为网络接口性能的提高带来了好处。其中最重要的一处增强便是将网络空间的一部分从用户空间移动到内核空间的虚拟主机网。这一点对virtio驱动非常有用。virtion驱动器还能为KVM用户提供更好的网络性能,同时允许用户使用TAP驱动与虚拟设备进行对话。使用虚拟主机网的好处在于它直接挂靠在内核中,因此能够提供比需要仿真的qemu方法好得多的性能。

你可能感兴趣的:(linux,职场,RHEL,休闲,红帽)