一種基于負(fù)載感知的Hypervisor資源超分配及動(dòng)態(tài)調(diào)整方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及云計(jì)算管理領(lǐng)域,尤其涉及一種基于負(fù)載感知的Hypervisor資源超 分配及動(dòng)態(tài)調(diào)整方法及系統(tǒng)。
【背景技術(shù)】
[0002] Hypervisor,一種運(yùn)行在基礎(chǔ)物理服務(wù)器和操作系統(tǒng)之間的中間軟件層,可允許 多個(gè)操作系統(tǒng)和應(yīng)用共享硬件。也可叫做VMM (virtual machine monitor),即虛擬機(jī)監(jiān)視 器。
[0003] Hypervisors是一種在虛擬環(huán)境中的"元"操作系統(tǒng)。他們可以訪問服務(wù)器上包括 磁盤和內(nèi)存在內(nèi)的所有物理設(shè)備。
[0004] Hypervisors不但協(xié)調(diào)著這些硬件資源的訪問,也同時(shí)在各個(gè)虛擬機(jī)之間施加防 護(hù)。當(dāng)服務(wù)器啟動(dòng)并執(zhí)行Hypervisor時(shí),它會(huì)加載所有虛擬機(jī)客戶端的操作系統(tǒng)同時(shí)會(huì)分 配給每一臺(tái)虛擬機(jī)適量的內(nèi)存,CPU,網(wǎng)絡(luò)和磁盤。
[0005] Hypervisor的資源超分配能力使物理機(jī)擁有更高的資源整合率,同時(shí)更有效地利 用計(jì)算資源,它可以降低運(yùn)營(yíng)成本。使用資源超分配,Hypervisor使物理資源以最佳方式 提供性能良好的虛擬機(jī)。例如,在一個(gè)虛擬桌面架構(gòu)部署時(shí),用戶可以操作多個(gè)Windows虛 擬機(jī),每個(gè)都包含一個(gè)處理應(yīng)用程序。有可能使用一個(gè)Hypervisor與過量的提供相同的虛 擬桌面架構(gòu)的虛擬機(jī)。由于虛擬機(jī)包含類似的操作系統(tǒng)和應(yīng)用程序,它們的許多內(nèi)存頁(yè)面 及包含類似的內(nèi)容。
[0006] Hypervisor找到并鞏固與這些虛擬機(jī)相同的內(nèi)容內(nèi)存頁(yè)面,從而節(jié)省CPU/內(nèi)存。 這便更好地利用CPU/內(nèi)存以及實(shí)現(xiàn)更高的整合率。
[0007]目前,Hypervisor的資源超分配技術(shù)在各大虛擬化廠商及產(chǎn)品中已經(jīng)非常成熟 (Hyper-v、Xenserver、KVM、Esxi 等)。
[0008] 但當(dāng)Hypervisor超分配資源過多,實(shí)際資源使用量長(zhǎng)時(shí)間超過Hypervisor資源 的上限時(shí),部分虛擬機(jī)無(wú)法持續(xù)獲取足夠CPU/內(nèi)存資源。Hypervisor內(nèi)部出現(xiàn)資源爭(zhēng)用的 矛盾會(huì)愈演愈烈,最終導(dǎo)致虛擬機(jī)故障,甚至Hypervisor故障。
【發(fā)明內(nèi)容】
[0009] 本發(fā)明所要解決的技術(shù)問題是針對(duì)現(xiàn)有技術(shù)的不足,提供一種基于負(fù)載感知的 Hypervisor資源超分配及動(dòng)態(tài)調(diào)整方法及系統(tǒng),解決了 Hypervisor資源復(fù)用技術(shù)的孤島 問題,動(dòng)態(tài)、智能的調(diào)整虛擬機(jī)在Hypervisor集群的部署、分布情況,降低資源復(fù)用技術(shù)導(dǎo) 致的各類故障,提高云端的整體資源利用率。
[0010] 本發(fā)明解決上述技術(shù)問題的技術(shù)方案如下:一種基于負(fù)載感知的Hypervisor資 源超分配及動(dòng)態(tài)調(diào)整方法,包括如下步驟:
[0011]步驟1,設(shè)置Hypervisor資源負(fù)載閾值、Hypervisor資源超分配閾值、各個(gè) Hypervisor主機(jī)的超分配系數(shù)和超分配調(diào)整系數(shù);
[0012] 步驟2,設(shè)置Hypervisor集群虛擬機(jī)的調(diào)度策略;
[0013] 步驟3,對(duì)每個(gè)Hypervisor主機(jī)的負(fù)載情況進(jìn)行監(jiān)控;
[0014] 步驟4,依次判斷每個(gè)Hypervisor主機(jī)的負(fù)載是否大于或等于Hypervisor資源負(fù) 載閾值,如果是則根據(jù)超分配調(diào)整系數(shù)減小該Hypervisor主機(jī)的超分配系數(shù),執(zhí)行步驟5, 否則執(zhí)行步驟6 ;
[0015] 步驟5,根據(jù)調(diào)整后的該Hypervisor主機(jī)的超分配系數(shù)及步驟2中所述的調(diào)度策 略調(diào)整虛擬機(jī)在Hypervisor集群的分布,返回步驟3 ;
[0016] 步驟6,檢測(cè)該Hypervisor主機(jī)的資源超分配情況;
[0017] 步驟7,判斷該Hypervisor主機(jī)的資源超分配比例是否大于等于Hypervisor資源 超分配閾值,如果是則根據(jù)超分配調(diào)整系數(shù)增加該Hypervisor主機(jī)的超分配系數(shù),返回步 驟6,否則結(jié)束流程。
[0018] 本發(fā)明的有益效果是:本發(fā)明本發(fā)明通過監(jiān)控Hypervisor資源的負(fù)載及超分 配情況,設(shè)置,記錄,并調(diào)整各個(gè)Hypervisor主機(jī)的資源超分配系數(shù),對(duì)集群中的每一個(gè) Hypervisor設(shè)置資源超分配系數(shù)進(jìn)行動(dòng)態(tài)調(diào)整,使Hypervisor的資源復(fù)用能力量化,而 不是一個(gè)經(jīng)驗(yàn)值,通過迀移虛擬機(jī)在Hypervisor集群的分布,保證虛擬機(jī)正常運(yùn)行的前提 下,提升Hypervisor的資源利用率,從而提高云的整體利用率,降低能耗、減少維護(hù)成本。
[0019] 在上述技術(shù)方案的基礎(chǔ)上,本發(fā)明還可以做如下改進(jìn)。
[0020] 進(jìn)一步,步驟2中所述Hypervisor集群虛擬機(jī)調(diào)度策略采用first-fit、 best-fit、packing、loadbalance、Round-Robin 或 random 中的任一項(xiàng)。
[0021] 進(jìn)一步,上述技術(shù)方案還包括預(yù)先設(shè)置Hypervisor主機(jī)的超分配系數(shù)默認(rèn)值,各 個(gè)Hypervisor主機(jī)的超分配系數(shù)根據(jù)超分配調(diào)整系數(shù)動(dòng)態(tài)調(diào)整過程中,調(diào)整后的超分配 系數(shù)不能低于預(yù)先設(shè)置Hypervisor主機(jī)的超分配系數(shù)默認(rèn)值。
[0022] 進(jìn)一步,步驟5的具體實(shí)現(xiàn)為:
[0023] 步驟5. 1,逐個(gè)檢測(cè)每個(gè)Hypervisor主機(jī);
[0024] 步驟5. 2,判斷待檢測(cè)的Hypervisor主機(jī)的負(fù)載是否小于Hypervisor資源負(fù)載閾 值,如果是執(zhí)行步驟5. 3,否則執(zhí)行步驟5. 5 ;
[0025] 步驟5. 3,判斷該Hypervisor主機(jī)的資源超分配比例是否小于Hypervisor資源超 分配閾值,如果是執(zhí)行步驟5. 4,否則執(zhí)行步驟5. 5 ;
[0026] 步驟5. 4,將負(fù)載大于等于Hypervisor資源負(fù)載閾值的Hypervisor主機(jī)上的虛擬 機(jī)迀移到步驟5. 3中所述的Hypervisor主機(jī);
[0027] 步驟5. 5,結(jié)束處理流程。
[0028] 進(jìn)一步,上述技術(shù)方案還包括根據(jù)調(diào)整結(jié)果調(diào)整Hypervisor資源負(fù)載閾值和/或 Hypervisor資源超分配閾值。
[0029] 本發(fā)明解決上述技術(shù)問題的另一技術(shù)方案如下:一種基于負(fù)載感知的 Hypervisor資源超分配及動(dòng)態(tài)調(diào)整系統(tǒng),包括參數(shù)設(shè)置模塊、調(diào)度策略設(shè)置模塊、負(fù)載監(jiān)控 模塊、負(fù)載調(diào)度模塊和超分配監(jiān)控模塊;
[0030] 所述參數(shù)設(shè)置模塊,其用于設(shè)置Hypervisor資源負(fù)載閾值、Hypervisor資源超分 配閾值、各個(gè)Hypervisor主機(jī)的超分配系數(shù)和超分配調(diào)整系數(shù);
[0031] 所述調(diào)度策略設(shè)置模塊,其用于設(shè)置Hypervisor集群虛擬機(jī)的調(diào)度策略;
[0032] 所述負(fù)載監(jiān)控模塊,其用于依次判斷每個(gè)Hypervisor主機(jī)的負(fù)載是否大于或等 于Hypervisor資源負(fù)載閾值,如果是則根據(jù)超分配調(diào)整系數(shù)減小該Hypervisor主機(jī)的超 分配系數(shù),調(diào)用負(fù)載調(diào)度模塊,否則調(diào)用超分配監(jiān)控模塊;
[0033] 所述負(fù)載調(diào)度模塊,其用于根據(jù)調(diào)整后的該Hypervisor主機(jī)的超分配系數(shù)及 調(diào)度策略調(diào)整虛擬機(jī)在Hypervisor集群的分布,直至該Hypervisor主機(jī)的負(fù)載小于 Hypervisor資源負(fù)載閾值;
[0034] 所述超分配監(jiān)控模塊,其用于檢測(cè)該Hypervisor主機(jī)的資源超分配情況,判 斷判斷該Hypervisor主機(jī)的資源超分配比例是否大于等于Hypervisor資源超分配閾 值,如果是則根據(jù)超分配調(diào)整系數(shù)增加該Hypervisor主機(jī)的超分配系數(shù),繼續(xù)檢測(cè)檢 測(cè)該Hypervisor主機(jī)的資源超分配情況,直至該Hypervisor主機(jī)的超分配比例小于 Hypervisor資源負(fù)載閾值,否則結(jié)束流程。
[0035] 進(jìn)一步,所述調(diào)度策略設(shè)置模塊設(shè)置的Hypervisor集群虛擬機(jī)調(diào)度策略采用 first-fit、best-fit、packing、loadbalance、Round-Robin 或 random 中的任