一種內(nèi)存超分配管理系統(tǒng)及方法
【專利摘要】本發(fā)明公開了一種內(nèi)存超分配管理系統(tǒng)及方法,本發(fā)明基于頁面共享技術(shù),通過收集集群內(nèi)各服務(wù)器運行的虛擬機的軟件類型,將運行的軟件類型相似的虛擬機從本服務(wù)器遷移至指定服務(wù)器,從而讓虛擬機間的頁面共享效果更佳,內(nèi)存超分配效果更好,同時還保證系統(tǒng)中服務(wù)器的承載能力不浪費,達(dá)到整個系統(tǒng)的內(nèi)存利用率,資源利用率的最佳配合,讓整個集群系統(tǒng)的內(nèi)存得到更好的分配,同時,本發(fā)明減少了服務(wù)器的運行數(shù)量,節(jié)約了能源和運行成本,減少了環(huán)境壓力,降低了二氧化碳排放,具有很大的社會效益和經(jīng)濟效益。
【專利說明】一種內(nèi)存超分配管理系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機虛擬化【技術(shù)領(lǐng)域】,尤其涉及一種內(nèi)存超分配管理系統(tǒng)及方法。
【背景技術(shù)】
[0002]隨著云計算的發(fā)展,作為云計算的基礎(chǔ)技術(shù)之一的計算機虛擬化技術(shù)也在不斷發(fā)展,通過在一臺服務(wù)器上運行多個虛擬機,實現(xiàn)對CPU、硬盤、內(nèi)存等多種資源的共享,節(jié)約企業(yè)對計算機的硬件投入,是虛擬化技術(shù)的進(jìn)化方向之一。
[0003]內(nèi)存超分配是一種內(nèi)存分配技術(shù),會為服務(wù)器上的多個虛擬機分配虛擬內(nèi)存,且讓各虛擬機看到的內(nèi)存總和超過服務(wù)器的實際物理內(nèi)存數(shù)量。按照其實現(xiàn)機制的不同,內(nèi)存超分配的主要技術(shù)有以下幾種:
[0004]氣球驅(qū)動技術(shù),該技術(shù)使得虛擬機看到的內(nèi)存比實際分配的內(nèi)存要多,在虛擬機上使用氣球驅(qū)動將超分配的內(nèi)存占據(jù),避免虛擬機內(nèi)部其他程序無法分配到超分配的內(nèi)存,當(dāng)虛擬機程序內(nèi)存不足時,虛擬機操作系統(tǒng)會自動啟動在虛擬機范圍內(nèi)存頁面交換機制;
[0005]虛擬機管理器頁面交換技術(shù),當(dāng)虛擬機的內(nèi)存頁面分配完了以后,由虛擬機管理器將部分內(nèi)存頁面保存到磁盤上,從而釋放一些內(nèi)存供虛擬機使用,讓虛擬機用戶感覺不到內(nèi)存超分配;
[0006]頁面共享技術(shù),以頁面為基礎(chǔ),將不同虛擬機間有相同內(nèi)容的頁面映射到同一個物理頁面。
[0007]在上述幾種技術(shù)中,氣球驅(qū)動技術(shù)由于容易出現(xiàn)內(nèi)存不夠的情況,因此對于虛擬機用戶來說,其體驗感比較差;虛擬機管理器頁面交換技術(shù)相對于氣球驅(qū)動技術(shù)來說,由于虛擬機用戶不會感覺到內(nèi)存不足,因此其虛擬機用戶的體驗感更好,但是在實際運行中,其運行性能比氣球驅(qū)動技術(shù)相對更差,因為利用虛擬機管理器做頁面交換的效率和準(zhǔn)確率均低于利用虛擬機操作系統(tǒng)自身做頁面交換;頁面共享技術(shù)是其中相對最好的技術(shù),因為其分配的內(nèi)存都是實際存在的,不存在性能下降和用戶體驗等問題。
[0008]目前,比如VmWare公司提供的透明頁面共享功能,Linux內(nèi)核提供的內(nèi)核相同頁面合并功能都屬于頁面共享技術(shù)。雖然頁面共享技術(shù)有很多優(yōu)點,但是也存在如下缺陷:其共享效果和虛擬機運行軟件的相似程度強相關(guān),即,如果兩個虛擬機運行的軟件相似度比較大,則可共享的頁面就越多,內(nèi)存超分配的效果就更好;反之,如果兩個虛擬機運行的軟件相似度較小,則可共享的頁面就少,內(nèi)存超分配的效果也較差。因此,對于大型的服務(wù)器集群系統(tǒng)來說,如果各服務(wù)器上的虛擬機軟件相似度不高,那么整個集群系統(tǒng)的內(nèi)存超分配效果就不好,帶來內(nèi)存資源的浪費,以及系統(tǒng)運行虛擬機個數(shù)的減少。
【發(fā)明內(nèi)容】
[0009]本發(fā)明的主要目的是提供一種內(nèi)存超分配管理系統(tǒng)及方法,旨在根據(jù)所收集的集群內(nèi)各服務(wù)器運行的虛擬機的軟件類型,將運行的軟件類型相似的虛擬機從本服務(wù)器遷移至指定服務(wù)器,讓整個集群系統(tǒng)的內(nèi)存得到更好的分配。
[0010]本發(fā)明提供了一種內(nèi)存超分配管理系統(tǒng),包括:
[0011]集群管理模塊,用于發(fā)送信息收集指令,并收集集群內(nèi)各服務(wù)器運行的虛擬機的軟件類型信息,根據(jù)所述虛擬機的軟件類型對各服務(wù)器進(jìn)行分類并動態(tài)標(biāo)識其類型后,使所述各服務(wù)器形成樹形結(jié)構(gòu),并在發(fā)送遷移指令后,對所述樹形結(jié)構(gòu)進(jìn)行調(diào)配;
[0012]服務(wù)器管理模塊,連接所述集群管理模塊,用于接收所述集群管理模塊發(fā)送的信息收集指令后,收集該服務(wù)器中各虛擬機內(nèi)運行軟件的類型信息,并向所述集群管理模塊上報;接收所述集群管理模塊發(fā)送的遷移指令后,將運行的軟件類型相似的虛擬機從本服務(wù)器遷移至指定服務(wù)器。
[0013]優(yōu)選地,所述服務(wù)器管理模塊包括信息收集模塊及遷移模塊,所述信息收集模塊用于接收所述集群管理模塊發(fā)送的信息收集指令后,收集該服務(wù)器中各虛擬機內(nèi)運行軟件的類型信息,并向所述集群管理模塊上報;所述遷移模塊用于接收所述集群管理模塊發(fā)送的遷移指令后,將運行的軟件類型相似的虛擬機從本服務(wù)器遷移至指定服務(wù)器。
[0014]優(yōu)選地,所述集群管理模塊包括虛擬機創(chuàng)建模塊,用于在創(chuàng)建虛擬機時,判斷是否存在與待創(chuàng)建虛擬機配置信息相似的服務(wù)器:
[0015]若是,則選擇所述與其配置信息相似的服務(wù)器為其可承載服務(wù)器后,創(chuàng)建該虛擬機;
[0016]否則,選擇一空閑服務(wù)器為其可承載服務(wù)器后,創(chuàng)建該虛擬機。
[0017]優(yōu)選地,所述集群管理模塊包括定時模塊,用于根據(jù)預(yù)設(shè)的時間間隔,定時發(fā)送信息收集指令至所述服務(wù)器管理模塊;所述集群管理模塊還用于根據(jù)其定時收集的各服務(wù)器中虛擬機內(nèi)運行軟件的類型信息下達(dá)遷移指令,對所述各服務(wù)器形成的樹形結(jié)構(gòu)進(jìn)行調(diào)配。
[0018]優(yōu)選地,所述遷移模塊還用于將遷移結(jié)果信息返回至所述集群管理模塊。
[0019]優(yōu)選地,所述虛擬機的軟件類型信息包括操作系統(tǒng)類型信息、操作系統(tǒng)類型信息及運行進(jìn)程信息。
[0020]優(yōu)選地,所述樹形結(jié)構(gòu)依次包括無類型、操作系統(tǒng)類型相同、操作系統(tǒng)版本相同及運行進(jìn)程相似的四個層次。
[0021]優(yōu)選地,所述集群管理模塊與所述服務(wù)器管理模塊之間的通信通道為局域網(wǎng)通道、互聯(lián)網(wǎng)通道、串口通道、光纖通道、無線通道或SAN (Storage Area Network:存儲域網(wǎng)絡(luò))通道的一種。
[0022]本發(fā)明還提供一種內(nèi)存超分配管理方法,包括:
[0023]接收信息收集指令,收集各服務(wù)器中虛擬機內(nèi)運行軟件的類型信息,并根據(jù)所收集的集群內(nèi)各服務(wù)器運行的虛擬機的軟件類型,對各服務(wù)器進(jìn)行分類并動態(tài)標(biāo)識其類型后,使所述各服務(wù)器形成樹形結(jié)構(gòu);
[0024]接收遷移指令,對所述樹形結(jié)構(gòu)進(jìn)行調(diào)配,將運行的軟件類型相似的虛擬機從本服務(wù)器遷移至指定服務(wù)器。
[0025]優(yōu)選地,所述內(nèi)存超分配管理方法還包括創(chuàng)建虛擬機,且在創(chuàng)建虛擬機時判斷是否存在與待創(chuàng)建虛擬機配置信息相似的服務(wù)器:
[0026]若是,則選擇所述與其配置信息相似的服務(wù)器為其可承載服務(wù)器后,創(chuàng)建該虛擬機;
[0027]否則,選擇一空閑服務(wù)器為其可承載服務(wù)器后,創(chuàng)建該虛擬機。
[0028]優(yōu)選地,所述接收信息收集指令之前還包括:根據(jù)預(yù)設(shè)的時間間隔,定時發(fā)送信息收集指令;所述接收遷移指令之前還包括:根據(jù)定時收集的各服務(wù)器中虛擬機內(nèi)運行軟件的類型信息下達(dá)遷移指令。
[0029]優(yōu)選地,所述接收遷移指令,對所述樹形結(jié)構(gòu)進(jìn)行調(diào)配,將運行的軟件類型相似的虛擬機從本服務(wù)器遷移至指定服務(wù)器之后還包括:將遷移結(jié)果信息返回。
[0030]優(yōu)選地,所述虛擬機的軟件類型信息包括操作系統(tǒng)類型信息,判斷各服務(wù)器運行的虛擬機的操作系統(tǒng)類型相似度的比值是否超過指定閥值:
[0031]若是,標(biāo)識該服務(wù)器為所述相似度比值超過指定閥值的操作系統(tǒng)類型的服務(wù)器;
[0032]否則,標(biāo)識該服務(wù)器為無類型服務(wù)器。
[0033]優(yōu)選地,所述虛擬機的軟件類型信息還包括操作系統(tǒng)版本信息,判斷各服務(wù)器運行的虛擬機的操作系統(tǒng)類型、操作系統(tǒng)版本的相似度的比值是否均超過指定閥值:
[0034]若是,標(biāo)識該服務(wù)器為所述相似度比值超過指定閥值的操作系統(tǒng)版本的服務(wù)器;
[0035]否則,判斷該服務(wù)器運行的虛擬機的操作系統(tǒng)類型相似度的比值是否超過指定閥值,并進(jìn)行動態(tài)標(biāo)識。
[0036]優(yōu)選地,所述虛擬機的軟件類型信息還包括運行進(jìn)程信息,判斷各服務(wù)器運行的虛擬機的操作系統(tǒng)類型、操作系統(tǒng)版本及運行進(jìn)程的相似度的比值是否均超過指定閥值:
[0037]若是,標(biāo)識該服務(wù)器為所述相似度比值超過指定閥值的運行進(jìn)程的服務(wù)器;
[0038]否則,判斷該服務(wù)器運行的虛擬機的操作系統(tǒng)類型、操作系統(tǒng)版本的相似度的比值是否均超過指定閥值,并進(jìn)行動態(tài)標(biāo)識。
[0039]本發(fā)明通過內(nèi)存超分配管理系統(tǒng)實現(xiàn)內(nèi)存超分配管理,所述內(nèi)存超分配管理方法包括:接收信息收集指令,收集各服務(wù)器中虛擬機內(nèi)運行軟件的類型信息,并根據(jù)所收集的集群內(nèi)各服務(wù)器運行的虛擬機的軟件類型,對各服務(wù)器進(jìn)行分類并動態(tài)標(biāo)識其類型后,使所述各服務(wù)器形成樹形結(jié)構(gòu);接收遷移指令,對所述樹形結(jié)構(gòu)進(jìn)行調(diào)配,將運行的軟件類型相似的虛擬機從本服務(wù)器遷移至指定服務(wù)器。本發(fā)明基于頁面共享技術(shù),通過收集集群內(nèi)各服務(wù)器運行的虛擬機的軟件類型,將運行的軟件類型相似的虛擬機從本服務(wù)器遷移至指定服務(wù)器,從而讓虛擬機間的頁面共享效果更佳,內(nèi)存超分配效果更好,同時還保證系統(tǒng)中服務(wù)器的承載能力不浪費,達(dá)到整個系統(tǒng)的內(nèi)存利用率,資源利用率的最佳配合,讓整個集群系統(tǒng)的內(nèi)存得到更好的分配,同時,本發(fā)明減少了服務(wù)器的運行數(shù)量,節(jié)約了能源和運行成本,減少了環(huán)境壓力,降低了二氧化碳排放,具有很大的社會效益和經(jīng)濟效益。
【專利附圖】
【附圖說明】
[0040]圖1是本發(fā)明內(nèi)存超分配管理系統(tǒng)一實施例的結(jié)構(gòu)示意圖;
[0041]圖2是本發(fā)明集群管理模塊一實施例的結(jié)構(gòu)示意圖;
[0042]圖3是本發(fā)明服務(wù)器管理模塊一實施例的結(jié)構(gòu)示意圖;
[0043]圖4是本發(fā)明內(nèi)存超分配管理系統(tǒng)樹形結(jié)構(gòu)一實施例的結(jié)構(gòu)示意圖;
[0044]圖5是本發(fā)明內(nèi)存超分配管理方法一實施例的流程圖;
[0045]圖6是本發(fā)明動態(tài)標(biāo)識服務(wù)器類型第一實施例的流程圖;
[0046]圖7是本發(fā)明動態(tài)標(biāo)識服務(wù)器類型第二實施例的流程圖;
[0047]圖8是本發(fā)明動態(tài)標(biāo)識服務(wù)器類型第三實施例的流程圖;
[0048]圖9是本發(fā)明內(nèi)存超分配管理方法另一實施例的流程圖;
[0049]圖10是本發(fā)明創(chuàng)建虛擬機一實施例的流程圖;
[0050]圖11是本發(fā)明創(chuàng)建虛擬機另一實施例的流程圖;
[0051]圖12是本發(fā)明根據(jù)運行軟件的類型信息進(jìn)行虛擬機遷移一實施例的流程圖。
[0052]本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進(jìn)一步說明。
【具體實施方式】
[0053]以下結(jié)合說明書附圖及具體實施例進(jìn)一步說明本發(fā)明的技術(shù)方案。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0054]參照圖1及圖3,圖1是本發(fā)明內(nèi)存超分配管理系統(tǒng)一實施例的結(jié)構(gòu)示意圖;圖2是本發(fā)明集群管理模塊一實施例的結(jié)構(gòu)示意圖;圖3是本發(fā)明服務(wù)器管理模塊一實施例的結(jié)構(gòu)示意圖;本發(fā)明提供了一種內(nèi)存超分配管理系統(tǒng),包括:
[0055]集群管理模塊10,用于發(fā)送信息收集指令,并收集集群內(nèi)各服務(wù)器運行的虛擬機的軟件類型信息,根據(jù)所述虛擬機的軟件類型對各服務(wù)器進(jìn)行分類并動態(tài)標(biāo)識其類型后,使所述各服務(wù)器形成樹形結(jié)構(gòu),并在發(fā)送遷移指令后,對所述樹形結(jié)構(gòu)進(jìn)行調(diào)配。具體的,本實施例中,所述虛擬機的軟件類型信息包括操作系統(tǒng)類型信息、操作系統(tǒng)類型信息及運行進(jìn)程信息,但本發(fā)明并不限定于上述幾種軟件類型信息,只要能達(dá)到將集群系統(tǒng)的內(nèi)存更好分配的效果即可。所述集群管理模塊10運行在集群管理服務(wù)器,負(fù)責(zé)對集群內(nèi)各服務(wù)器進(jìn)行分類,根據(jù)服務(wù)器上運行的虛擬機軟件類型,對各服務(wù)器進(jìn)行分類并動態(tài)標(biāo)識其類型后,使系統(tǒng)內(nèi)所有服務(wù)器按照所述類型標(biāo)識組織形成一樹形結(jié)構(gòu);同時負(fù)責(zé)定時收集系統(tǒng)內(nèi)各虛擬機的軟件類型信息,并根據(jù)收集的信息,將軟件類型相似的虛擬機盡量調(diào)配遷移到指定的同一的服務(wù)器上,并在該次調(diào)配完成后,根據(jù)各服務(wù)器上運行的虛擬機的軟件類型的比例,更新各服務(wù)器的動態(tài)標(biāo)識,從而形成新的樹形結(jié)構(gòu),以方便虛擬機的調(diào)配和服務(wù)器的管理,內(nèi)存得到更好的分配。同時,通過遷移的方式保證系統(tǒng)內(nèi)各承載服務(wù)器的總空閑能力不超過一個服務(wù)器;
[0056]服務(wù)器管理模塊20,連接所述集群管理模塊10,用于接收所述集群管理模塊10發(fā)送的信息收集指令后,收集該服務(wù)器中各虛擬機內(nèi)運行軟件的類型信息,并向所述集群管理模塊10上報;接收所述集群管理模塊10發(fā)送的遷移指令后,將運行的軟件類型相似的虛擬機從本服務(wù)器遷移至指定服務(wù)器。所述服務(wù)器管理模塊20運行在集群內(nèi)的各服務(wù)器上,用以負(fù)責(zé)接收集群管理模塊的信息收集指令,并按照收到的指令,收集該服務(wù)器中各虛擬機內(nèi)運行軟件的類型信息,并向所述集群管理模塊10上報;具體的,所述服務(wù)器管理模塊20包括信息收集模塊201及遷移模塊202,所述服務(wù)器管理模塊20將所述信息收集指令發(fā)送至信息收集模塊201,并通過所述信息收集模塊201收集該服務(wù)器中各虛擬機內(nèi)運行軟件的類型信息,如:虛擬機運行的操作系統(tǒng)類型信息,操作系統(tǒng)版本信息,應(yīng)用軟件信息等,之后,所述服務(wù)器管理模塊20將收集的信息匯總,并上報至所述集群管理模塊10。同時,所述服務(wù)器管理模塊20還負(fù)責(zé)完成虛擬機的在線遷移功能,具體的,所述服務(wù)器管理模塊20將所述遷移指令發(fā)送至遷移模塊202,所述遷移模塊202將運行的軟件類型相似的虛擬機從本服務(wù)器遷移至指定服務(wù)器。
[0057]本內(nèi)存超分配管理系統(tǒng)基于頁面共享技術(shù),通過收集集群內(nèi)各服務(wù)器運行的虛擬機的軟件類型,將運行的軟件類型相似的虛擬機從本服務(wù)器遷移至指定服務(wù)器,從而讓虛擬機間的頁面共享效果更佳,內(nèi)存超分配效果更好,同時還保證系統(tǒng)中服務(wù)器的承載能力不浪費,達(dá)到整個系統(tǒng)的內(nèi)存利用率,資源利用率的最佳配合,讓整個集群系統(tǒng)的內(nèi)存得到更好的分配。
[0058]如圖2所示,所述集群管理模塊10包括虛擬機創(chuàng)建模塊101,如圖7所示,圖7是本發(fā)明創(chuàng)建虛擬機一實施例的流程圖;所述虛擬機創(chuàng)建的過程并不限定于在所述內(nèi)存超分配管理方法的某個步驟之前或之后,當(dāng)需要進(jìn)行虛擬機的創(chuàng)建時,所述集群管理模塊10負(fù)責(zé)為待創(chuàng)建虛擬機選擇軟件類型最匹配的服務(wù)器;所述虛擬機創(chuàng)建模塊101用于在創(chuàng)建虛擬機時,判斷是否存在與待創(chuàng)建虛擬機配置信息相似的服務(wù)器:
[0059]若是,則選擇所述與其配置信息相似的服務(wù)器為其可承載服務(wù)器后,創(chuàng)建該虛擬機;
[0060]否則,選擇一空閑服務(wù)器為其可承載服務(wù)器后,創(chuàng)建該虛擬機。
[0061]具體的,所述集群管理模塊10根據(jù)指令創(chuàng)建虛擬機,在創(chuàng)建時,首先根據(jù)待創(chuàng)建虛擬機的靜態(tài)配置信息(如操作系統(tǒng)類型等信息),判斷是否存在與待創(chuàng)建虛擬機配置信息相似的服務(wù)器,按照類型相似優(yōu)先的原則,在所述各服務(wù)器形成樹形結(jié)構(gòu)上選擇可承載服務(wù)器;如果沒有找到,則選擇一個空閑服務(wù)器為可承載服務(wù)器,創(chuàng)建該虛擬機,并啟動所述服務(wù)器管理模塊20,同時將所選擇的可承載服務(wù)器掛接到無運行類型的層I根節(jié)點上,最后,在該服務(wù)器上啟動虛擬機。
[0062]如圖2所示,所述集群管理模塊10還包括定時模塊102,用于根據(jù)預(yù)設(shè)的時間間隔,定時發(fā)送信息收集指令至所述服務(wù)器管理模塊20 ;所述集群管理模塊10還用于根據(jù)其定時收集的各服務(wù)器中虛擬機內(nèi)運行軟件的類型信息下達(dá)遷移指令,對所述各服務(wù)器形成的樹形結(jié)構(gòu)進(jìn)行調(diào)配。所述遷移模塊202還用于將遷移結(jié)果信息返回至所述集群管理模塊10。具體的,所述集群管理模塊10的定時模塊102定時下發(fā)信息收集命令至在各承載服務(wù)器上運行的所述服務(wù)器管理模塊20上,并根據(jù)各承載服務(wù)器的所述服務(wù)器管理模塊20上報的信息,對所述各服務(wù)器形成的樹形結(jié)構(gòu)進(jìn)行調(diào)配。在調(diào)配的過程中,可能需要在各承載服務(wù)器間進(jìn)行虛擬機的遷移,所述集群管理模塊10會根據(jù)其定時收集的各服務(wù)器中虛擬機內(nèi)運行軟件的類型信息下達(dá)遷移指令至相應(yīng)的承載服務(wù)器的所述服務(wù)器管理模塊20,并處理相應(yīng)的遷移結(jié)果信息。
[0063]所述集群管理模塊10與所述服務(wù)器管理模塊20之間的通信通道為局域網(wǎng)通道、互聯(lián)網(wǎng)通道、串口通道、光纖通道、無線通道或SAN (Storage Area Network:存儲域網(wǎng)絡(luò))通道的一種。但其并不限于以上所例舉的類型,且所述服務(wù)器管理模塊20和信息收集模塊201之間的通信通道也可以為IP (Internet Protocol:網(wǎng)絡(luò)之間互連的協(xié)議)通道,共享內(nèi)存通道的一種,但并不局限于所例舉的類型。
[0064]進(jìn)一步的,如圖4所示,圖4是本發(fā)明內(nèi)存超分配管理系統(tǒng)樹形結(jié)構(gòu)一實施例的結(jié)構(gòu)示意圖;本實施例中,所述樹形結(jié)構(gòu)依次包括無類型、操作系統(tǒng)類型相同、操作系統(tǒng)版本相同及運行進(jìn)程相似的四個層次,但本發(fā)明的樹形結(jié)構(gòu)并不限定于上述幾個層次,只要能達(dá)到將集群系統(tǒng)的內(nèi)存更好分配的效果即可;具體的,本實施例中,所述各服務(wù)器形成的樹形結(jié)構(gòu)主要包括四個層次類型:
[0065]層I節(jié)點301,該層節(jié)點只有一個節(jié)點,即根節(jié)點301,該節(jié)點掛接無類型的服務(wù)器,可能掛接一個或多個服務(wù)器,掛接的服務(wù)器都沒有具體的類型,如:當(dāng)系統(tǒng)剛啟動時,各服務(wù)器類型無法細(xì)分,于是集中于所述根節(jié)點301,直至可以轉(zhuǎn)到下一層節(jié)點為止;或者在虛擬機的創(chuàng)建操作過程中,如果根節(jié)點301下面的服務(wù)器都不能承載待創(chuàng)建虛擬機時,于是會將該虛擬機創(chuàng)建到空閑服務(wù)器上,并掛接于所述根節(jié)點301。所述根節(jié)點301掛接的服務(wù)器也可能為O個,即:當(dāng)所有承載虛擬機的服務(wù)器都可以掛接于所述根節(jié)點301以下的層節(jié)點時,所述根節(jié)點就不再掛接服務(wù)器,僅有管理意義,比如,用于搜索等管理作用。
[0066]層2節(jié)點302,該層節(jié)點主要按照操作系統(tǒng)類型來分類,但其并不局限于圖4中所示的操作系統(tǒng)類型,而是會隨著集群系統(tǒng)中各虛擬機的操作類型的種類變化而變化。所述層2節(jié)點302會有一個或多個節(jié)點,如圖4實施例所示,可以分為Windows操作系統(tǒng)類型節(jié)點,Linux操作系統(tǒng)類型等,該層每個節(jié)點都可能掛接服務(wù)器或不掛接任何一個服務(wù)器。具體的,當(dāng)各服務(wù)器無法細(xì)分類型到所述層2節(jié)點302的下層節(jié)點時,就會指向所述層2節(jié)點302的相應(yīng)操作系統(tǒng)類型的某一個節(jié)點,此時,相應(yīng)的層2節(jié)點會掛接一個或多個服務(wù)器;當(dāng)所述層2節(jié)點302的某一個節(jié)點的所有服務(wù)器都可以細(xì)分到該節(jié)點對應(yīng)的下層子節(jié)點時,那么該節(jié)點對應(yīng)服務(wù)器為空,于是,所述節(jié)點僅具有管理意義,但由于其還具有子節(jié)點,因此其仍然存在。
[0067]層3節(jié)點303,該層節(jié)點主要按照操作系統(tǒng)版本來分類,但其并不局限于圖4中所示的操作系統(tǒng)版本,而是會隨著集群系統(tǒng)中各虛擬機的操作系統(tǒng)版本的種類變化而變化。如圖4中實施例所示,可以分為WinXP類型,Win7類型,RHEL6.0,ubuntul2.04,該層節(jié)點和層2節(jié)點相似,可能掛接O個、I個或多個服務(wù)器。
[0068]層4節(jié)點304,該層的節(jié)點主要按照運行進(jìn)程類型相似程度來分類,如圖4中所示,可以分為“chrom-winword”類型(表不該類型節(jié)點都運行了 chorme.exe進(jìn)程和winwork.exe進(jìn)程,且其運行的兩個進(jìn)程類型占總進(jìn)程數(shù)量的比值超過了預(yù)先設(shè)定的指定閥值)等,該層節(jié)點為葉子節(jié)點,只有當(dāng)有足夠多的相同類型虛擬機存在時,才會生成葉子節(jié)點,所以,其掛接的實際服務(wù)器是一定會存在的,可能I個,也可能多個。
[0069]參照圖4至及圖5,圖5是本發(fā)明內(nèi)存超分配管理方法一實施例的流程圖;圖6是本發(fā)明內(nèi)存超分配管理方法另一實施例的流程圖;圖7是本發(fā)明創(chuàng)建虛擬機一實施例的流程圖;本發(fā)明還提供一種內(nèi)存超分配管理方法,包括:
[0070]S100、接收信息收集指令,收集各服務(wù)器中虛擬機內(nèi)運行軟件的類型信息,并根據(jù)所收集的集群內(nèi)各服務(wù)器運行的虛擬機的軟件類型,對各服務(wù)器進(jìn)行分類并動態(tài)標(biāo)識其類型后,使所述各服務(wù)器形成樹形結(jié)構(gòu);
[0071]S200、接收遷移指令,對所述樹形結(jié)構(gòu)進(jìn)行調(diào)配,將運行的軟件類型相似的虛擬機從本服務(wù)器遷移至指定服務(wù)器。
[0072]進(jìn)一步的,如圖6所示,圖6是本發(fā)明動態(tài)標(biāo)識服務(wù)器類型第一實施例的流程圖;圖6中所示第一實施例中,所述虛擬機的軟件類型信息包括操作系統(tǒng)類型信息,首先進(jìn)入步驟S1011、判斷各服務(wù)器運行的虛擬機的操作系統(tǒng)類型相似度的比值是否超過指定閥值:若是,進(jìn)入步驟S1012、標(biāo)識該服務(wù)器為所述相似度比值超過指定閥值的操作系統(tǒng)類型的服務(wù)器;具體的,比如,一個虛擬機運行的是redhat公司發(fā)布的RHEL6.0服務(wù)器操作系統(tǒng),而另一個虛擬機運行的是suse公司發(fā)布的SUSE 10服務(wù)器操作系統(tǒng),因為這兩種操作系統(tǒng)都使用Linux內(nèi)核,所以可以判定這兩個虛擬機的操作系統(tǒng)類型相同;而假設(shè)所述虛擬機操作系統(tǒng)類型相似度比值的指定閥值為80%,則,當(dāng)服務(wù)器上的虛擬機總和的80%以上都具有相同的操作系統(tǒng)類型時,標(biāo)識該服務(wù)器為所述相似度比值超過指定閥值的操作系統(tǒng)類型的服務(wù)器;否則,進(jìn)入步驟S1013、標(biāo)識該服務(wù)器為無類型服務(wù)器。
[0073]進(jìn)一步的,如圖7所示,圖7是本發(fā)明動態(tài)標(biāo)識服務(wù)器類型第二實施例的流程圖;圖7中所示第二實施例中,所述虛擬機的軟件類型信息還包括操作系統(tǒng)版本信息,首先進(jìn)入步驟S1021、判斷各服務(wù)器運行的虛擬機的操作系統(tǒng)類型、操作系統(tǒng)版本的相似度的比值是否均超過指定閥值:若是,進(jìn)入步驟S1022、標(biāo)識該服務(wù)器為所述相似度比值超過指定閥值的操作系統(tǒng)版本的服務(wù)器;具體的,比如,一個虛擬機運行的是微軟公司發(fā)布的Win7操作系統(tǒng),第二個虛擬機運行的是微軟公司發(fā)布的WindOws2008服務(wù)器操作系統(tǒng),則可判定這兩個虛擬機的操作系統(tǒng)類型相同,但操作系統(tǒng)版本不同;同時,當(dāng)假設(shè)所述虛擬機操作系統(tǒng)類型相似度比值的指定閥值為80%,操作系統(tǒng)版本相似度比值的指定閥值為60% ;則,當(dāng)服務(wù)器上的虛擬機總和的80%以上都具有相同的操作系統(tǒng)類型,且虛擬機總和的60%以上都具有相同的操作系統(tǒng)版本類型時,標(biāo)識該服務(wù)器為所述相似度比值超過指定閥值的操作系統(tǒng)版本的服務(wù)器;而當(dāng)該服務(wù)器并不具備超過上述閥值的相似度比值時,則進(jìn)入步驟S1011、否則,判斷該服務(wù)器運行的虛擬機的操作系統(tǒng)類型相似度的比值是否超過指定閥值,并如上圖6中所述進(jìn)行動態(tài)標(biāo)識。
[0074]進(jìn)一步的,如圖8所示,圖8是本發(fā)明動態(tài)標(biāo)識服務(wù)器類型第三實施例的流程圖;圖8中所示第三實施例中,所述虛擬機的軟件類型信息還包括運行進(jìn)程信息,首先進(jìn)入步驟S1031、判斷各服務(wù)器運行的虛擬機的操作系統(tǒng)類型、操作系統(tǒng)版本及運行進(jìn)程的相似度的比值是否均超過指定閥值:若是,進(jìn)入步驟S1032、標(biāo)識該服務(wù)器為所述相似度比值超過指定閥值的運行進(jìn)程的服務(wù)器;具體的,比如,在上述操作系統(tǒng)類型、操作系統(tǒng)版本相似度比值均超過指定閥值的基礎(chǔ)下,名稱相同的運行進(jìn)程為一個運行進(jìn)程類型,此時,假設(shè)一個虛擬機總共有10個運行進(jìn)程類型,另一個虛擬機總共有12個運行進(jìn)程類型,而該兩個虛擬機共有8個運行進(jìn)程類型是相同的,假設(shè)指定閾值設(shè)置為50%,則,就可以判定該兩個虛擬機的操作系統(tǒng)類型相同,操作系統(tǒng)版本相同,應(yīng)用進(jìn)程類型相似,此時,可標(biāo)識該服務(wù)器為所述相似度比值超過指定閥值的運行進(jìn)程的服務(wù)器;否則,進(jìn)入步驟S1021、判斷該服務(wù)器運行的虛擬機的操作系統(tǒng)類型、操作系統(tǒng)版本的相似度的比值是否均超過指定閥值,并如上圖7中所述進(jìn)行動態(tài)標(biāo)識。
[0075]由上所述,所述的內(nèi)存超分配管理方法,動態(tài)標(biāo)識服務(wù)器類型是根據(jù)服務(wù)器上虛擬機軟件類型信息的相似比值超過指定閥值來進(jìn)行標(biāo)識,并且,以其最深的相似層次來動態(tài)標(biāo)識服務(wù)器。
[0076]進(jìn)一步的,如圖9所示,圖9是本發(fā)明內(nèi)存超分配管理方法另一實施例的流程圖;所述接收信息收集指令之前還包括:S101、根據(jù)預(yù)設(shè)的時間間隔,定時發(fā)送信息收集指令;
[0077]所述接收遷移指令之前還包括:S201、根據(jù)定時收集的各服務(wù)器中虛擬機內(nèi)運行軟件的類型信息下達(dá)遷移指令。
[0078]所述接收遷移指令,對所述樹形結(jié)構(gòu)進(jìn)行調(diào)配,將運行的軟件類型相似的虛擬機從本服務(wù)器遷移至指定服務(wù)器之后還包括:S202、將遷移結(jié)果信息返回。
[0079]進(jìn)一步的,如圖10所示,圖10是本發(fā)明創(chuàng)建虛擬機一實施例的流程圖;所述內(nèi)存超分配管理方法還包括創(chuàng)建虛擬機,所述虛擬機創(chuàng)建的過程并不限定于在所述內(nèi)存超分配管理方法的某個步驟之前或之后,當(dāng)需要進(jìn)行虛擬機的創(chuàng)建時,判斷是否存在與待創(chuàng)建虛擬機配置信息相似的服務(wù)器:
[0080]若是,則選擇所述與其配置信息相似的服務(wù)器為其可承載服務(wù)器后,創(chuàng)建該虛擬機;
[0081]否則,選擇一空閑服務(wù)器為其可承載服務(wù)器后,創(chuàng)建該虛擬機。
[0082]具體的,參照圖11,圖11是本發(fā)明創(chuàng)建虛擬機另一實施例的流程圖;所述虛擬機的創(chuàng)建過程如圖11所示:
[0083]S3001、讀取待創(chuàng)建虛擬機的靜態(tài)配置信息;
[0084]S3002、判斷所述靜態(tài)配置信息中是否存在該虛擬機使用的操作系統(tǒng)類型信息,如果存在,進(jìn)入步驟S3003,否則轉(zhuǎn)入步驟S3008 ;
[0085]S3003、判斷所述靜態(tài)配置信息中是否存在該虛擬機使用的操作系統(tǒng)版本信息,如果存在,進(jìn)入步驟S3004,否則轉(zhuǎn)入步驟S3006 ;
[0086]S3004、按從左到右的順序(并不限于該順序),在層3節(jié)點303上尋找相同操作系統(tǒng)類型和版本的服務(wù)器,并檢查符合條件的服務(wù)器是否可以再承載一個虛擬機,從而以此服務(wù)器作為待創(chuàng)建虛擬機的可承載服務(wù)器;
[0087]S3005、判斷是否找到可承載服務(wù)器,如果并未找到,進(jìn)入步驟S3006,如果找到,則轉(zhuǎn)入步驟S3010 ;
[0088]S3006、按從左到右的順序(并不限于該順序),在層2節(jié)點302上尋找相同操作系統(tǒng)類型的服務(wù)器,并檢查符合條件的服務(wù)器是否可以再承載一個虛擬機,從而以此服務(wù)器作為待創(chuàng)建虛擬機的可承載服務(wù)器;
[0089]S3007、判斷是否找到可承載服務(wù)器,如果并未找到,進(jìn)入步驟S3008,如果找到,則轉(zhuǎn)入步驟S3010 ;
[0090]S3008、從左到右的順序(并不限于該順序),先檢查葉子節(jié)點304,最后檢查根節(jié)點301,在這些節(jié)點上尋找待創(chuàng)建虛擬機的可承載服務(wù)器;
[0091]S3009、判斷在所述葉子節(jié)點304和所述根節(jié)點301上是否找到可承載服務(wù)器,如果找到,進(jìn)入步驟S3010,否則,轉(zhuǎn)入步驟S3011 ;
[0092]S3010、在找到的可承載服務(wù)器上,根據(jù)配置信息,創(chuàng)建新的虛擬機,并轉(zhuǎn)入步驟
53014;
[0093]S3011、從系統(tǒng)中尋找空閑服務(wù)器;
[0094]S3012、判斷是否找到空閑服務(wù)器,如果找到,進(jìn)入步驟S3013,否則,轉(zhuǎn)入步驟
53015;
[0095]S3013、在找到的空閑服務(wù)器上,根據(jù)配置信息,創(chuàng)建新的虛擬機,并將該服務(wù)器掛接于根節(jié)點301,并轉(zhuǎn)入步驟S3014 ;
[0096]S3014、返回虛擬機創(chuàng)建成功的信息,流程結(jié)束;
[0097]S3015、返回虛擬機創(chuàng)建失敗的信息,流程結(jié)束。
[0098]進(jìn)一步的,參照圖12,圖12是本發(fā)明根據(jù)運行軟件的類型信息進(jìn)行虛擬機遷移一實施例的流程圖。本實施例所述根據(jù)運行軟件的類型信息進(jìn)行虛擬機遷移的流程具體如圖12所示:
[0099]S2001、收集各服務(wù)器中虛擬機內(nèi)運行軟件的類型信息,并進(jìn)入步驟S2002 ;
[0100]S2002、檢查根節(jié)點301下是否掛接服務(wù)器,如果有,進(jìn)入步驟S2003,否則轉(zhuǎn)入步驟 S2007 ;
[0101]S2003、判斷根節(jié)點301掛接的服務(wù)器數(shù)量是否大于1,如果是,進(jìn)入步驟S2004,否則轉(zhuǎn)入步驟S2005 ;
[0102]S2004、根據(jù)各根節(jié)點301下服務(wù)器上虛擬機的操作系統(tǒng)類型進(jìn)行遷移,將操作系統(tǒng)類型相同的虛擬機在服務(wù)器間兩兩相互交換遷移;同時,計算服務(wù)器的總承載能力和總虛擬機數(shù)量的差值,如果其差值超過一個服務(wù)器的總承載能力,則將承載虛擬機數(shù)量最少的服務(wù)器上的虛擬機按照操作系統(tǒng)類型相同優(yōu)先的順序,將其上的虛擬機遷移到其他服務(wù)器上;并進(jìn)入步驟S2005 ;
[0103]S2005、判定根節(jié)點301的各服務(wù)器是否可以掛接到層2,即:依次檢查當(dāng)前根節(jié)點301對應(yīng)的各服務(wù)器上虛擬機的操作系統(tǒng)類型相同的比例,當(dāng)服務(wù)器上的所有虛擬機的操作系統(tǒng)類型的相似度的比值超過指定閥值,則該服務(wù)器可以掛接到層2節(jié)點302對應(yīng)的某一節(jié)點上。由上,如果有符合條件的服務(wù)器,進(jìn)入步驟S2006,否則,轉(zhuǎn)入步驟S2007 ;
[0104]S2006、將符合條件的服務(wù)器掛接到相應(yīng)的層2節(jié)點302,如果在層2節(jié)點302中已有相同操作系統(tǒng)類型的節(jié)點,可以直接順序掛接;如果并不存在該操作系統(tǒng)類型的節(jié)點,則新建一個節(jié)點,再將所述服務(wù)器掛接,并進(jìn)入步驟S2008 ;
[0105]S2007、檢查層2節(jié)點302上是否掛接服務(wù)器,如果有,進(jìn)入步驟S2008,否則,則轉(zhuǎn)入步驟S2012 ;
[0106]S2008、判斷根層2節(jié)點302掛接的服務(wù)器數(shù)量是否大于1,如果是,進(jìn)入步驟S2009,否則,轉(zhuǎn)入步驟S2010 ;
[0107]S2009、根據(jù)各層2節(jié)點302下服務(wù)器上虛擬機的操作系統(tǒng)類型和版本信息進(jìn)行遷移,在單個層2節(jié)點302掛接的服務(wù)器之間(單個層2節(jié)點所掛的各服務(wù)器上的虛擬機的操作系統(tǒng)類型大部分都是相同的),按照虛擬機的操作系統(tǒng)類型和版本信息相同合并的原則,在服務(wù)器間兩兩相互交換遷移;同時,在整個層2節(jié)點302之間,按照虛擬機的操作系統(tǒng)類型和版本信息相同合并的原則,在服務(wù)器間兩兩相互交換遷移;最后,計算所述層2上服務(wù)器的總承載能力和總虛擬機數(shù)量的差值,如果差值超過一個服務(wù)器的總承載能力,則將承載虛擬機數(shù)量最少的服務(wù)器上的虛擬機,按照操作系統(tǒng)類型和版本相同最優(yōu)先,操作系統(tǒng)類型相同次優(yōu)先的順序,遷移到其他服務(wù)器上,該服務(wù)器則設(shè)置為空閑服務(wù)器;當(dāng)進(jìn)行了合并后,再檢查合并了的服務(wù)器的虛擬機操作系統(tǒng)類型相同的比例,如果低于指定閥值,則將它們重新掛接至根節(jié)點301下,并且在掛接至到根節(jié)點301后,如果其之前其對應(yīng)的層2節(jié)點302下已無服務(wù)器,且也無子節(jié)點,則刪除該層2節(jié)點302 ;并進(jìn)入步驟S2010 ;
[0108]S2010、判定層2節(jié)點302的各服務(wù)器是否可以掛接到層3,即:依次檢查各層2節(jié)點302的服務(wù)器上虛擬機的操作系統(tǒng)類型和版本信息相同的比例,當(dāng)服務(wù)器上的所有虛擬機的操作系統(tǒng)類型及操作系統(tǒng)版本的相似度的比值均超過指定閥值,則該服務(wù)器可以掛接到層3節(jié)點303對應(yīng)的某一節(jié)點上;如果有符合條件服務(wù)器,進(jìn)入步驟S2011,否則,轉(zhuǎn)入步驟 S2012 ;
[0109]S2011、將符合條件的服務(wù)器掛接到相應(yīng)的層3節(jié)點303,如果在層3節(jié)點303中存在操作系統(tǒng)類型和版本都相同的節(jié)點,可直接順序掛接,如果并不存在操作系統(tǒng)類型和版本都相同的節(jié)點,則新建一個節(jié)點,再將所述服務(wù)器掛接,并進(jìn)入步驟S2013 ;
[0110]S2012、檢查各層3節(jié)點303是否掛接服務(wù)器,如果有,進(jìn)入步驟S2013,如果沒有,則轉(zhuǎn)入步驟S2017 ;
[0111]S2013、判定層3節(jié)點303掛接的服務(wù)器的總和是否大于1,如果是,則進(jìn)入步驟S2014,否則,則轉(zhuǎn)到步驟S2015 ;
[0112]S2014、根據(jù)各層3節(jié)點303下服務(wù)器上虛擬機的操作系統(tǒng)類型、版本及運行進(jìn)程信息進(jìn)行遷移,在單個層3節(jié)點303掛接的服務(wù)器之間(單個層3節(jié)點所掛的各服務(wù)器上的虛擬機的操作系統(tǒng)類型和版本大部分都是相同的),按照虛擬機的操作系統(tǒng)類型和版本相同,且運行進(jìn)程相似(當(dāng)服務(wù)器上的虛擬機的相同運行進(jìn)程的比值均超過指定閥值,就認(rèn)為運行進(jìn)程相似)進(jìn)行合并的原則,在服務(wù)器間兩兩相互交換遷移;然后,在整個層3節(jié)點303之間,按照虛擬機的操作系統(tǒng)類型,版本和運行進(jìn)程相同合并的原則,在服務(wù)器間兩兩相互交換遷移;最后,計算層3的服務(wù)器的總承載能力和總虛擬機數(shù)量的差值,如果差值超過一個服務(wù)器的承載能力,則將承載虛擬機數(shù)量最少的服務(wù)器上的虛擬機,按照操作系統(tǒng)類型,版本和運行進(jìn)程相同最優(yōu)先,操作系統(tǒng)類型和版本相同次優(yōu)先,操作系統(tǒng)類型相同再次優(yōu)先的順序,遷移到其他服務(wù)器上,該服務(wù)器則設(shè)置為空閑服務(wù)器;當(dāng)進(jìn)行了合并后,再檢查合并了的服務(wù)器的虛擬機操作系統(tǒng)類型和版本相同的比例,如果低于指定閥值,則將它們重新掛接至對應(yīng)的層2節(jié)點302,在掛接至所述層2節(jié)點302后,如果其之前對應(yīng)的層3節(jié)點303已無服務(wù)器,且也無子節(jié)點,則刪除該層3節(jié)點303 ;并進(jìn)入步驟S2015 ;
[0113]S2015、判定層3節(jié)點303的各服務(wù)器是否可以掛接到層4,即:依次檢查各層3的服務(wù)器上虛擬機的操作系統(tǒng)類型和版本相同,且運行進(jìn)程相似的比例,當(dāng)服務(wù)器上的所有虛擬機的操作系統(tǒng)類型、操作系統(tǒng)版本及運行進(jìn)程的相似度的比值均超過指定閥值,則該服務(wù)器可以掛接到葉子節(jié)點304對應(yīng)的某一節(jié)點;如果有符合條件服務(wù)器,進(jìn)入步驟S2016,否則,轉(zhuǎn)入步驟S2017 ;
[0114]S2016、將符合條件的服務(wù)器掛接到相應(yīng)的葉子節(jié)點304,如果在葉子節(jié)點304中已有操作系統(tǒng)類型和版本相同且運行進(jìn)程相似的節(jié)點,可直接順序掛接,如果并不存在與該服務(wù)器的操作系統(tǒng)類型和版本相同且運行進(jìn)程相似的節(jié)點,則新建一個節(jié)點,再將服務(wù)器掛接,進(jìn)入步驟S2018 ;
[0115]S2017、檢查是否存在葉子節(jié)點304,如果存在,進(jìn)入步驟S2018,否則,轉(zhuǎn)入步驟S2019 ;
[0116]S2018、根據(jù)各葉子節(jié)點304的服務(wù)器的虛擬機操作系統(tǒng)類型、版本及運行進(jìn)程信息進(jìn)行遷移,計算各葉子節(jié)點304的總的服務(wù)器承載能力和總虛擬機數(shù)量的差值,如果差值超過一個服務(wù)器的總承載能力,則按照操作系統(tǒng)類型、版本相同且運行進(jìn)程相似最優(yōu),操作系統(tǒng)類型和版本相同其次,操作系統(tǒng)類型相同再次的先后順序,將承載虛擬機數(shù)量最少的服務(wù)器上的虛擬機遷移到其他服務(wù)器上,并該服務(wù)器設(shè)置為空閑服務(wù)器;同時,在合并過后,檢查已合并的服務(wù)器上操作系統(tǒng)類型和版本相同且運行進(jìn)程類型相似的虛擬機的比例,如果比例低于指定閥值,則將該服務(wù)器掛接到對應(yīng)的層3節(jié)點303,如果該服務(wù)器之前對應(yīng)的葉子節(jié)點304下已經(jīng)不再掛接服務(wù)器,則刪除該葉子節(jié)點304 ;并進(jìn)入步驟S2019 ;
[0117]S2019、結(jié)束處理流程。
[0118]本發(fā)明實施例所述內(nèi)存超分配管理方法基于頁面共享技術(shù),通過所收集的集群內(nèi)各服務(wù)器運行的虛擬機的軟件類型,將運行的軟件類型相似的虛擬機從本服務(wù)器遷移至指定服務(wù)器,從而讓虛擬機間的頁面共享效果更佳,內(nèi)存超分配效果更好,同時還保證系統(tǒng)中服務(wù)器的承載能力不浪費,達(dá)到整個系統(tǒng)的內(nèi)存利用率,資源利用率的最佳配合,讓整個集群系統(tǒng)的內(nèi)存得到更好的分配,通過本發(fā)明的應(yīng)用,可以為云計算的基礎(chǔ)設(shè)施服務(wù)提供商,互聯(lián)網(wǎng)虛擬主機服務(wù)提供商帶來可觀的硬件成本節(jié)約和單服務(wù)器虛擬機運行密度提高,減少服務(wù)器運行數(shù)量,節(jié)約了能源和運行成本,減少了環(huán)境壓力,降低了二氧化碳排放,具有很大的社會效益和經(jīng)濟效益。
[0119]以上所述僅為本發(fā)明的優(yōu)選實施例,并非因此限制其專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,直接或間接運用在其他相關(guān)的【技術(shù)領(lǐng)域】,均同理包括在本發(fā)明的專利保護范圍內(nèi)。
【權(quán)利要求】
1.一種內(nèi)存超分配管理系統(tǒng),其特征在于,包括: 集群管理模塊,用于發(fā)送信息收集指令,并收集集群內(nèi)各服務(wù)器運行的虛擬機的軟件類型信息,根據(jù)所述虛擬機的軟件類型對各服務(wù)器進(jìn)行分類并動態(tài)標(biāo)識其類型后,使所述各服務(wù)器形成樹形結(jié)構(gòu),并在發(fā)送遷移指令后,對所述樹形結(jié)構(gòu)進(jìn)行調(diào)配; 服務(wù)器管理模塊,連接所述集群管理模塊,用于接收所述集群管理模塊發(fā)送的信息收集指令后,收集該服務(wù)器中各虛擬機內(nèi)運行軟件的類型信息,并向所述集群管理模塊上報;接收所述集群管理模塊發(fā)送的遷移指令后,將運行的軟件類型相似的虛擬機從本服務(wù)器遷移至指定服務(wù)器。
2.根據(jù)權(quán)利要求1所述的內(nèi)存超分配管理系統(tǒng),其特征在于,所述服務(wù)器管理模塊包括信息收集模塊及遷移模塊,所述信息收集模塊用于接收所述集群管理模塊發(fā)送的信息收集指令后,收集該服務(wù)器中各虛擬機內(nèi)運行軟件的類型信息,并向所述集群管理模塊上報;所述遷移模塊用于接收所述集群管理模塊發(fā)送的遷移指令后,將運行的軟件類型相似的虛擬機從本服務(wù)器遷移至指定服務(wù)器。
3.根據(jù)權(quán)利要求1所述的內(nèi)存超分配管理系統(tǒng),其特征在于,所述集群管理模塊包括虛擬機創(chuàng)建模塊,用于在創(chuàng)建虛擬機時,判斷是否存在與待創(chuàng)建虛擬機配置信息相似的服務(wù)器: 若是,則選擇所述與其配置信息相似的服務(wù)器為其可承載服務(wù)器后,創(chuàng)建該虛擬機; 否則,選擇一空閑服務(wù)器為其可承載服務(wù)器后,創(chuàng)建該虛擬機。
4.根據(jù)權(quán)利要求1所述的內(nèi)存超分配管理系統(tǒng),其特征在于,所述集群管理模塊包括定時模塊,用于根據(jù)預(yù)設(shè)的時間間隔,定時發(fā)送信息收集指令至所述服務(wù)器管理模塊;所述集群管理模塊還用于根據(jù)其定時收集的各服務(wù)器中虛擬機內(nèi)運行軟件的類型信息下達(dá)遷移指令,對所述各服務(wù)器形成的樹形結(jié)構(gòu)進(jìn)行調(diào)配。
5.根據(jù)權(quán)利要求1所述的內(nèi)存超分配管理系統(tǒng),其特征在于,所述遷移模塊還用于將遷移結(jié)果信息返回至所述集群管理模塊。
6.根據(jù)權(quán)利要求1所述的內(nèi)存超分配管理系統(tǒng),其特征在于,所述虛擬機的軟件類型信息包括操作系統(tǒng)類型信息、操作系統(tǒng)類型信息及運行進(jìn)程信息。
7.根據(jù)權(quán)利要求1所述的內(nèi)存超分配管理系統(tǒng),其特征在于,所述樹形結(jié)構(gòu)依次包括無類型、操作系統(tǒng)類型相同、操作系統(tǒng)版本相同及運行進(jìn)程相似的四個層次。
8.根據(jù)權(quán)利要求1所述的內(nèi)存超分配管理系統(tǒng),其特征在于,所述集群管理模塊與所述服務(wù)器管理模塊之間的通信通道為局域網(wǎng)通道、互聯(lián)網(wǎng)通道、串口通道、光纖通道、無線通道或SAN (Storage Area Network:存儲域網(wǎng)絡(luò))通道的一種。
9.一種內(nèi)存超分配管理方法,其特征在于,包括: 接收信息收集指令,收集各服務(wù)器中虛擬機內(nèi)運行軟件的類型信息,并根據(jù)所收集的集群內(nèi)各服務(wù)器運行的虛擬機的軟件類型信息,對各服務(wù)器進(jìn)行分類并動態(tài)標(biāo)識其類型后,使所述各服務(wù)器形成樹形結(jié)構(gòu); 接收遷移指令,對所述樹形結(jié)構(gòu)進(jìn)行調(diào)配,將運行的軟件類型相似的虛擬機從本服務(wù)器遷移至指定服務(wù)器。
10.根據(jù)權(quán)利要求9所述的內(nèi)存超分配管理方法,其特征在于,所述內(nèi)存超分配管理方法還包括創(chuàng)建虛擬機,且在創(chuàng)建虛擬機時判斷是否存在與待創(chuàng)建虛擬機配置信息相似的服務(wù)器: 若是,則選擇所述與其配置信息相似的服務(wù)器為其可承載服務(wù)器后,創(chuàng)建該虛擬機; 否則,選擇一空閑服務(wù)器為其可承載服務(wù)器后,創(chuàng)建該虛擬機。
11.根據(jù)權(quán)利要求9所述的內(nèi)存超分配管理方法,其特征在于,所述接收信息收集指令之前還包括:根據(jù)預(yù)設(shè)的時間間隔,定時發(fā)送信息收集指令; 所述接收遷移指令之前還包括:根據(jù)定時收集的各服務(wù)器中虛擬機內(nèi)運行軟件的類型信息下達(dá)遷移指令。
12.根據(jù)權(quán)利要求9所述的內(nèi)存超分配管理方法,其特征在于,所述接收遷移指令,對所述樹形結(jié)構(gòu)進(jìn)行調(diào)配,將運行的軟件類型相似的虛擬機從本服務(wù)器遷移至指定服務(wù)器之后還包括:將遷移結(jié)果信息返回。
13.根據(jù)權(quán)利要求9所述的內(nèi)存超分配管理方法,其特征在于,所述虛擬機的軟件類型信息包括操作系統(tǒng)類型信息,判斷各服務(wù)器運行的虛擬機的操作系統(tǒng)類型相似度的比值是否超過指定閥值: 若是,標(biāo)識該服務(wù)器為所述相似度比值超過指定閥值的操作系統(tǒng)類型的服務(wù)器; 否則,標(biāo)識該服務(wù)器為無 類型服務(wù)器。
14.根據(jù)權(quán)利要求13所述的內(nèi)存超分配管理方法,其特征在于,所述虛擬機的軟件類型信息還包括操作系統(tǒng)版本信息,判斷各服務(wù)器運行的虛擬機的操作系統(tǒng)類型、操作系統(tǒng)版本的相似度的比值是否均超過指定閥值: 若是,標(biāo)識該服務(wù)器為所述相似度比值超過指定閥值的操作系統(tǒng)版本的服務(wù)器; 否則,判斷該服務(wù)器運行的虛擬機的操作系統(tǒng)類型相似度的比值是否超過指定閥值,并進(jìn)行動態(tài)標(biāo)識。
15.根據(jù)權(quán)利要求14所述的內(nèi)存超分配管理方法,其特征在于,所述虛擬機的軟件類型信息還包括運行進(jìn)程信息,判斷各服務(wù)器運行的虛擬機的操作系統(tǒng)類型、操作系統(tǒng)版本及運行進(jìn)程的相似度的比值是否均超過指定閥值: 若是,標(biāo)識該服務(wù)器為所述相似度比值超過指定閥值的運行進(jìn)程的服務(wù)器; 否則,判斷該服務(wù)器運行的虛擬機的操作系統(tǒng)類型、操作系統(tǒng)版本的相似度的比值是否均超過指定閥值,并進(jìn)行動態(tài)標(biāo)識。
【文檔編號】G06F9/455GK104050008SQ201310084341
【公開日】2014年9月17日 申請日期:2013年3月15日 優(yōu)先權(quán)日:2013年3月15日
【發(fā)明者】蔣鯤鵬 申請人:中興通訊股份有限公司