本發(fā)明專利技術(shù)提供了一種通過(guò)NVRAM提升虛擬機(jī)性能的方法和系統(tǒng),包括:在每臺(tái)物理機(jī)上運(yùn)行多臺(tái)虛擬機(jī),并且虛擬機(jī)與后端存儲(chǔ)設(shè)備相連;在每臺(tái)物理機(jī)上,通過(guò)NVRAM服務(wù)接收來(lái)自虛擬機(jī)的IO請(qǐng)求;如果IO請(qǐng)求是讀請(qǐng)求,則NVRAM服務(wù)從非易失性隨機(jī)訪問(wèn)存儲(chǔ)器中讀取相應(yīng)的數(shù)據(jù)塊;如果IO請(qǐng)求是寫(xiě)請(qǐng)求,則NVRAM服務(wù)將待寫(xiě)的數(shù)據(jù)直接寫(xiě)入非易失性隨機(jī)訪問(wèn)存儲(chǔ)器中。本發(fā)明專利技術(shù)核心是通過(guò)非易失性隨機(jī)訪問(wèn)存儲(chǔ)器NVRAM取代傳統(tǒng)的文件系統(tǒng),作為KVM虛擬機(jī)的后端存儲(chǔ)設(shè)備,將其中的IO請(qǐng)求進(jìn)行接管,繞過(guò)宿主機(jī)上的文件系統(tǒng),提升虛擬機(jī)的性能。
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)涉及虛擬機(jī),具體地,涉及通過(guò)NVRAM提升虛擬機(jī)性能的方法和系統(tǒng)。
技術(shù)介紹
首先對(duì)本專利技術(shù)涉及的相關(guān)概念進(jìn)行說(shuō)明。NVRAM:非易失性隨機(jī)訪問(wèn)存儲(chǔ)器(Non-VolatileRandomAccessMemory),是指斷電后仍能保持?jǐn)?shù)據(jù)的一種RAM。KVM:(Kernel-basedVirtualMachine)是由以色列的一個(gè)開(kāi)源組織開(kāi)發(fā)的基于Linux內(nèi)核的虛擬機(jī),于2008年被紅帽收購(gòu)。近些年來(lái),云計(jì)算的興起給IT產(chǎn)業(yè)帶來(lái)了新的發(fā)展空間,其結(jié)合IT技術(shù)和互聯(lián)網(wǎng)技術(shù)實(shí)現(xiàn)了超級(jí)計(jì)算和存儲(chǔ)能力,而推動(dòng)云計(jì)算興起的核心動(dòng)力是虛擬化技術(shù)的發(fā)展。虛擬化是通過(guò)把多個(gè)操作系統(tǒng)整合到一臺(tái)高性能服務(wù)器上,最大化利用硬件平臺(tái)的所有資源,用更少的投入實(shí)現(xiàn)更多的應(yīng)用,還可以簡(jiǎn)化IT架構(gòu),降低管理資源的難度,避免IT架構(gòu)的非必要擴(kuò)張。虛擬化技術(shù)發(fā)展到今天,各方面都有了進(jìn)步,虛擬化也從純軟件逐步深入到處理器級(jí)虛擬化,再到平臺(tái)級(jí)虛擬化乃至輸入/輸出級(jí)虛擬化,代表性技術(shù)就是IntelVT-x。因此,相比于早期通過(guò)軟件轉(zhuǎn)碼的方式,最新的虛擬化技術(shù)直接通過(guò)處理器的虛擬化模塊對(duì)虛擬機(jī)的GuestOS進(jìn)行處理,大幅提升了虛擬機(jī)性能。一般基于虛擬化的用戶應(yīng)用程序分為CPU密集型和IO密集型兩類。而IntelVT-x等處理器級(jí)虛擬化技術(shù),主要是幫助了那些運(yùn)行著CPU密集型的業(yè)務(wù)程序的虛擬機(jī)提升性能,卻對(duì)IO密集型業(yè)務(wù)虛機(jī)的性能并沒(méi)帶來(lái)多大的改善。鑒于此,國(guó)內(nèi)外多家公司和學(xué)術(shù)機(jī)構(gòu)都對(duì)此進(jìn)行了研究和改進(jìn),但效果并不理想。其中,與本專利技術(shù)最接近的技術(shù)方案如下:專利文獻(xiàn)1(公開(kāi)號(hào)CN103593226A):一種提高虛擬機(jī)磁盤(pán)IO性能的方法,其設(shè)計(jì)一種特殊的文件系統(tǒng),把部分內(nèi)存模擬為磁盤(pán),通過(guò)把虛擬機(jī)使用的以文件形式存在并存放在宿主機(jī)物理硬盤(pán)上的虛擬硬盤(pán)放在內(nèi)存模擬成的文件系統(tǒng)上,利用內(nèi)存的高速讀寫(xiě)性能,以達(dá)到大幅度提高磁盤(pán)IO性能的目的。該方案的最大的問(wèn)題是如果使用一般的內(nèi)存則缺乏掉電保護(hù)機(jī)制,容易造成用戶業(yè)務(wù)數(shù)據(jù)丟失。專利文獻(xiàn)2(CN105117285A):一種基于移動(dòng)虛擬化系統(tǒng)的非易失性存儲(chǔ)器調(diào)度優(yōu)化方法,該專利文獻(xiàn)設(shè)計(jì)了一種基于移動(dòng)虛擬化系統(tǒng)的非易失性存儲(chǔ)器調(diào)度優(yōu)化方法,包括以下步驟:步驟1、在移動(dòng)虛擬化系統(tǒng)上,DRAM存儲(chǔ)器與NVRAM存儲(chǔ)器結(jié)合;步驟2、針對(duì)單個(gè)虛擬機(jī),將任務(wù)劃分為寫(xiě)密集型任務(wù)和讀密集型任務(wù);步驟3、根據(jù)任務(wù)的密集性和CPU的利用率,動(dòng)態(tài)地將寫(xiě)密集型任務(wù)分配到DRAM存儲(chǔ)器上,讀密集型任務(wù)分配到NVRAM存儲(chǔ)器上;步驟4、在多個(gè)虛擬機(jī)之間采用不公平的調(diào)度算法。這個(gè)方案最大的問(wèn)題就是數(shù)據(jù)承載量過(guò)小,不適合動(dòng)輒上百GB數(shù)據(jù)量的通用虛擬化系統(tǒng),僅僅適合移動(dòng)終端的小型虛擬化設(shè)備。
技術(shù)實(shí)現(xiàn)思路
針對(duì)現(xiàn)有技術(shù)中的缺陷,本專利技術(shù)的目的是提供一種通過(guò)NVRAM提升虛擬機(jī)性能的方法。根據(jù)本專利技術(shù)提供的一種通過(guò)NVRAM提升虛擬機(jī)性能的方法,包括:步驟1:在每臺(tái)物理機(jī)上運(yùn)行多臺(tái)虛擬機(jī),并且虛擬機(jī)與后端存儲(chǔ)設(shè)備相連;步驟2:在每臺(tái)物理機(jī)上,通過(guò)NVRAM服務(wù)接收來(lái)自虛擬機(jī)的IO請(qǐng)求;步驟3:如果IO請(qǐng)求是讀請(qǐng)求,則NVRAM服務(wù)從非易失性隨機(jī)訪問(wèn)存儲(chǔ)器中讀取相應(yīng)的數(shù)據(jù)塊;如果IO請(qǐng)求是寫(xiě)請(qǐng)求,則NVRAM服務(wù)將待寫(xiě)的數(shù)據(jù)直接寫(xiě)入非易失性隨機(jī)訪問(wèn)存儲(chǔ)器中;其中,當(dāng)IO請(qǐng)求是讀請(qǐng)求,且NVRAM服務(wù)沒(méi)有在非易失性隨機(jī)訪問(wèn)存儲(chǔ)器中查找到待讀取數(shù)據(jù)塊,則NVRAM服務(wù)將從所述后端存儲(chǔ)設(shè)備讀取到的所述待讀取數(shù)據(jù)塊以及待讀取數(shù)據(jù)塊后續(xù)的多個(gè)連續(xù)的數(shù)據(jù)塊緩存在非易失性隨機(jī)訪問(wèn)存儲(chǔ)器中。優(yōu)選地,當(dāng)因非易失性隨機(jī)訪問(wèn)存儲(chǔ)器空間不夠而導(dǎo)致IO請(qǐng)求失敗,則NVRAM服務(wù)根據(jù)最近最少使用算法LRU,將非易失性隨機(jī)訪問(wèn)存儲(chǔ)器中的部分較少訪問(wèn)的數(shù)據(jù)塊刷入后端存儲(chǔ)設(shè)備,并將被刷入候選存儲(chǔ)設(shè)備的數(shù)據(jù)塊所占用的非易失性隨機(jī)訪問(wèn)存儲(chǔ)器的空間釋放。根據(jù)本專利技術(shù)提供的一種通過(guò)NVRAM提升虛擬機(jī)性能的系統(tǒng),包括:第一裝置:用于在每臺(tái)物理機(jī)上運(yùn)行多臺(tái)虛擬機(jī),其中,虛擬機(jī)與后端存儲(chǔ)設(shè)備相連;第二裝置:用于在每臺(tái)物理機(jī)上,通過(guò)NVRAM服務(wù)接收來(lái)自虛擬機(jī)的IO請(qǐng)求;第三裝置:用于當(dāng)IO請(qǐng)求是讀請(qǐng)求時(shí),通過(guò)NVRAM服務(wù)從非易失性隨機(jī)訪問(wèn)存儲(chǔ)器中讀取相應(yīng)的數(shù)據(jù)塊;當(dāng)IO請(qǐng)求是寫(xiě)請(qǐng)求時(shí),通過(guò)NVRAM服務(wù)將待寫(xiě)的數(shù)據(jù)直接寫(xiě)入非易失性隨機(jī)訪問(wèn)存儲(chǔ)器中;其中,當(dāng)IO請(qǐng)求是讀請(qǐng)求,且NVRAM服務(wù)沒(méi)有在非易失性隨機(jī)訪問(wèn)存儲(chǔ)器中查找到待讀取數(shù)據(jù)塊,則NVRAM服務(wù)將從所述后端存儲(chǔ)設(shè)備讀取到的所述待讀取數(shù)據(jù)塊以及待讀取數(shù)據(jù)塊后續(xù)的多個(gè)連續(xù)的數(shù)據(jù)塊緩存在非易失性隨機(jī)訪問(wèn)存儲(chǔ)器中。優(yōu)選地,當(dāng)因非易失性隨機(jī)訪問(wèn)存儲(chǔ)器空間不夠而導(dǎo)致IO請(qǐng)求失敗,則NVRAM服務(wù)根據(jù)最近最少使用算法LRU,將非易失性隨機(jī)訪問(wèn)存儲(chǔ)器中的部分較少訪問(wèn)的數(shù)據(jù)塊刷入后端存儲(chǔ)設(shè)備,并將被刷入候選存儲(chǔ)設(shè)備的數(shù)據(jù)塊所占用的非易失性隨機(jī)訪問(wèn)存儲(chǔ)器的空間釋放。與現(xiàn)有技術(shù)相比,本專利技術(shù)具有如下的有益效果:本專利技術(shù)核心是通過(guò)非易失性隨機(jī)訪問(wèn)存儲(chǔ)器NVRAM取代傳統(tǒng)的文件系統(tǒng),作為KVM虛擬機(jī)的后端存儲(chǔ)設(shè)備,將其中的IO請(qǐng)求進(jìn)行接管,繞過(guò)宿主機(jī)上的文件系統(tǒng),提升虛擬機(jī)的性能。附圖說(shuō)明通過(guò)閱讀參照以下附圖對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本專利技術(shù)的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:圖1為本專利技術(shù)提供的通過(guò)NVRAM提升虛擬機(jī)性能的原理示意圖。圖2為本專利技術(shù)提供的通過(guò)NVRAM提升虛擬機(jī)性能的步驟流程圖。具體實(shí)施方式下面結(jié)合具體實(shí)施例對(duì)本專利技術(shù)進(jìn)行詳細(xì)說(shuō)明。以下實(shí)施例將有助于本領(lǐng)域的技術(shù)人員進(jìn)一步理解本專利技術(shù),但不以任何形式限制本專利技術(shù)。應(yīng)當(dāng)指出的是,對(duì)本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本專利技術(shù)構(gòu)思的前提下,還可以做出若干變化和改進(jìn)。這些都屬于本專利技術(shù)的保護(hù)范圍。隨著云計(jì)算的不斷發(fā)展,各種虛擬化軟件也開(kāi)始得到了大規(guī)模的應(yīng)用,特別是基于KVM的虛擬化軟件,成為了各云平臺(tái)的主流軟件。對(duì)于KVM來(lái)說(shuō),由于處理器硬件級(jí)虛擬化技術(shù)的成熟,基于CPU密集型應(yīng)用程序的虛擬機(jī)提升性能。然而對(duì)IO密集型業(yè)務(wù)虛擬機(jī)的性能受到存儲(chǔ)選項(xiàng)的制約,并沒(méi)有多大的改善。針對(duì)KVM的存儲(chǔ)選項(xiàng)概況起來(lái)有三種:虛擬磁盤(pán)鏡像(各種格式的鏡像文件,目前最流行的是qcow2格式)、基于文件系統(tǒng)的存儲(chǔ)(nfs、glusterfs、ceph等)和基于設(shè)備的存儲(chǔ)(SAN設(shè)備)。所有的這些針對(duì)KVM的存儲(chǔ)選項(xiàng)都有一個(gè)共同缺點(diǎn):文件系統(tǒng)固有缺陷。因?yàn)樘摂M機(jī)的磁盤(pán)文件不能直接讀取或?qū)懭隟VM存儲(chǔ)設(shè)備,而是寫(xiě)入宿主機(jī)OS之上的文件系統(tǒng)。這也就意味著在訪問(wèn)和寫(xiě)入文件時(shí)中間增加了額外一層,這通常會(huì)降低性能。所以,如果希望尋找KVM虛擬化性能最優(yōu)方案,最好考慮基于一種新的設(shè)備存儲(chǔ)方法。本方案的首要目的是解決虛擬機(jī)IO性能瓶頸的問(wèn)題,核心是對(duì)NVRAM的使用。與傳統(tǒng)的RAM相比,NVRAM與RAM最大的不同在于斷電后RAM數(shù)據(jù)消失,而NVRAM數(shù)據(jù)保留。日前,在多種NVRAM中,以閃存(FlashMemory)技術(shù)最為引人注目,并占據(jù)著NVRAM市場(chǎng)的霸主地位。盡管現(xiàn)在不同于閃存技術(shù)的其他NVRAM技術(shù)已經(jīng)出現(xiàn),并逐漸被一些廠商重視并看好,但綜合架構(gòu)、性能、穩(wěn)定性等方面來(lái)看,閃存仍將是本方案的優(yōu)選產(chǎn)品。目前市場(chǎng)上的閃存最大容量本文檔來(lái)自技高網(wǎng)...

【技術(shù)保護(hù)點(diǎn)】
一種通過(guò)NVRAM提升虛擬機(jī)性能的方法,其特征在于,包括:步驟1:在每臺(tái)物理機(jī)上運(yùn)行多臺(tái)虛擬機(jī),并且虛擬機(jī)與后端存儲(chǔ)設(shè)備相連;步驟2:在每臺(tái)物理機(jī)上,通過(guò)NVRAM服務(wù)接收來(lái)自虛擬機(jī)的IO請(qǐng)求;步驟3:如果IO請(qǐng)求是讀請(qǐng)求,則NVRAM服務(wù)從非易失性隨機(jī)訪問(wèn)存儲(chǔ)器中讀取相應(yīng)的數(shù)據(jù)塊;如果IO請(qǐng)求是寫(xiě)請(qǐng)求,則NVRAM服務(wù)將待寫(xiě)的數(shù)據(jù)直接寫(xiě)入非易失性隨機(jī)訪問(wèn)存儲(chǔ)器中;其中,當(dāng)IO請(qǐng)求是讀請(qǐng)求,且NVRAM服務(wù)沒(méi)有在非易失性隨機(jī)訪問(wèn)存儲(chǔ)器中查找到待讀取數(shù)據(jù)塊,則NVRAM服務(wù)將從所述后端存儲(chǔ)設(shè)備讀取到的所述待讀取數(shù)據(jù)塊以及待讀取數(shù)據(jù)塊后續(xù)的多個(gè)連續(xù)的數(shù)據(jù)塊緩存在非易失性隨機(jī)訪問(wèn)存儲(chǔ)器中。
【技術(shù)特征摘要】
1.一種通過(guò)NVRAM提升虛擬機(jī)性能的方法,其特征在于,包括:步驟1:在每臺(tái)物理機(jī)上運(yùn)行多臺(tái)虛擬機(jī),并且虛擬機(jī)與后端存儲(chǔ)設(shè)備相連;步驟2:在每臺(tái)物理機(jī)上,通過(guò)NVRAM服務(wù)接收來(lái)自虛擬機(jī)的IO請(qǐng)求;步驟3:如果IO請(qǐng)求是讀請(qǐng)求,則NVRAM服務(wù)從非易失性隨機(jī)訪問(wèn)存儲(chǔ)器中讀取相應(yīng)的數(shù)據(jù)塊;如果IO請(qǐng)求是寫(xiě)請(qǐng)求,則NVRAM服務(wù)將待寫(xiě)的數(shù)據(jù)直接寫(xiě)入非易失性隨機(jī)訪問(wèn)存儲(chǔ)器中;其中,當(dāng)IO請(qǐng)求是讀請(qǐng)求,且NVRAM服務(wù)沒(méi)有在非易失性隨機(jī)訪問(wèn)存儲(chǔ)器中查找到待讀取數(shù)據(jù)塊,則NVRAM服務(wù)將從所述后端存儲(chǔ)設(shè)備讀取到的所述待讀取數(shù)據(jù)塊以及待讀取數(shù)據(jù)塊后續(xù)的多個(gè)連續(xù)的數(shù)據(jù)塊緩存在非易失性隨機(jī)訪問(wèn)存儲(chǔ)器中。2.根據(jù)權(quán)利要求1所述的通過(guò)NVRAM提升虛擬機(jī)性能的方法,其特征在于,當(dāng)因非易失性隨機(jī)訪問(wèn)存儲(chǔ)器空間不夠而導(dǎo)致IO請(qǐng)求失敗,則NVRAM服務(wù)根據(jù)最近最少使用算法LRU,將非易失性隨機(jī)訪問(wèn)存儲(chǔ)器中的部分較少訪問(wèn)的數(shù)據(jù)塊刷入后端存儲(chǔ)設(shè)備,并將被刷入候選存儲(chǔ)設(shè)備的數(shù)據(jù)塊所占用的非易失性隨機(jī)訪問(wèn)存儲(chǔ)器的空間釋放。3.一種通過(guò)...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:陳云松,
申請(qǐng)(專利權(quán))人:中國(guó)電子科技集團(tuán)公司第三十二研究所,
類型:發(fā)明
國(guó)別省市:上海;31
還沒(méi)有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。