亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種調整虛擬機資源的方法和系統(tǒng)的制作方法

文檔序號:6540118閱讀:186來源:國知局
一種調整虛擬機資源的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種調整虛擬機資源的方法和系統(tǒng)。其中,所述方法包括,獲取虛擬機資源的使用情況信息;根據(jù)預設的策略和所述使用情況信息,判斷是否需要調整虛擬機資源;確定需要調整虛擬機資源時,進行虛擬機資源的調整。本發(fā)明根據(jù)虛擬機資源使用情況動態(tài)地自動調整資源,避免資源占用率較高對虛擬機正常運行的影響。不僅減少了管理維護成本,還能提高虛擬機運行效率。
【專利說明】一種調整虛擬機資源的方法和系統(tǒng)
【技術領域】
[0001]本發(fā)明涉及計算機的虛擬化,特別涉及基于虛擬機的動態(tài)監(jiān)控情況來調整虛擬機資源的方法和系統(tǒng)。
【背景技術】
[0002]操作系統(tǒng)虛擬化,使一臺機器上運行多個操作系統(tǒng),可以將計算機能力充分利用,減少購買硬件的成本。虛擬化的原理就是使多個“客戶”操作系統(tǒng)虛擬機VM運行在虛擬機監(jiān)控器VMM上,而VMM又能直接運行在物理機上。
[0003]KVM是Kernel-based Virtual Machine的簡稱,是一個開源的系統(tǒng)虛擬化模塊,自Linux2.6.20之后集成在Linux的各個主要發(fā)行版本中。它使用Linux自身的調度器進行管理,目前已成為學術界的主流VMM之一。在KVM中,一個虛擬機就是宿主機操作系統(tǒng)的一個進程,它的一個VCPU就是進程內的一個線程。在宿主機中觀察虛擬機對應進程的CPU使用率,就可以監(jiān)控該虛擬機的CPU繁忙程度。在KVM中,虛擬機的物理內存實際上就是虛擬機對應進程的虛擬內存,在宿主機中不能觀察到虛擬機內存的使用量,所以需要在虛擬機內安裝一個監(jiān)控Agent。它實時觀察虛擬機內內存使用情況,并通過KVM Virtio serialport (虛擬機與宿主機通信接口)通知宿主機的監(jiān)控程序。Virtio是類虛擬化的VMM中的一組通用模擬設備的抽象。Virtio允許VMM導出一組通用的模擬設備,并通過一個通用的應用編程接口(API)成為可用。有了類虛擬化VMM之后,Guest OS能夠實現(xiàn)一組通用的接口,在一組后端驅動程序之后采用特定的設備模擬。后端驅動程序不需要是通用的,因為它們只實現(xiàn)前端所需的行為。虛擬機的磁盤實際上對應宿主機的一個文件,一個塊設備分區(qū),或者LVM管理的卷。與內存相同,需要在虛擬機監(jiān)控Agent觀察虛擬機內磁盤使用情況,并通過KVM Virtio serial port通知宿主機的監(jiān)控程序。
[0004]虛擬化的一個突出優(yōu)點就是可調整虛擬機資源,包括CPU,內存,磁盤。KVM支持調整虛擬機的VCPU,內存,磁盤。但所述的調整均依賴于系統(tǒng)管理員的手工操作。如果能根據(jù)虛擬機的實際情況動態(tài)地自動調整它的資源,必將會極大地簡化系統(tǒng)管理員的工作?,F(xiàn)有技術的解決方案中尚未發(fā)現(xiàn)根據(jù)虛擬機的實際情況動態(tài)地自動調整資源。因此,在資源減少的情況下,可能會導致虛擬機及其上運行的服務異常。
[0005]針對【背景技術】中所存在的上述問題,目前尚未提出有效的解決方案。

【發(fā)明內容】

[0006]本發(fā)明旨在提供一種基于虛擬機內Agent動態(tài)監(jiān)控虛擬機資源的使用情況,動態(tài)地自動調整虛擬機資源的方法。
[0007]根據(jù)本發(fā)明的一個方面,提供了一種調整虛擬機資源的方法,其特征在于,包括:
[0008]獲取虛擬機資源的使用情況信息;
[0009]根據(jù)預設的策略和所述使用情況信息,判斷是否需要調整虛擬機資源;
[0010]確定需要調整虛擬機資源時,進行虛擬機資源的調整。[0011]優(yōu)選地,所述虛擬機資源包括虛擬機的CPU和存儲資源;
[0012]所述獲取虛擬機資源的使用情況信息,包括:獲取虛擬機的CPU和存儲資源的使用情況信息。
[0013]優(yōu)選地,所述預設的策略包括:
[0014]若虛擬機的CPU利用率持續(xù)預定時間內大于一閾值,則為虛擬機增加預定數(shù)量的虛擬CPU ;
[0015]若虛擬機的存儲資源中內存使用率持續(xù)預定時間大于一閾值,則為虛擬機增加預定數(shù)量的虛擬內存;
[0016]若虛擬機的存儲資源中磁盤使用量大于一閾值,則為虛擬機增加預定數(shù)量的虛擬磁盤。
[0017]優(yōu)選地,所述策略存儲于用戶定義的策略定義文件,用戶創(chuàng)建新的策略定義文件以定義策略,或對已存在的策略定義文件進行修改以改變策略。
[0018]優(yōu)選地,存在多個虛擬機,所述進行虛擬機資源的調整,包括:根據(jù)需要進行資源調整的目標虛擬機在多個虛擬機中的優(yōu)先級排序,進行對應目標虛擬機的資源的調整。
[0019]優(yōu)選地,所述虛擬機的CPU使用情況信息通過按照預設頻率監(jiān)控虛擬機對應進程的CPU使用情況獲得,
[0020]存儲資源的使用情況信息通過虛擬機監(jiān)控代理按照預設頻率收集并經(jīng)通信接口發(fā)送而來獲得。
[0021]優(yōu)選地,所述進行虛擬機資源的調整,還包括:獲取虛擬機訪問硬件資源的行為和操作信息,監(jiān)控其對底層硬件的使用情況,收集虛擬機的負載特征參數(shù),根據(jù)預設的虛擬化系統(tǒng)資源和負載的馬爾科夫模型,獲取虛擬機負載類型,從而根據(jù)不同的負載特征調整虛擬機的資源。
[0022]根據(jù)本發(fā)明的另一方面,提供了一種虛擬機系統(tǒng),包括虛擬機和宿主機,所述宿主機包括:
[0023]信息獲取模塊,用于獲取虛擬機資源的使用情況信息;
[0024]策略設置/決策模塊,用于根據(jù)預設的策略和所述使用情況信息,判斷是否需要調整虛擬機資源;
[0025]虛擬機資源調整模塊,用于確定需要調整虛擬機資源時,進行虛擬機資源的調整。
[0026]優(yōu)選地,所述虛擬機資源包括虛擬機的CPU和存儲資源;
[0027]所述獲取虛擬機資源的使用情況信息,包括:獲取虛擬機的CPU和存儲資源的使用情況彳目息;
[0028]所述虛擬機包括:
[0029]監(jiān)控代理模塊,用于按照預設頻率收集虛擬機的存儲資源的使用情況信息;
[0030]接口模塊,用于監(jiān)控代理模塊向宿主機發(fā)送存儲資源的使用情況信息;
[0031 ] 所述信息獲取模塊包括:
[0032]Agent信息收集模塊,用于獲取所述存儲資源的使用情況信息;
[0033]CPU使用率收集模塊,用于按照預設頻率收集虛擬機對應進程的CPU使用情況信息,以獲得所述虛擬機的CPU使用情況信息。
[0034]優(yōu)選地,所述策略設置/決策模塊還用于提供用戶設置策略的接口 ;[0035]所述預設的策略包括:
[0036]若虛擬機的CPU利用率持續(xù)預定時間內大于一閾值,則為虛擬機增加預定數(shù)量的虛擬CPU ;
[0037]若虛擬機的存儲資源中內存使用率持續(xù)預定時間大于一閾值,則為虛擬機增加預定數(shù)量的虛擬內存;
[0038]若虛擬機的存儲資源中磁盤使用量大于一閾值,則為虛擬機增加預定數(shù)量的虛擬磁盤。
[0039]通過本發(fā)明技術方案,根據(jù)虛擬機資源使用情況動態(tài)地自動調整資源,即使出現(xiàn)資源占用率較高的情況,也能保證虛擬機實現(xiàn)正常運行。因此不僅減少了管理維護成本,還能提高虛擬機運行效率。
【專利附圖】

【附圖說明】
[0040]此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的過分限定。其中:
[0041]圖1顯示了本發(fā)明實施例的調整虛擬機資源方法的流程圖;
[0042]圖2顯示了本發(fā)明實施例的虛擬機系統(tǒng)的結構圖。
【具體實施方式】
[0043]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明了,下面結合【具體實施方式】并參照附圖,對本發(fā)明進一步詳細說明。需要說明的是,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本發(fā)明。
[0044]圖1顯示了本發(fā)明實施例的調整虛擬機資源方法的流程圖。
[0045]如圖1所示,本發(fā)明提供的方法包括:
[0046]首先,獲取虛擬機資源的使用情況信息;
[0047]本發(fā)明的虛擬機的Agent按照預設頻率收集存儲資源使用信息。在一個實施例中,Agent以每分鐘I次的頻率來收集使用情況信息。存儲資源一般包括內存和磁盤。內存使用信息包括內存空間使用率、內存高速緩存命中率和內存高速緩存缺失率信息等;磁盤實時信息包括磁盤的讀/寫速率、磁盤輸入輸出等待對列長度、讀寫塊大小和塊數(shù)量等。
[0048]第二,根據(jù)預設的策略和所述使用情況信息,判斷是否需要調整虛擬機資源;
[0049]進一步地,Agent通過Virtio-serial port發(fā)送所收集的信息到宿主機。VirtioAPI依賴一個簡單的緩沖抽象來封裝Guest OS需要的命令和數(shù)據(jù)。除了前端驅動程序(在Guest OS中實現(xiàn))和后端驅動程序(在VMM中實現(xiàn))之外,Virtio還定乂了兩個層來支持Guest OS到VMM的通信。
[0050]在頂級(稱為Virtio)的是虛擬隊列接口,它在概念上將前端驅動程序附加到后端驅動程序。例如,Virtio網(wǎng)絡驅動程序使用兩個虛擬隊列(一個用于接收,另一個用于發(fā)送),而Virtio塊驅動程序僅使用一個虛擬隊列。虛擬隊列實際上被實現(xiàn)為跨越GuestOS和VMM的銜接點。
[0051]宿主機的Agent信息收集模塊,用于獲取所述存儲資源使用信息,并報告給宿主機上設置的策略設置/決策模塊。[0052]與此同時,虛擬機對應CPU使用信息收集模塊,也會按照相同的預設頻率,比如上述每分鐘I次,將虛擬機CPU使用率等信息發(fā)送給策略設置/決策模塊。CPU使用信息可包括處理器使用率、處理器隊列長度和處理器硬件性能計數(shù)器信息等。
[0053]第三,確定需要調整虛擬機資源時,進行虛擬機資源的調整。
[0054]具體而言,策略設置/決策模塊根據(jù)預先設置的策略,決定是否發(fā)送調整指令給虛擬機資源調整模塊。
[0055]在本發(fā)明的實施例中,所述策略由虛擬機的用戶通過策略設置/決策模塊預先設置在宿主機中,策略表示在特定硬件資源使用信息產生的條件下,對應的調整資源的動作和行為。為保證資源的足夠使用,策略一般是指出現(xiàn)表征硬件資源不足的使用信息時,對應的增加資源的行為。比如:
[0056]若虛擬機的CPU利用率持續(xù)5分鐘大于80%,則增加一個VCPU,即虛擬CPU ;
[0057]若虛擬機的內存使用率持續(xù)5分鐘大于95%則增加50%虛擬內存;
[0058]當虛擬機的磁盤使用量大于90%后,增加10%以擴展原有虛擬磁盤。
[0059]所述虛擬機的CPU使用情況信息通過按照預設頻率監(jiān)控虛擬機對應進程的CPU使用情況獲得。
[0060]內存和磁盤的使用情況信息通過虛擬機監(jiān)控代理按照預設頻率收集經(jīng)通信接口發(fā)送而來獲得。
[0061]本領域技術人員應當理解,上述策略僅僅是示例性的,并非意圖限制本發(fā)明。硬件資源的使用信息體現(xiàn)在多個參數(shù)中,本領域技術人員可以視具體的需要來定義策略。
[0062]在本發(fā)明優(yōu)選的實施例中,該策略具體實施為策略定義文件。用戶可創(chuàng)建一個策略定義文件,并可以在策略需要更新的情況下,對該文件進行修改,進而改變資源分配策略。
[0063]虛擬機資源調整模塊根據(jù)指令調整對應虛擬機的資源的內容以如下策略為例:若CPU利用率持續(xù)5分鐘大于80%,則增加一個VCPU即虛擬CPU。當Agent收集的CPU利用率信息滿足“CPU利用率持續(xù)5分鐘大于80%”條件時,采用以上策略,虛擬機資源調整模塊獲取指令“增加一個VCPU”,并實施相應的調整動作,即在虛擬機中增加虛擬處理器的數(shù)量。
[0064]由于虛擬機環(huán)境下的硬件資源動態(tài)異構的特點,為了滿足海量用戶的磁盤存儲需求的時間性能及服務公平性,在本發(fā)明優(yōu)選的實施例中,一個宿主機對應多個客戶虛擬機。而宿主機的總資源是有限的。有鑒于此,在調整對應虛擬機的資源之前,根據(jù)需要進行資源調整的目標虛擬機在多個虛擬機中的優(yōu)先級排序,生成競爭的資源分配策略,進行對應目標虛擬機的資源的調整。
[0065]另外,根據(jù)多個虛擬機對物理磁盤I/O請求和負載特性自適應的協(xié)調控制磁盤I/O資源的分配,根據(jù)負載特性應用不同的服務策略,并對負載的類型特征進行預測和推斷也是對現(xiàn)有解決方案的一個改進方面。
[0066]在本發(fā)明優(yōu)選的實施例中,基于安全、隔離、透明原則,虛擬機監(jiān)控器獲取客戶虛擬機訪問硬件資源的行為和操作信息,監(jiān)控其對底層硬件的使用情況,但并不直接獲取客戶虛擬機中的進程運行時的細粒度信息及其具體操作語義,需要對虛擬機監(jiān)控器能夠監(jiān)測到的客戶虛擬機運行信息進行進一步的分析,從而發(fā)掘出能夠刻畫客戶虛擬機典型負載的請求特征參數(shù)模式,以及與客戶虛擬機的動態(tài)負載狀況的關系,為資源差異化決策提供支持。因此,基于所收集的負載特征參數(shù),根據(jù)預設的虛擬化系統(tǒng)資源和負載的馬爾科夫模型,建立可以識別出不同典型負載類型的評判模型,實現(xiàn)對客戶虛擬機任務負載的特征參數(shù)的實時獲取和分析,給出客戶虛擬機當前的負載類型,根據(jù)不同的負載類型進行資源的差異化調整分配。
[0067]圖2顯示了本發(fā)明實施例的用于調整虛擬機資源的虛擬機系統(tǒng)的結構圖。
[0068]如圖2所示,宿主機包括Agent信息收集模塊,CPU使用信息收集模塊、策略設置/決策模塊以及虛擬機資源調整模塊。
[0069]Agent信息收集模塊用于獲取所述存儲資源使用信息,并報告給策略設置/決策模塊。CPU使用信息收集模塊,也會按照相同的預設頻率,比如上述每分鐘I次,將虛擬機CPU使用率等信息發(fā)送給策略設置/決策模塊。
[0070]策略設置/決策模塊獲取存儲資源使用信息和CPU使用信息,根據(jù)預先設置的策略,決定是否發(fā)送調整指令給虛擬機資源調整模塊。策略由虛擬機的用戶預先通過策略設置/決策模塊設置在宿主機中,策略表示在特定硬件資源使用信息產生的條件下,對應的調整資源的動作和行為。為保證資源的足夠使用,策略一般是指出現(xiàn)表征硬件資源不足的使用信息時,對應的增加資源的行為。
[0071]在本發(fā)明優(yōu)選的實施例中,該策略具體實施為策略定義文件。用戶可創(chuàng)建一個策略定義文件,并可以在策略需要更新的情況下,對該文件進行修改,進而改變資源分配策略。
[0072]虛擬機資源調整模塊接收策略設置/決策模塊的指令。該指令包括虛擬機資源的調整動作,根據(jù)指令來調整對應虛擬機的資源。
[0073]虛擬機包括Agent和Virtio-serial port,其按照預設頻率收集存儲資源使用信息。在一個實施例中,Agent以每分鐘I次的頻率來收集使用情況信息。存儲資源一般包括內存和磁盤。
[0074]Virtio-serial port作為虛擬機和宿主機的接口,允許Agent發(fā)送所收集的信息到宿主機。
[0075]綜上所述,利用本發(fā)明的調整虛擬機資源的方法和系統(tǒng),根據(jù)虛擬機資源使用情況動態(tài)地自動調整資源,即使出現(xiàn)資源占用率較高的情況,也能保證虛擬機實現(xiàn)正常運行。因此不僅減少了管理維護成本,還能提高虛擬機運行效率。
[0076]顯然,本領域的技術人員應該理解,上述的本發(fā)明的各模塊或各步驟可以用通用的計算系統(tǒng)來實現(xiàn),它們可以集中在單個的計算系統(tǒng)上,或者分布在多個計算系統(tǒng)所組成的網(wǎng)絡上,可選地,它們可以用計算系統(tǒng)可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲系統(tǒng)中由計算系統(tǒng)來執(zhí)行。這樣,本發(fā)明不限制于任何特定的硬件和軟件結合。
[0077]應當理解的是,本發(fā)明的上述【具體實施方式】僅僅用于示例性說明或解釋本發(fā)明的原理,而不構成對本發(fā)明的限制。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。此外,本發(fā)明所附權利要求旨在涵蓋落入所附權利要求范圍和邊界、或者這種范圍和邊界的等同形式內的全部變化和修改例。
【權利要求】
1.一種調整虛擬機資源的方法,其特征在于,包括: 獲取虛擬機資源的使用情況信息; 根據(jù)預設的策略和所述使用情況信息,判斷是否需要調整虛擬機資源; 確定需要調整虛擬機資源時,進行虛擬機資源的調整。
2.根據(jù)權利要求1所述的方法,其特征在于,所述虛擬機資源包括虛擬機的CPU和存儲資源; 所述獲取虛擬機資源的使用情況信息,包括:獲取虛擬機的CPU和存儲資源的使用情況信息。
3.根據(jù)權利要求2所述的方法,其特征在于: 所述預設的策略包括: 若虛擬機的CPU利用率持續(xù)預定時間內大于一閾值,則為虛擬機增加預定數(shù)量的虛擬CPU ; 若虛擬機的存儲資源中內存使用率持續(xù)預定時間大于一閾值,則為虛擬機增加預定數(shù)量的虛擬內存; 若虛擬機的存儲資源 中磁盤使用量大于一閾值,則為虛擬機增加預定數(shù)量的虛擬磁盤。
4.根據(jù)權利要求1所述的方法,其特征在于: 所述策略存儲于用戶定義的策略定義文件,用戶創(chuàng)建新的策略定義文件以定義策略,或對已存在的策略定義文件進行修改以改變策略。
5.根據(jù)權利要求1所述的方法,其特征在于,存在多個虛擬機,所述進行虛擬機資源的調整,包括:根據(jù)需要進行資源調整的目標虛擬機在多個虛擬機中的優(yōu)先級排序,進行對應目標虛擬機的資源的調整。
6.根據(jù)權利要求2所述的方法,其特征在于,所述虛擬機的CPU使用情況信息通過按照預設頻率監(jiān)控虛擬機對應進程的CPU使用情況獲得, 存儲資源的使用情況信息通過虛擬機監(jiān)控代理按照預設頻率收集并經(jīng)通信接口發(fā)送而來獲得。
7.根據(jù)權利要求5所述的方法,其特征在于,所述進行虛擬機資源的調整,還包括:獲取虛擬機訪問硬件資源的行為和操作信息,監(jiān)控其對底層硬件的使用情況,收集虛擬機的負載特征參數(shù),根據(jù)預設的虛擬化系統(tǒng)資源和負載的馬爾科夫模型,獲取虛擬機負載類型,從而根據(jù)不同的負載特征調整虛擬機的資源。
8.—種虛擬機系統(tǒng),包括虛擬機和宿主機,其特征在于:所述宿主機包括: 信息獲取模塊,用于獲取虛擬機資源的使用情況信息; 策略設置/決策模塊,用于根據(jù)預設的策略和所述使用情況信息,判斷是否需要調整虛擬機資源; 虛擬機資源調整模塊,用于確定需要調整虛擬機資源時,進行虛擬機資源的調整。
9.根據(jù)權利要求8所述的虛擬機系統(tǒng),其特征在于,所述虛擬機資源包括虛擬機的CPU和存儲資源; 所述獲取虛擬機資源的使用情況信息,包括:獲取虛擬機的CPU和存儲資源的使用情況信息;所述虛擬機包括: 監(jiān)控代理模塊,用于按照預設頻率收集虛擬機的存儲資源的使用情況信息; 接口模塊,用于監(jiān)控代理模塊向宿主機發(fā)送存儲資源的使用情況信息; 所述信息獲取模塊包括: Agent信息收集模塊,用于獲取所述存儲資源的使用情況信息; CPU使用率收集模塊,用于按照預設頻率收集虛擬機對應進程的CPU使用情況信息,以獲得所述虛擬機的CPU使用情況信息。
10.根據(jù)權利要求9所述的虛擬機系統(tǒng),其特征在于: 所述策略設置/決策模塊還用于提供用戶設置策略的接口; 所述預設的策略包括: 若虛擬機的CPU利用率持續(xù)預定時間內大于一閾值,則為虛擬機增加預定數(shù)量的虛擬CPU ; 若虛擬機的存儲資源中內存使用率持續(xù)預定時間大于一閾值,則為虛擬機增加預定數(shù)量的虛擬內存; 若虛擬機的存儲資源中 磁盤使用量大于一閾值,則為虛擬機增加預定數(shù)量的虛擬磁盤。
【文檔編號】G06F9/455GK103870341SQ201410088585
【公開日】2014年6月18日 申請日期:2014年3月12日 優(yōu)先權日:2014年3月12日
【發(fā)明者】徐安 申請人:漢柏科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1