紅帽RHEL 6內(nèi)核優(yōu)化方面改進(jìn)概覽
在RHEL 6中,紅帽公司將只提供對內(nèi)核虛擬機(jī)(KVM)的支持。KVM會以一個單一模塊存在于內(nèi)核中,這意味著KVM虛擬機(jī)是以進(jìn)程的形式在該模塊的基礎(chǔ)之上運行。這使得虛擬機(jī)管理起來要容易得多。為了使Linux虛擬化服務(wù)得到***優(yōu)化,RHEL 6對內(nèi)核進(jìn)行了一些改進(jìn)。本文簡要講述了其中一些最重要的改進(jìn)。
51CTO編輯推薦:紅帽企業(yè)級Linux RHEL 6專題
KVM虛擬化技術(shù)為RHEL 6提供了下一代虛擬化解決方案。因為KVM比Xen更新更有效,所以紅帽公司將在RHEL 6中徹底放棄Xen(但會提供移植Xen虛擬機(jī)的方法)。
優(yōu)化的過程處理
RHEL進(jìn)程可以在儲存桶中組織:可以分配CPU和其他資源的實體。因為虛擬機(jī)也是以進(jìn)程形式運行,所以這個屬性也成為虛擬機(jī)運行機(jī)制的一部分。
為了使虛擬機(jī)能夠在KVM中平穩(wěn)運行,每一個虛擬CPU都被調(diào)度程序當(dāng)做一個線程來處理。為了進(jìn)行有效的調(diào)度,內(nèi)核啟用了一種新的操作模式——“訪客模式”。一個虛擬訪客不能直接對Linux內(nèi)核進(jìn)行系統(tǒng)調(diào)用(系統(tǒng)模式下的進(jìn)程則可以),但它卻能夠運用管理調(diào)用與管理程序進(jìn)行對話。這種新的操作模式充分利用了Linux內(nèi)核的新功能,如調(diào)度、計數(shù)、內(nèi)核同頁合并(KSM)。
硬件支持方面的改進(jìn)
內(nèi)核升級還只是KVM性能的一部分。另一部分則在于硬件本身。RHEL 6內(nèi)核能夠充分利用幾個完全由硬件實現(xiàn)的功能。首先,關(guān)于CPU的支持,有擴(kuò)展頁表(EPT)。此項功能可以減少仿真的需要,從而使虛擬化服務(wù)運行得更快。接著是在AMD環(huán)境下被稱為IOMMU、在Intel環(huán)境下被稱為VT-d的功能。這項功能允許用戶安全地直接使用物理I/O設(shè)備,同時保護(hù)相同的設(shè)備不會被其他用戶意外使用。這種保護(hù)措施是必要的,因為如果某個用戶向一個已被占用的設(shè)備中寫數(shù)據(jù),就有可能導(dǎo)致主機(jī)崩潰。
另一項重要功能是SR-IOV。該功能指在PCI總線上虛擬I/O接口,安全地共享真實的硬件。該功能對網(wǎng)絡(luò)適配器尤其重要,能夠允許一個物理設(shè)備同時提供多個訪客用戶可以使用的虛擬設(shè)備。***一個能在虛擬環(huán)境下使用的重要硬件功能是NPIV。該功能允許共享儲存設(shè)備,這意味著每一位用戶都可以使用存儲設(shè)備的一部分。
為了利用這些硬件上的改進(jìn)功能,RHEL內(nèi)核得到了加強(qiáng)。例如,CPU方面的加強(qiáng)能夠允許用戶分配超過64個CPU。此外,由于內(nèi)核RCU同步機(jī)制的“鎖定”特性——實際上是沒有任何鎖的,只是一種在SMP對稱多處理器環(huán)境下避免鎖、提高性能的機(jī)制——能夠被分配的CPU數(shù)量有個最小值。
RHEL 6還有一些內(nèi)存方面的增強(qiáng)。首先,***項增強(qiáng)便是透明的大內(nèi)存分頁。這意味著大內(nèi)存分頁(允許內(nèi)核分配大的內(nèi)存塊而不是4KB的小塊)是動態(tài)的,因此,在系統(tǒng)啟動時就不用為內(nèi)存執(zhí)行分頁計劃。另一項則是對KVM有利的功能——內(nèi)核同頁合并。此項功能允許多個虛擬機(jī)同時訪問同一個管理頁面,清除啟動階段所有的內(nèi)存頁面,提高了Windows虛擬機(jī)的性能。
下一個改進(jìn)的部分就是塊I/O。首先是本地異步IO和preadv/pwritev系統(tǒng)調(diào)用。有了這些,你可以在讀/寫之前將需要的內(nèi)存區(qū)域組合起來,提高多線程環(huán)境下的性能。內(nèi)核現(xiàn)在也已經(jīng)具有了MSI中斷支持。MSI中斷與PCI設(shè)備息息相關(guān),允許你在多路并行中斷線上工作。另一個相關(guān)改進(jìn)是塊對齊,如今,塊對齊的默認(rèn)值進(jìn)行了優(yōu)化,使得系統(tǒng)具有更好的性能。上述所有這些改進(jìn)都是為了提供內(nèi)核級的***性能。
一些特殊的I/O增強(qiáng)也為網(wǎng)絡(luò)接口性能的提高帶來了好處。其中最重要的一處增強(qiáng)便是將網(wǎng)絡(luò)空間的一部分從用戶空間移動到內(nèi)核空間的虛擬主機(jī)網(wǎng)。這一點對virtio驅(qū)動非常有用。virtion驅(qū)動器還能為KVM用戶提供更好的網(wǎng)絡(luò)性能,同時允許用戶使用TAP驅(qū)動與虛擬設(shè)備進(jìn)行對話。使用虛擬主機(jī)網(wǎng)的好處在于它直接掛靠在內(nèi)核中,因此能夠提供比需要仿真的qemu方法好得多的性能。
原文:http://www.searchsv.com.cn/showcontent_38950.htm
【編輯推薦】















 
 
 

 
 
 
 