本發明專利技術提供一種基于虛擬機快照的內存頁去重方法及裝置,應用于虛擬機快照系統,所述方法包括:宿主機根據各虛擬機對應的內存頁的內容,將各虛擬機對應的內存頁中內容相同的內存頁進行合并處理;將所述合并處理后的各虛擬機對應的內存頁發送給存儲系統。可以改善虛擬機快照技術中的快照備份數據存在占用大量磁盤空間的問題,同時可以減少快照備份時間。
【技術實現步驟摘要】
本專利技術涉及計算機
,尤其涉及一種基于虛擬機快照的內存頁去重方法及>J-U ρ α裝直。
技術介紹
虛擬機快照技術是用來實現對一個虛擬機運行狀態的記錄,并在任意時刻可以將虛擬機回滾到記錄時的虛擬機運行狀態;這樣在虛擬機因故障而失效時,可以從快照點恢 復到之前所記錄的正常運行的狀態,從而實現虛擬機的備份。通常,虛擬機運行狀態包括網絡狀態、內存狀態、CPU狀態、及磁盤狀態等。其中,內存狀態需要保存的內存頁的數據量較大,從而使得快照備份數據較大。例如,對于虛擬機集群(8臺IG內存的虛擬機)快照,需要保存的內存狀態則為集群中虛擬機的內存之和(8G)。進一步,快照的時間間隔通常為幾分鐘,這種高頻度的快照又進一步增加了快照備份數據量。例如以10分鐘的快照時間間隔計算,每天需要144次快照,需要占據IT的磁盤空間。因此,在虛擬機快照技術中,數據量較大的快照備份數據不僅占用大量的磁盤空間,而且增加快照備份時間。
技術實現思路
本專利技術提供一種基于虛擬機快照的內存頁去重方法及裝置,用于解決虛擬機快照技術中的快照備份數據存在占用大量磁盤空間的問題。本專利技術的第一個方面是提供一種基于虛擬機快照的內存頁去重方法,包括宿主機根據各虛擬機對應的內存頁的內容,將各虛擬機對應的內存頁中內容相同的內存頁進行合并處理;將所述合并處理后的各虛擬機對應的內存頁發送給存儲系統。本專利技術的第二個方面是提供一種基于虛擬機快照的內存頁去重方法,應用于虛擬機快照系統,包括存儲系統分別接收各宿主機發送的內存頁,所述各宿主機發送的內存頁是所述各宿主機將各虛擬機對應的內存頁中內容相同的內存頁進行合并處理后得到的;所述存儲系統根據各宿主機發送的內存頁的內容,將各宿主機發送的內存頁中內容相同的內存頁進行合并處理;所述存儲系統保存所述合并處理后的內存頁。本專利技術的第三個方面是提供一種宿主機,運行有多個虛擬機,包括第一處理模塊,用于根據所述宿主機上運行的多個虛擬機對應的內存頁的內容,將所述多個虛擬機對應的內存頁中內容相同的內存頁進行合并處理;發送模塊,用于將所述合并處理后的各虛擬機對應的內存頁發送給存儲系統。本專利技術的第四個方面是提供一種存儲系統,應用于虛擬機快照系統,包括接收模塊,用于分別接收各宿主機發送的內存頁,所述各宿主機發送的內存頁是所述各宿主機將各虛擬機對應的內存頁中內容相同的內存頁進行合并處理后得到的;第二處理模塊,用于根據各宿主機發送的內存頁的內容,將各宿主機發送的內存頁中內容相同的內存頁進行合并處理;保存模塊,用于保存所述合并處理后的內存頁。本專利技術的第五個方面是提供一種虛擬機快照系統,包括上述宿主機和存儲系統。本專利技術實施例通過宿主機根據各虛擬機對應的內存頁的內容,將各虛擬機對應的內存頁中內容相同的內存頁進行合并處理;將所述合并處理后的各虛擬機對應的內存頁發送給存儲系統,可以減小宿主機發送給存儲系統的內存頁的數據量,從而可以改善虛擬機快照技術中的快照備份數據存在占用大量磁盤空間的問題;同時通過減小宿主機發送給存儲系統的內存頁的數據量,可以減小宿主機和存儲系統之間的網絡開銷,也可以減小快照備份時間。附圖說明圖1為本專利技術一實施例提供的基于虛擬機快照的內存頁去重方法的流程示意圖;圖2為本專利技術另一實施例提供的基于虛擬機快照的內存頁去重方法的流程示意圖;圖3為本專利技術另一實施例提供的宿主機的結構示意圖;圖4為本專利技術另一實施例提供的存儲系統的結構示意圖;圖5為圖1-圖4所示實施例應用的虛擬機快照系統的架構圖;圖6為圖1-圖4所示實施例應用的哈希結構表示意圖;圖7為圖1-圖4所示實施例應用的哈希結構表建立的過程示意圖;圖8為圖1-圖4所示實施例應用的哈希結構表更新的過程示意圖;圖9為圖1-圖4所示實施例應用的數據包格式的示意圖。具體實施例方式圖1為本專利技術一實施例提供的基于虛擬機快照的內存頁去重方法的流程示意圖;圖5為圖1-圖4所示實施例應用的虛擬機快照系統的架構圖,如圖1和圖5所示,本實施例的基于虛擬機快照的內存頁去重方法具體包括101、宿主機根據各虛擬機對應的內存頁的內容,將各虛擬機對應的內存頁中內容相同的內存頁進行合并處理。通常,虛擬機集群中各虛擬機大多運行同樣的操作系統,承載類似的應用,使得各虛擬機內存中有大量的數據是相同的,圖5所示的虛擬機快照系統的架構圖是針對虛擬機集群的快照,以虛擬機集群為單位進行數據的備份,為了減少虛擬機集群的快照過程中存在的大量相同的內存數據,減少快照備份時間,本專利技術實施例中,每一宿主機根據該宿主機中各虛擬機對應的內存頁的內容,將內容相同的內存頁進行合并處理,具體實現時例如,圖5所示,第一宿主機中有虛擬機VMl和虛擬機VM2,假設VMl和VM2中各有4個內存頁,第一宿主機獲取虛擬機VMl中的4個內存頁和虛擬機VM2中的4個內存頁;根據虛擬機VMl和虛擬機VM2中各自對應的4個內存頁對應的內容,確定VMl中的內存頁I和內存頁3的內容與VM2中的內存頁3的內容相同,該宿主機可以將VMl中的內存頁I和內存頁3以及VM2中的內存頁3進行合并處理,即宿主機可以在VMl中的內存頁I和內存頁3以及VM2中的內存頁3中任選其中的一個內存頁發送給存儲系統,不需要將VMl中的內存頁I和內存頁3以及VM2中的內存頁3都發送給存儲系統。需要說明的是,在實際應用中,各虛擬機的內存頁數量較多,假設虛擬機內存為1G,則該虛擬機包括256K內存頁,其中,K是計算機中用來表達數量的單位,lK=1024bit,如果采用逐頁比較的方式比較耗時。在本專利技術的一個實施方式中,為了提高內存頁內容比較的效率,采用哈希Hash算法計算每個內存頁面的Hash值,根據計算得到的各內存頁對應的哈希Hash值,構建各內存頁對應的紅黑樹或鏈表;其中,將哈希Hash值相同的各內存頁對應的頁信息插入到所述哈希Hash值在所述紅黑樹或鏈表上對應的哈希Hash節點中;具體實現時圖6為圖1-圖4所示實施例應用的哈希結構表的示意圖,如圖6所示,哈希結構表包括桶(bucket)、哈希節點(hash node)、頁信息(page item);其中,bucket主要用來實現對內存頁的快速索弓I, bucket包括哈希桶(hashbucket)和地址桶(addr bucket);其中,addr bucket用來對頁信息page item進行索引,而hash bucket根據頁信息page item中的hash值來構建紅黑樹或鏈表。其中,每個hash bucket中存儲了一組相似Hash值的頁,例如,一個Hash值可以用32比特來表示,假設將Hash值的前20個比特相同的Hash值作為相似Hash值,本實施例中,可以將相似Hash值插入到同一個hash bucket中,用來提高對內存頁的索引效率;假設哈希結構表由IM元素組成hash bucket,其中每一個hash bucket為Hash值的前20個bit值,因此,每個hash bucket最多可以表達4096 ((2~ 12)個hash值不同的hash node。 其中,hash node可以以鏈表或者紅黑樹的形式掛載在哈希結構表上,如果每個bucket數組元素中的hash node數目小于3,則以鏈表形式掛載在哈希結構表上;如果每個bucket數組本文檔來自技高網...
【技術保護點】
一種基于虛擬機快照的內存頁去重方法,其特征在于,包括:宿主機根據各虛擬機對應的內存頁的內容,將各虛擬機對應的內存頁中內容相同的內存頁進行合并處理;將所述合并處理后的各虛擬機對應的內存頁發送給存儲系統。
【技術特征摘要】
1.一種基于虛擬機快照的內存頁去重方法,其特征在于,包括 宿主機根據各虛擬機對應的內存頁的內容,將各虛擬機對應的內存頁中內容相同的內存頁進行合并處理; 將所述合并處理后的各虛擬機對應的內存頁發送給存儲系統。2.根據權利要求1所述的方法,其特征在于,宿主機根據各虛擬機對應的內存頁的內容,將各虛擬機對應的內存頁中內容相同的內存頁進行合并處理之前,具體包括 所述宿主機獲取各虛擬機對應的內存頁的內容及頁信息; 根據各內存頁的內容,利用哈希Hash算法,計算各內存頁對應的Hash值; 根據計算得到的各內存頁對應的Hash值,構建與各內存頁對應的哈希結構表,所述哈希結構表包括紅黑樹和/或鏈表; 將各內存頁的頁信息插入到所述哈希結構表中與各內存頁的Hash值對應的Hash節點的頁信息列表中。3.根據權利要求2所述的方法,其特征在于,將各虛擬機對應的內存頁中內容相同的內存頁進行合并處理,具體包括 根據預設的數據包格式,所述數據包格式包括至少一個頁內容表項和與各頁內容表項對應的頁信息表項,將所述哈希結構表中各Hash節點對應的內存頁的內容分別封裝到各頁內容表項中,將所述哈希結構表中各Hash節點對應的內存頁的頁信息列表中包含的各頁信息分別封裝到對應的頁信息表項中。4.一種基于虛擬機快照的內存頁去重方法,其特征在于,包括 存儲系統分別接收各宿主機發送的內存頁,所述各宿主機發送的內存頁是所述各宿主機將各虛擬機對應的內存頁中內容相同的內存頁進行合并處理后得到的; 所述存儲系統根據各宿主機發送的內存頁的內容,將各宿主機發送的內存頁中內容相同的內存頁進行合并處理; 所述存儲系統保存所述合并處理后的內存頁。5.根據權利要求4所述的方法,其特征在于,所述存儲系統根據各宿主機發送的內存頁的內容,將各宿主機發送的內存頁中內容相同的內存頁進行合并處理之前,包括 所述存儲系統根據預設的數據包格式解析各宿主機發送的內存頁,分別獲取各宿主機發送的...
【專利技術屬性】
技術研發人員:李博,崔磊,李建欣,沃天宇,
申請(專利權)人:北京航空航天大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。