虛擬化一體機集群中虛擬機調(diào)度方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種虛擬化一體機集群中虛擬機調(diào)度方法及系統(tǒng),該虛擬機調(diào)度方法包括:S1.在用戶啟動虛擬機時,獲取該虛擬機的文件名;S2.根據(jù)該虛擬機的文件名在存儲模塊中查詢該虛擬機的副本所在的節(jié)點;S3.優(yōu)先從查詢到的節(jié)點中選擇目標節(jié)點;S4.在所選擇的目標節(jié)點上運行該虛擬機。實施本發(fā)明的技術(shù)方案,由于在運行虛擬機前,先根據(jù)所需啟動的虛擬機的文件名查詢該虛擬機的副本所在的節(jié)點,并優(yōu)先從查詢到的節(jié)點中選擇目標節(jié)點來運行該虛擬機,這樣,就不需要跨網(wǎng)絡(luò)讀寫磁盤中存儲的副本,可有效節(jié)省網(wǎng)絡(luò)流量,在不增加網(wǎng)絡(luò)帶寬的前提下提高虛擬機的運行速度,使虛擬機讀磁盤能力突破網(wǎng)絡(luò)限制。
【專利說明】虛擬化一體機集群中虛擬機調(diào)度方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及虛擬化一體機領(lǐng)域,尤其涉及一種虛擬化一體機集群中虛擬機調(diào)度方法及系統(tǒng)。
【背景技術(shù)】
[0002]虛擬化一體機是指虛擬化管理軟件和存儲軟件合一運行在同一物理服務(wù)器上,存儲軟件利用服務(wù)器的磁盤組成一個分布式存儲系統(tǒng),為虛擬化管理軟件提供存儲服務(wù)。在如圖1所示的虛擬化一體機集群中,共有A、B、C、D四個節(jié)點。在用戶啟動虛擬機時,需要選擇在某一節(jié)點上運行虛擬機。目前,主要依賴CPU處理能力進行負載均衡,即,根據(jù)虛擬機所需的CPU頻率和內(nèi)存的配置來選擇節(jié)點,例如,如果節(jié)點B的CPU和內(nèi)存的配置滿足待運行的虛擬機VM2,則選擇在節(jié)點B上運行虛擬機VM2。但是,由于該虛擬機的副本存儲位于節(jié)點C和節(jié)點D上,則虛擬機VM2的讀寫磁盤就必須通過網(wǎng)絡(luò)讀寫節(jié)點C或節(jié)點D上的副本,而跨網(wǎng)絡(luò)的磁盤1將會嚴重拖慢虛擬機的運行速度,當網(wǎng)絡(luò)帶寬能力(比如IGbps網(wǎng)絡(luò))低于磁盤1能力^Gbps SSD)或網(wǎng)絡(luò)擁塞的情況下,就會嚴重降低虛擬機的運行速度,針對這種情況,目前比較常用的方法有:
[0003]1.加大帶寬,使用1Gbps光纖網(wǎng)絡(luò);
[0004]2.使用專用技術(shù)網(wǎng)絡(luò),比如RDMA、InfiniBand技術(shù)。
[0005]但是,上述兩種方法都有成本偏高的缺點。
【發(fā)明內(nèi)容】
[0006]本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述成本高的缺陷,提供一種成本低的虛擬化一體機集群中虛擬機調(diào)度方法及系統(tǒng)。
[0007]本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:構(gòu)造一種虛擬化一體機集群中虛擬機調(diào)度方法,包括:
[0008]S1.在用戶啟動虛擬機時,獲取該虛擬機的文件名;
[0009]S2.根據(jù)該虛擬機的文件名在存儲模塊中查詢該虛擬機的副本所在的節(jié)點;
[0010]S3.優(yōu)先從查詢到的節(jié)點中選擇目標節(jié)點;
[0011]S4.在所選擇的目標節(jié)點上運行該虛擬機。
[0012]在本發(fā)明所述的虛擬化一體機集群中虛擬機調(diào)度方法中,所述步驟S3包括:
[0013]S30.獲取該虛擬機所需要的CPU和內(nèi)存的配置;
[0014]S31.遍歷集群中的所有節(jié)點,以獲取第一集合;
[0015]S32.逐一判斷第一集合中每個節(jié)點的內(nèi)存是否滿足該虛擬機所需內(nèi)存的配置要求,并在所述第一集合中剔除不滿足要求的節(jié)點,以獲取第二集合;
[0016]S33.將步驟S2查詢到的所有節(jié)點確定為第三集合;
[0017]S34.將第二集合和第三集合的交集確定為第四集合;
[0018]S35.計算第四集合中每個節(jié)點的分數(shù);
[0019]S36.將分數(shù)最高的節(jié)點選擇為目標節(jié)點。
[0020]在本發(fā)明所述的虛擬化一體機集群中虛擬機調(diào)度方法中,在步驟S33和步驟S34之間,還包括:
[0021]S37.判斷第二集合和第三集合是否有交集,若否,則執(zhí)行步驟S38 ;若是,則執(zhí)行步驟S34 ;
[0022]S38.將第二集合確定為第四集合,然后執(zhí)行步驟S35。
[0023]在本發(fā)明所述的虛擬化一體機集群中虛擬機調(diào)度方法中,在步驟S4之后,還包括:
[0024]判斷所選擇的目標節(jié)點是否屬于第三集合,若否,則重新執(zhí)行步驟S3。
[0025]在本發(fā)明所述的虛擬化一體機集群中虛擬機調(diào)度方法中,在步驟S32和步驟S33之間,還包括:
[0026]S39.判斷第二集合是否為空,若是,則提示啟動失?。蝗舴?,則執(zhí)行步驟S33。
[0027]在本發(fā)明所述的虛擬化一體機集群中虛擬機調(diào)度方法中,在所述步驟S35中,根據(jù)以下公式計算第四集合中每個節(jié)點的分數(shù):
[0028]S = F0/F*(N+1)-N0
[0029]其中,S為當前節(jié)點的分數(shù);匕為當前節(jié)點的CPU的頻率;F為集群中所有節(jié)點的CPU的頻率和;N為集群中虛擬機的個數(shù);%為當前節(jié)點上運行的虛擬機的個數(shù)。
[0030]本發(fā)明還構(gòu)造一種虛擬化一體機集群中虛擬機調(diào)度系統(tǒng),包括:
[0031]文件名獲取模塊,用于在用戶啟動虛擬機時,獲取該虛擬機的文件名;
[0032]副本查詢模塊,用于根據(jù)該虛擬機的文件名在存儲模塊中查詢該虛擬機的副本所在的節(jié)點;
[0033]目標選擇模塊,用于優(yōu)先從查詢到的節(jié)點中選擇目標節(jié)點;
[0034]運行模塊,用于在所選擇的目標節(jié)點上運行該虛擬機。
[0035]在本發(fā)明所述的虛擬化一體機集群中虛擬機調(diào)度系統(tǒng)中,所述目標選擇模塊包括:
[0036]配置獲取單元,用于獲取該虛擬機所需要的CPU和內(nèi)存的配置;
[0037]第一集合確定單元,用于遍歷集群中所有節(jié)點,以獲取第一集合;
[0038]第二集合確定單元,用于逐一判斷第一集合中每個節(jié)點的內(nèi)存是否滿足該虛擬機所需內(nèi)存的配置要求,并在所述第一集合中剔除不滿足要求的節(jié)點,以獲取第二集合;
[0039]第三集合確定單元,用于將所述副本查詢模塊所查詢到的所有節(jié)點確定為第三集合;
[0040]第四集合確定單元,用于將第二集合和第三集合的交集確定為第四集合;
[0041]分數(shù)計算單元,用于計算第四集合中每個節(jié)點的分數(shù);
[0042]目標選擇單元,用于將分數(shù)最高的節(jié)點選擇為目標節(jié)點。
[0043]在本發(fā)明所述的虛擬化一體機集群中虛擬機調(diào)度系統(tǒng)中,所述目標選擇模塊還包括:
[0044]交集判斷單元,用于判斷第二集合和第三集合是否有交集;而且,
[0045]所述第四集合確定單元,用于在交集判斷單元判斷有交集時,將第二集合和第三集合的交集確定為第四集合;在交集判斷單元判斷無交集時,將第二集合確定為第四集合。
[0046]在本發(fā)明所述的虛擬化一體機集群中虛擬機調(diào)度系統(tǒng)中,所述目標選擇模塊,還用于在所選擇的目標節(jié)點上運行該虛擬機,且所選擇的目標節(jié)點不屬于第三集合時,優(yōu)先從查詢到的節(jié)點中選擇目標節(jié)點。
[0047]在本發(fā)明所述的虛擬化一體機集群中虛擬機調(diào)度系統(tǒng)中,所述目標選擇模塊還包括:
[0048]空集判斷單元,用于判斷第二集合是否為空;
[0049]提示單元,用于在空集判斷單元判斷為空時,提示啟動失敗。
[0050]在本發(fā)明所述的虛擬化一體機集群中虛擬機調(diào)度系統(tǒng)中,所述分數(shù)計算單元根據(jù)以下公式計算第四集合中每個節(jié)點的分數(shù):
[0051]S = F0/F*(N+1)_N0
[0052]其中,S為當前節(jié)點的分數(shù);匕為當前節(jié)點的CPU的頻率;F為集群中所有節(jié)點的CPU的頻率和;N為集群中虛擬機的個數(shù);%為當前節(jié)點上運行的虛擬機的個數(shù)。
[0053]實施本發(fā)明的技術(shù)方案,由于在運行虛擬機前,先根據(jù)所需啟動的虛擬機的文件名查詢該虛擬機的副本所在的節(jié)點,并優(yōu)先從查詢到的節(jié)點中選擇目標節(jié)點來運行該虛擬機,這樣,就不需要跨網(wǎng)絡(luò)讀寫磁盤中存儲的副本,可有效節(jié)省網(wǎng)絡(luò)流量,在不增加網(wǎng)絡(luò)帶寬的前提下提高虛擬機的運行速度,使虛擬機讀磁盤能力突破網(wǎng)絡(luò)限制。
【專利附圖】
【附圖說明】
[0054]下面將結(jié)合附圖及實施例對本發(fā)明作進一步說明,附圖中:
[0055]圖1是使用現(xiàn)有方法的虛擬化一體機集群的結(jié)構(gòu)圖;
[0056]圖2是本發(fā)明虛擬化一體機集群中虛擬機調(diào)度方法實施例一的流程圖;
[0057]圖3是使用圖2所示方法的虛擬化一體機集群的結(jié)構(gòu)圖;
[0058]圖4是圖2中步驟S3實施例一的流程圖;
[0059]圖5是圖2中步驟S3實施例二的流程圖;
[0060]圖6是本發(fā)明虛擬化一體機集群中虛擬機調(diào)度系統(tǒng)實施例一的邏輯圖;
[0061]圖7是圖6中目標選擇模塊實施例一的邏輯圖。
【具體實施方式】
[0062]圖2是本發(fā)明虛擬化一體機集群中虛擬機調(diào)度方法實施例一的流程圖,該虛擬機調(diào)度方法包括:
[0063]S1.在用戶啟動虛擬機時,獲取該虛擬機的文件名,在該步驟中,需說明的是,在用戶啟動虛擬機時會指定相應(yīng)文件名的虛擬機,當該虛擬化一體機接收到用戶啟動虛擬機的指令時,就可獲取該虛擬機的文件名;
[0064]S2.根據(jù)該虛擬機的文件名在存儲模塊中查詢該虛擬機的副本所在的節(jié)點;
[0065]S3.優(yōu)先從查詢到的節(jié)點中選擇目標節(jié)點;
[0066]S4.在所選擇的目標節(jié)點上運行該虛擬機,在該步驟中,需說明的是,由于步驟S3所選擇的目標節(jié)點優(yōu)先為該虛擬機的副本所在的節(jié)點,當在所選擇的目標節(jié)點上運行該虛擬機時,就不需要跨網(wǎng)絡(luò)讀寫磁盤中存儲的副本,從而節(jié)省網(wǎng)絡(luò)流量。
[0067]下面結(jié)合圖2和圖3來說明虛擬化一體機集群中虛擬機調(diào)度方法,若用戶所要啟動的虛擬機的文件名為VM2,則在步驟SI中就可獲取該虛擬機的文件名VM2。然后,就可根據(jù)該虛擬機的文件名VM2,在圖3所示的虛擬化一體機集群的存儲模塊中查詢該虛擬機的副本所在的節(jié)點,所查詢到的節(jié)點為節(jié)點C、D,而且,優(yōu)先從節(jié)點C、D中選擇目標節(jié)點,例如,所選擇的目標節(jié)點為節(jié)點C,就可在該節(jié)點C上運行該虛擬機,這樣,由于不需要跨網(wǎng)絡(luò)讀寫磁盤中存儲的副本,可有效節(jié)省網(wǎng)絡(luò)流量,在不增加網(wǎng)絡(luò)帶寬的前提下提高虛擬機的運行速度,使虛擬機讀磁盤能力突破網(wǎng)絡(luò)限制,與本地磁盤1能力持平。
[0068]圖4是圖2中步驟S3實施例一的流程圖,在該實施例中,步驟S3具體包括:
[0069]S30.獲取該虛擬機所需要的CPU和內(nèi)存的配置,例如,獲取CPU的頻率、內(nèi)存的大小;
[0070]S31.遍歷集群中的所有節(jié)點,以獲取第一集合;
[0071]S32.逐一判斷第一集合中每個節(jié)點的內(nèi)存是否滿足該虛擬機所需內(nèi)存的配置要求,即,判斷第一集合中每個節(jié)點的內(nèi)存的大小是否大于等于待運行的虛擬機所需要的內(nèi)存的大小,并在所述第一集合中剔除不滿足要求的節(jié)點,以獲取第二集合;
[0072]S33.將步驟S2查詢到的所有節(jié)點確定為第三集合;
[0073]S34.將第二集合和第三集合的交集確定為第四集合;
[0074]S35.計算第四集合中每個節(jié)點的分數(shù);
[0075]S36.將分數(shù)最高的節(jié)點選擇為目標節(jié)點。
[0076]在上述實施例中,需說明的是,步驟S30至步驟S32與步驟S33并無順序關(guān)系,可以先執(zhí)行步驟S30至步驟S32,再執(zhí)行步驟S33,也可以先執(zhí)行步驟S33,再執(zhí)行步驟S30至步驟S32,或者,兩者同時執(zhí)行。
[0077]優(yōu)選地,在步驟35中,根據(jù)以下公式計算第四集合中每個節(jié)點的分數(shù):
[0078]S = Fq/F*(N+1)_N0
[0079]其中,S為當前節(jié)點的分數(shù);匕為當前節(jié)點的CPU的頻率;F為集群中所有節(jié)點的CPU的頻率和;N為集群中虛擬機的個數(shù);%為當前節(jié)點上運行的虛擬機的個數(shù)。
[0080]圖5是圖2中步驟S3實施例二的流程圖,該實施例相比圖4所示的實施例,所不同的僅是:
[0081]在步驟S33和步驟34之間,還包括:
[0082]S37.判斷第二集合和第三集合是否有交集,若否,則該虛擬機的副本所在的節(jié)點集合中不存在有能力啟動該虛擬機的節(jié)點,可執(zhí)行步驟S38 ;若是,則說明該虛擬機的副本所在的節(jié)點集合中存在有能力啟動該虛擬機的節(jié)點,可執(zhí)行步驟S34 ;
[0083]S38.將第二集合確定為第四集合,然后執(zhí)行步驟S35。
[0084]另外,在步驟S32和步驟S33之間,還包括:
[0085]S39.判斷第二集合是否為空,若是,則說明集群中沒有節(jié)點能運行該虛擬機,提示啟動失敗;若否,則說明集群中有節(jié)點能運行該虛擬機,然后執(zhí)行步驟S33。
[0086]優(yōu)選地,在步驟S4之后,還包括:
[0087]判斷所選擇的目標節(jié)點是否屬于第三集合,若否,則重新執(zhí)行步驟S3。
[0088]在該實施例中,在第二集合和第三集無交集時,需要從第二集合中選擇一個節(jié)點作為目標節(jié)點來運行該虛擬機,在該虛擬機運行之后,還可重新執(zhí)行步驟S3。這樣,如果在啟動該虛擬機時,該虛擬機的副本所在的節(jié)點集合中不存在有能力啟動該虛擬機的節(jié)點,但是,當該虛擬機運行之后,若該虛擬機的副本所在的節(jié)點集合中又存在有能力啟動該虛擬機的節(jié)點,就可重新執(zhí)行步驟S3,使該虛擬機在一個由不屬于第三集合的節(jié)點上運行動態(tài)遷移到第三集合的一個節(jié)點(該虛擬機的副本所在的節(jié)點)上運行。
[0089]圖6是本發(fā)明虛擬化一體機集群中虛擬機調(diào)度系統(tǒng)實施例一的邏輯圖,該虛擬機調(diào)度系統(tǒng)包括依次連接的文件名獲取模塊10、副本查詢模塊20、目標選擇模塊30和運行模塊40。其中,文件名獲取模塊10用于在用戶啟動虛擬機時,獲取該虛擬機的文件名;副本查詢模塊20用于根據(jù)該虛擬機的文件名在存儲模塊中查詢該虛擬機的副本所在的節(jié)點;目標選擇模塊30用于優(yōu)先從查詢到的節(jié)點中選擇目標節(jié)點;運行模塊40用于在所選擇的目標節(jié)點上運行該虛擬機。
[0090]圖7是圖6中目標選擇模塊實施例一的邏輯圖,該目標選擇模塊30具體包括:配置獲取單元31、第一集合確定單元32、第二集合確定單元33、第三集合確定單元34、第四集合確定單元35、分數(shù)計算單元36和目標選擇單元37。其中,配置獲取單元31用于獲取該虛擬機所需要的CPU和內(nèi)存的配置;第一集合確定單元32用于遍歷集群中所有節(jié)點,以獲取第一集合;第二集合確定單元33用于逐一判斷第一集合中每個節(jié)點的內(nèi)存是否滿足該虛擬機所需內(nèi)存的配置要求,并在所述第一集合中剔除不滿足要求的節(jié)點,以獲取第二集合;第三集合確定單元34用于將所述副本查詢模塊所查詢到的所有節(jié)點確定為第三集合;第四集合確定單元35用于將第二集合和第三集合的交集確定為第四集合;分數(shù)計算單元36用于計算第四集合中每個節(jié)點的分數(shù);目標選擇單元37用于將分數(shù)最高的節(jié)點選擇為目標節(jié)點。
[0091]在其它實施例中,該目標選擇模塊還可包括交集判斷單元、空集判斷單元和提示單元。其中,交集判斷單元,連接于第二集合確定單元33、第三集合確定單元34和第四集合確定單元35,且用于判斷第二集合和第三集合是否有交集;而且,第四集合確定單元35用于在交集判斷單元判斷有交集時,將第二集合和第三集合的交集確定為第四集合;在交集判斷單元判斷無交集時,將第二集合確定為第四集合。另外,空集判斷單元,連接于第二集合確定單元33,且用于判斷第二集合是否為空,而且,提示單元用于在空集判斷單元判斷為空時,提示啟動失敗。
[0092]優(yōu)選地,目標選擇模塊30,還用于在所選擇的目標節(jié)點上運行該虛擬機,且所選擇的目標節(jié)點不屬于第三集合時,優(yōu)先從查詢到的節(jié)點中選擇目標節(jié)點。這樣,在交集判斷單元判斷第二集合和第三集合無交集時,第四集合確定單元35將第二集合確定為第四集合,分數(shù)計算單元36計算第四集合中每個節(jié)點的分數(shù),目標選擇單元37將分數(shù)最高的節(jié)點選擇為目標節(jié)點,運行模塊40在所選擇的目標節(jié)點上運行該虛擬機。在這種情況下,在該虛擬機運行后,該虛擬機的副本所在的節(jié)點集合中又存在有能力啟動該虛擬機的節(jié)點,目標選擇模塊重新從該虛擬機的副本所在的節(jié)點集合且有能力啟動該虛擬機的節(jié)點中選擇運行該虛擬機的目標節(jié)點,從而使該虛擬機在一個由不屬于第三集合的節(jié)點上運行動態(tài)遷移到第三集合的一個節(jié)點(該虛擬機的副本所在的節(jié)點)上運行。優(yōu)選地,分數(shù)計算單元36根據(jù)以下公式計算第四集合中每個節(jié)點的分數(shù):
[0093]S = F0/F*(N+1)-N0
[0094]其中,S為當前節(jié)點的分數(shù);匕為當前節(jié)點的CPU的頻率;F為集群中所有節(jié)點的CPU的頻率和;N為集群中虛擬機的個數(shù);%為當前節(jié)點上運行的虛擬機的個數(shù)。
[0095]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的權(quán)利要求范圍之內(nèi)。
【權(quán)利要求】
1.一種虛擬化一體機集群中虛擬機調(diào)度方法,其特征在于,包括: 51.在用戶啟動虛擬機時,獲取該虛擬機的文件名; 52.根據(jù)該虛擬機的文件名在存儲模塊中查詢該虛擬機的副本所在的節(jié)點; 53.優(yōu)先從查詢到的節(jié)點中選擇目標節(jié)點; 54.在所選擇的目標節(jié)點上運行該虛擬機。
2.根據(jù)權(quán)利要求1所述的虛擬化一體機集群中虛擬機調(diào)度方法,其特征在于,所述步驟S3包括: 530.獲取該虛擬機所需要的CPU和內(nèi)存的配置; 531.遍歷集群中的所有節(jié)點,以獲取第一集合; 532.逐一判斷第一集合中每個節(jié)點的內(nèi)存是否滿足該虛擬機所需內(nèi)存的配置要求,并在所述第一集合中剔除不滿足要求的節(jié)點,以獲取第二集合; 533.將步驟S2查詢到的所有節(jié)點確定為第三集合; 534.將第二集合和第三集合的交集確定為第四集合; 535.計算第四集合中每個節(jié)點的分數(shù); 536.將分數(shù)最高的節(jié)點選擇為目標節(jié)點。
3.根據(jù)權(quán)利要求2所述的虛擬化一體機集群中虛擬機調(diào)度方法,其特征在于,在步驟S33和步驟S34之間,還包括:537.判斷第二集合和第三集合是否有交集,若否,則執(zhí)行步驟S38;若是,則執(zhí)行步驟S34 ; 538.將第二集合確定為第四集合,然后執(zhí)行步驟S35。
4.根據(jù)權(quán)利要求3所述的虛擬化一體機集群中虛擬機調(diào)度方法,其特征在于,在步驟S4之后,還包括: 判斷所選擇的目標節(jié)點是否屬于第三集合,若否,則重新執(zhí)行步驟S3。
5.根據(jù)權(quán)利要求2所述的虛擬化一體機集群中虛擬機調(diào)度方法,其特征在于,在步驟S32和步驟S33之間,還包括: 539.判斷第二集合是否為空,若是,則提示啟動失?。蝗舴?,則執(zhí)行步驟S33。
6.根據(jù)權(quán)利要求2所述的虛擬化一體機集群中虛擬機調(diào)度方法,其特征在于,在所述步驟S35中,根據(jù)以下公式計算第四集合中每個節(jié)點的分數(shù):
S = fq/f*(n+i)-n0 其中,S為當前節(jié)點的分數(shù)A為當前節(jié)點的CPU的頻率;F為集群中所有節(jié)點的CPU的頻率和;N為集群中虛擬機的個數(shù);凡為當前節(jié)點上運行的虛擬機的個數(shù)。
7.—種虛擬化一體機集群中虛擬機調(diào)度系統(tǒng),其特征在于,包括: 文件名獲取模塊,用于在用戶啟動虛擬機時,獲取該虛擬機的文件名; 副本查詢模塊,用于根據(jù)該虛擬機的文件名在存儲模塊中查詢該虛擬機的副本所在的節(jié)點; 目標選擇模塊,用于優(yōu)先從查詢到的節(jié)點中選擇目標節(jié)點; 運行模塊,用于在所選擇的目標節(jié)點上運行該虛擬機。
8.根據(jù)權(quán)利要求7所述的虛擬化一體機集群中虛擬機調(diào)度系統(tǒng),其特征在于,所述目標選擇模塊包括: 配置獲取單元,用于獲取該虛擬機所需要的CPU和內(nèi)存的配置; 第一集合確定單元,用于遍歷集群中所有節(jié)點,以獲取第一集合; 第二集合確定單元,用于逐一判斷第一集合中每個節(jié)點的內(nèi)存是否滿足該虛擬機所需內(nèi)存的配置要求,并在所述第一集合中剔除不滿足要求的節(jié)點,以獲取第二集合; 第三集合確定單元,用于將所述副本查詢模塊所查詢到的所有節(jié)點確定為第三集合; 第四集合確定單元,用于將第二集合和第三集合的交集確定為第四集合; 分數(shù)計算單元,用于計算第四集合中每個節(jié)點的分數(shù); 目標選擇單元,用于將分數(shù)最高的節(jié)點選擇為目標節(jié)點。
9.根據(jù)權(quán)利要求8所述的虛擬化一體機集群中虛擬機調(diào)度系統(tǒng),其特征在于,所述目標選擇模塊還包括: 交集判斷單元,用于判斷第二集合和第三集合是否有交集;而且, 所述第四集合確定單元,用于在交集判斷單元判斷有交集時,將第二集合和第三集合的交集確定為第四集合;在交集判斷單元判斷無交集時,將第二集合確定為第四集合。
10.根據(jù)權(quán)利要求9所述的虛擬化一體機集群中虛擬機調(diào)度系統(tǒng),其特征在于,所述目標選擇模塊,還用于在所選擇的目標節(jié)點上運行該虛擬機,且所選擇的目標節(jié)點不屬于第三集合時,優(yōu)先從查詢到的節(jié)點中選擇目標節(jié)點。
11.根據(jù)權(quán)利要求8所述的虛擬化一體機集群中虛擬機調(diào)度系統(tǒng),其特征在于,所述目標選擇模塊還包括: 空集判斷單元,用于判斷第二集合是否為空; 提示單元,用于在空集判斷單元判斷為空時,提示啟動失敗。
12.根據(jù)權(quán)利要求8所述的虛擬化一體機集群中虛擬機調(diào)度系統(tǒng),其特征在于,所述分數(shù)計算單元根據(jù)以下公式計算第四集合中每個節(jié)點的分數(shù):
S = Fq/F*(N+1)-N0 其中,S為當前節(jié)點的分數(shù)A為當前節(jié)點的CPU的頻率;F為集群中所有節(jié)點的CPU的頻率和;N為集群中虛擬機的個數(shù);凡為當前節(jié)點上運行的虛擬機的個數(shù)。
【文檔編號】G06F9/455GK104391735SQ201410650493
【公開日】2015年3月4日 申請日期:2014年11月14日 優(yōu)先權(quán)日:2014年11月14日
【發(fā)明者】王正 申請人:深信服網(wǎng)絡(luò)科技(深圳)有限公司