一種加速虛擬機io的方法和管理平臺的制作方法
【技術領域】
[0001]本發(fā)明實施例涉及云計算技術領域,尤其涉及一種加速虛擬機1的方法和管理
-ψ-1 口 O
【背景技術】
[0002]隨著云計算的興起,人們越來越多的使用虛擬化方案來搭建自己的基礎平臺。虛擬化的優(yōu)勢明顯,大規(guī)模、自動化、高可用、高效的資源利用率,作為基礎平臺,其較好的通用性可滿足上層的需求。
[0003]虛擬化中的存儲包括本地存儲、網絡存儲。本地存儲就是把數據存放在機器的本地硬盤;網絡存儲就是把數據存放在其他網絡機器,或者專門的存儲設備,或者集群文件系統(tǒng),要訪問數據就必須通過網絡。虛擬機啟動時會讀取磁盤鏡像,如果大量的用戶同時啟動,特別是當啟動不同類型虛擬機的話,虛擬機的啟動就會很慢,而且影響所有虛擬機的性能,這種現象就叫“啟動風暴”。
[0004]啟動風暴的根本原因是本地硬盤的讀取速度慢而導致總的1PS(每秒進行I/O操作的次數)無法滿足當時的啟動需求,如果按照最高能滿足需求的1PS來搭建硬件,無疑會增加大量的成本,而且無法充分有效的利用這些硬件資源,因為在高峰期之外,硬件資源會閑置?,F有技術中,提供了一些辦法來避免“啟動風暴”,例如采用分時段啟動虛擬機、用價格昂貴的SSD(固態(tài)硬盤)來提高10PS。但是分時段啟動無法滿足用戶對啟動時間的要求,SSD的成本太高,而且這兩種辦法中虛擬機啟動時依然需要讀取本地硬盤,整體性能還是無法提尚。
【發(fā)明內容】
[0005]本發(fā)明實施例提供一種圍繞附件列表展開的快捷操作方法及其系統(tǒng),用以解決現有技術中附件顯示不清晰并且無法實現通過觸發(fā)附件直接查看相應郵件的缺陷,實現快速查找。
[0006]本發(fā)明實施例提供一種加速虛擬機1的方法和管理平臺,以克服現有技術中同時啟動多臺虛擬機時由于1PS無法滿足啟動需求而造成啟動風暴的問題。
[0007]本發(fā)明實施例提供一種加速虛擬機1的方法,包括:
[0008]根據虛擬機的操作系統(tǒng)類型匹配至少一臺具有相同操作系統(tǒng)類型的物理機,然后根據預設的資源使用策略或隨機從中選出用于啟動所述虛擬機的一臺目標物理機;
[0009]將所述虛擬機的鏡像文件緩存至所述目標物理機的內存并鎖定;
[0010]在接收到所述虛擬機的啟動請求時,讀取所述目標物理機的內存中的所述鏡像文件以在所述目標物理機上啟動所述虛擬機,其中,所述鏡像文件至少包括所述虛擬機的操作系統(tǒng)文件。
[0011]本發(fā)明實施例提供一種加速虛擬機1的管理平臺,包括:
[0012]資源調度模塊,用于根據虛擬機的操作系統(tǒng)類型匹配至少一臺具有相同操作系統(tǒng)類型的物理機,然后根據預設的資源使用策略或隨機從中選出用于啟動所述虛擬機的一臺目標物理機;
[0013]預緩存模塊,用于將所述虛擬機的鏡像文件緩存至所述目標物理機的內存并鎖定;
[0014]讀取啟動模塊,在接收到所述虛擬機的啟動請求時,讀取所述目標物理機的內存中的所述鏡像文件以在所述目標物理機上啟動所述虛擬機,其中,所述鏡像文件至少包括所述虛擬機的操作系統(tǒng)文件。
[0015]本發(fā)明提供的加速虛擬機1的方法和管理平臺,根據虛擬機的鏡像文件與物理機的親和性,將虛擬機啟動到與其最匹配的目標物理機上;且在虛擬機啟動之前,其啟動所需的鏡像文件已經預緩存至目標物理機的內存中,這使得虛擬機在啟動時無需再讀取本地硬盤或者網絡上的鏡像文件,而是直接讀取目標物理機內存中的鏡像文件,加速了虛擬機的10,大大提高了啟動速度。
【附圖說明】
[0016]為了更清楚地說明本發(fā)明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0017]圖1為本發(fā)明第一實施例的加速虛擬機1的方法流程圖;
[0018]圖2為本發(fā)明第二實施例的加速虛擬機1的方法流程圖;
[0019]圖3為本發(fā)明加速虛擬機1的管理平臺的結構示意圖。
【具體實施方式】
[0020]為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其它實施例,都屬于本發(fā)明保護的范圍。
[0021]為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0022]本發(fā)明的實施例提供一種加速虛擬機1的方法和管理平臺。該方法根據虛擬機的操作系統(tǒng)類型,選出與虛擬機具備親和性的物理機,并根據這些物理機的資源利用率選出最合適的一臺目標物理機,虛擬機不再隨機分散啟動到不同的物理機上,而是啟動到選出的目標物理機上,這避免了大量的隨機10,實現了合理的資源調度;該方法還采用cache機制,將虛擬機的鏡像文件的熱數據保留在目標物理機的內存中,并根據虛擬機的啟動情況動態(tài)調整鏡像文件在cache中的大小,不僅大大提高了虛擬機1的讀寫速度,且可節(jié)省內存、節(jié)省網絡帶寬。
[0023]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,以下結合附圖及具體實施例,對本發(fā)明進行進一步的詳細說明。
[0024]參考圖1,圖1是本發(fā)明第一實施例的加速虛擬機1的方法流程圖。
[0025]步驟101,根據虛擬機的操作系統(tǒng)類型匹配至少一臺具有相同操作系統(tǒng)類型的物理機,然后根據預設的資源使用策略或隨機從中選出用于啟動所述虛擬機的一臺目標物理機。
[0026]虛擬機和物理機的操作系統(tǒng)類型可劃分為Windows、Linux、BSD等,甚至可以劃分的更細致,基于每個發(fā)行版的具體版本,如WindowsXPl、WindowsXP2、WIN7、Centons5、Centons6、Centons7、Fedora、Ubuntu等,如果虛擬機與物理機的操作系統(tǒng)類型一致,則定義虛擬機和物理機之間有親和性,例如,當啟動一個LINUX操作系統(tǒng)的虛擬機時,會根據所述虛擬機操作系統(tǒng)的類型選出所有操作系統(tǒng)類型是LINUX (label = linux)的物理機,根據該親和性判斷策略選出的具備親和性的物理機可能為一臺,也可能為多臺。如果為一臺,則直接將該臺物理機確定為目標物理機,如果為多臺,則再根據預設的資源使用策略或隨機從中選出最合適的一臺目標物理機。
[0027]其中,從具備親和性的物理機中選中一臺目標物理機的過程是資源均衡分配和利用的過程。本發(fā)明提供的選擇方式包括隨機選擇或根據預設的資源使用策略選擇。隨機選擇即不考慮物理機的資源利用率,而隨機地從所述具備親和性的物理機中選中一臺目標物理機。所述預設的資源使用策略包括:最大利用資源策略或均衡利用資源策略,具體地,將選出的具備親和性的物理機根據資源利用率進行排序,在安全范圍內(物理機的內存和CPU須滿足所述虛擬機啟動的條件),從資源利用率大于預定闕值的具備親和性的物