需對沒有更新過的數據進行迀移,由此實現了在對虛擬機磁盤數據進行迀移的過程中,降低數據迀移量的目的,從而減少了系統資源的消耗以及縮短了迀移時間。
[0042]本發明實施例公開了一種具體的虛擬機磁盤數據迀移方法,相對于上一實施例,本實施例對技術方案作了進一步的說明和優化。具體的:
[0043]本實施例中的方法還可以進一步包括:當主迀移過程結束后,將虛擬機掛起,這樣可以保證在從迀移過程中虛擬機不會對待迀移磁盤發起磁盤寫請求。
[0044]進一步的,本實施例中的方法還可以包括:觸發對待迀移磁盤的循環迀移過程,循環迀移過程包括N輪數據迀移過程,每一輪數據迀移過程均包括一次主迀移過程和一次從迀移過程,其中,N為正整數。其中,可以將循環迀移過程的循環終止條件設為N等于預設值,例如,將循環迀移過程的循環終止條件設為N等于100,也即,當N等于100時,停止循環迀移過程。可以理解的是,在循環迀移過程進行時,N的具體數值需要隨著循環次數的增加而進行實時更新。
[0045]考慮到備用磁盤只記錄更新數據,從而導致備用磁盤中存在大量為空的數據塊,為了提高迀移速率,在上一實施例步驟S14中,將備用磁盤上的更新數據迀移至待接收磁盤的過程,具體可以包括:對備用磁盤上的更新數據進行壓縮,并將壓縮后的數據迀移至待接收磁盤。需要說明的是,為了最大程度地縮短壓縮時間,可以利用WKdm算法,對備用磁盤上的更新數據進行壓縮。
[0046]本發明實施例還公開了一種虛擬機磁盤數據迀移系統,參見圖2所示,該系統包括:
[0047]資源確定模塊21,用于確定源服務器上的虛擬機資源以及目標服務器上的目標資源;其中,虛擬機資源至少包括源服務器上的待迀移磁盤,目標資源至少包括目標服務器上的待接收磁盤;
[0048]磁盤創建模塊22,用于在源服務器上創建備用磁盤,其中,備用磁盤的磁盤地址表與待迀移磁盤的磁盤地址表互為映射關系;
[0049]主觸發模塊23,用于觸發主迀移過程,以將待迀移磁盤上所有的虛擬機磁盤數據全部迀移至待接收磁盤,并且,在主迀移過程中,將虛擬機對待迀移磁盤的磁盤寫請求重定向至備用磁盤;
[0050]從觸發模塊24,用于觸發從迀移過程,以將在主迀移過程中備用磁盤上的更新數據迀移至待接收磁盤。
[0051]具體的,參見圖3所示,上述從觸發模塊24可以包括從觸發單元241、數據壓縮單元242和數據迀移單元243;其中,從觸發單元241,用于觸發從迀移過程;數據壓縮單元242,用于當從觸發單元241觸發從迀移過程后,對備用磁盤上的更新數據進行壓縮;數據迀移單元243,用于對數據壓縮單元242得到的壓縮數據迀移至待接收磁盤。
[0052]優選的,上述數據壓縮單元,具體用于利用WKdm算法,對備用磁盤上的更新數據進行壓縮。
[0053]可見,本發明實施例通過將虛擬機在主迀移過程中對待迀移磁盤的磁盤寫請求重定向至備用磁盤,從而實現了利用備用磁盤來存儲更新數據,這樣在從迀移過程中,只需要將備用磁盤中的更新數據迀移至待接收磁盤便可,而無需對沒有更新過的數據進行迀移,由此實現了在對虛擬機磁盤數據進行迀移的過程中,降低數據迀移量的目的,從而減少了系統資源的消耗以及縮短了迀移時間。
[0054]最后,還需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。
[0055]以上對本發明所提供的一種虛擬機磁盤數據迀移方法及系統進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理解本發明的方法及其核心思想;同時,對于本領域的一般技術人員,依據本發明的思想,在【具體實施方式】及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發明的限制。
【主權項】
1.一種虛擬機磁盤數據迀移方法,其特征在于,包括: 確定源服務器上的虛擬機資源以及目標服務器上的目標資源;其中,所述虛擬機資源至少包括所述源服務器上的待迀移磁盤,所述目標資源至少包括所述目標服務器上的待接收磁盤; 在所述源服務器上創建備用磁盤,其中,所述備用磁盤的磁盤地址表與所述待迀移磁盤的磁盤地址表互為映射關系; 觸發主迀移過程,以將所述待迀移磁盤上所有的虛擬機磁盤數據全部迀移至所述待接收磁盤,并且,在所述主迀移過程中,將虛擬機對所述待迀移磁盤的磁盤寫請求重定向至所述備用磁盤; 觸發從迀移過程,以將在所述主迀移過程中所述備用磁盤上的更新數據迀移至所述待接收磁盤。2.根據權利要求1所述的虛擬機磁盤數據迀移方法,其特征在于,所述虛擬機資源還包括虛擬機內存資源、CPU資源、I/O資源和網絡資源;并且,所述目標資源包含的資源與所述虛擬機資源保持一致。3.根據權利要求1所述的虛擬機磁盤數據迀移方法,其特征在于,還包括,當所述主迀移過程結束后,將所述虛擬機掛起。4.根據權利要求1所述的虛擬機磁盤數據迀移方法,其特征在于,還包括: 觸發對所述待迀移磁盤的循環迀移過程,所述循環迀移過程包括N輪數據迀移過程,每一輪數據迀移過程均包括一次主迀移過程和一次從迀移過程,其中,N為正整數。5.根據權利要求4所述的虛擬機磁盤數據迀移方法,其特征在于,所述循環迀移過程的循環終止條件為N等于預設值。6.根據權利要求1至5任一項所述的虛擬機磁盤數據迀移方法,其特征在于,將所述備用磁盤上的更新數據迀移至所述待接收磁盤的過程,包括: 對所述備用磁盤上的更新數據進行壓縮,并將壓縮后的數據迀移至所述待接收磁盤。7.根據權利要求6所述的虛擬機磁盤數據迀移方法,其特征在于,所述對所述備用磁盤上的更新數據進行壓縮的過程,包括: 利用WKdm算法,對所述備用磁盤上的更新數據進行壓縮。8.一種虛擬機磁盤數據迀移系統,其特征在于,包括: 資源確定模塊,用于確定源服務器上的虛擬機資源以及目標服務器上的目標資源;其中,所述虛擬機資源至少包括所述源服務器上的待迀移磁盤,所述目標資源至少包括所述目標服務器上的待接收磁盤; 磁盤創建模塊,用于在所述源服務器上創建備用磁盤,其中,所述備用磁盤的磁盤地址表與所述待迀移磁盤的磁盤地址表互為映射關系; 主觸發模塊,用于觸發主迀移過程,以將所述待迀移磁盤上所有的虛擬機磁盤數據全部迀移至所述待接收磁盤,并且,在所述主迀移過程中,將虛擬機對所述待迀移磁盤的磁盤寫請求重定向至所述備用磁盤; 從觸發模塊,用于觸發從迀移過程,以將在所述主迀移過程中所述備用磁盤上的更新數據迀移至所述待接收磁盤。9.根據權利要求8所述的虛擬機磁盤數據迀移系統,其特征在于,所述從觸發模塊包括: 從觸發單元,用于觸發從迀移過程; 數據壓縮單元,用于當所述從觸發單元觸發從迀移過程后,對所述備用磁盤上的更新數據進行壓縮; 數據迀移單元,用于對所述數據壓縮單元得到的壓縮數據迀移至所述待接收磁盤。10.根據權利要求9所述的虛擬機磁盤數據迀移系統,其特征在于,所述數據壓縮單元,具體用于利用WKdm算法,對所述備用磁盤上的更新數據進行壓縮。
【專利摘要】本申請公開了一種虛擬機磁盤數據遷移方法及系統,該方法包括:確定源服務器上的虛擬機資源以及目標服務器上的目標資源;其中,虛擬機資源至少包括源服務器上的待遷移磁盤,目標資源至少包括目標服務器上的待接收磁盤;在源服務器上創建備用磁盤;觸發主遷移過程,以將待遷移磁盤上所有的虛擬機磁盤數據全部遷移至待接收磁盤,并且,在主遷移過程中,將虛擬機對待遷移磁盤的磁盤寫請求重定向至備用磁盤;觸發從遷移過程,以將在主遷移過程中備用磁盤上的更新數據遷移至待接收磁盤。本申請實現了在對虛擬機磁盤數據進行遷移的過程中,降低數據遷移量的目的,從而減少了系統資源的消耗以及縮短了遷移時間。
【IPC分類】G06F3/06
【公開號】CN105511816
【申請號】CN201510927672
【發明人】王宜燕
【申請人】浪潮(北京)電子信息產業有限公司
【公開日】2016年4月20日
【申請日】2015年12月14日