本申請涉及計算機技術領域,尤其涉及一種數據遷移方法及裝置。
背景技術:
物理主機到虛擬機(physicaltovirtual,p2v)遷移是指通過技術手段,將物理主機里面的磁盤數據轉換成虛擬機對應的鏡像。
p2v遷移主要有熱遷移和冷遷移兩種:熱遷移是以被遷移的物理主機正常工作為前提,將物理主機上的數據轉化成虛擬機鏡像;冷遷移是以中斷、關閉服務器原有服務為前提,將物理主機上的數據轉換為虛擬機鏡像。
現有技術中,p2v遷移的兩種方式都是通過網絡進行數據交互,有對應的服務端和客戶端,需要進行網絡傳輸。因此,無論是冷遷移還是熱遷移,遷移的時間都會受到數據量的大小和網絡質量的影響,當數據量大,網絡質量不好時,會導致遷移時間無限延長。
技術實現要素:
本發(fā)明實施例提供了一種數據遷移方法及裝置,能夠節(jié)省數據遷移的時間,提高遷移效率。
第一方面,本發(fā)明實施例提供了一種數據遷移方法,該方法應用于將物理主機的數據遷移至移動介質,其中,移動介質通過物理接口連接至物理主機,該方法包括:確定物理主機的基本信息;根據基本信息在移動介質的存儲中創(chuàng)建鏡像文件;讀取物理主機的待遷移數據,將待遷移數據寫入鏡像文件,鏡像文件用于創(chuàng)建虛擬機。
可選的,該方法還包括:加載移動介質的空閑分區(qū),并格式化空閑分區(qū);
根據基本信息在移動介質的存儲中創(chuàng)建鏡像文件包括:根據基本信息在移動介質的空閑分區(qū)創(chuàng)建鏡像文件。
可選的,讀取物理主機的待遷移數據的具體過程為:確定物理主機的數據盤位圖,讀取數據盤位圖對應的磁盤扇區(qū)數據,待遷移數據包括數據盤位圖對應的磁盤扇區(qū)數據。
可選的,該方法還包括:根據基本信息在移動介質的存儲中創(chuàng)建虛擬機的配置文件,虛擬機的配置文件用于創(chuàng)建虛擬機。
可選的,所述基本信息包括物理主機的內存大小、磁盤大小或網卡個數。
可選的,移動介質連接云平臺的服務器,該方法還包括:云平臺的服務器根據移動介質中的鏡像文件及配置文件創(chuàng)建虛擬機。
第二方面,本發(fā)明實施例還提供一種數據遷移裝置,該裝置包括:
信息確定單元,用于確定物理主機的基本信息;
鏡像文件創(chuàng)建單元,用于根據基本信息在移動介質的存儲中創(chuàng)建鏡像文件;
數據讀取單元,用于讀取物理主機的待遷移數據;
數據寫入單元,用于將待遷移數據寫入鏡像文件,鏡像文件用于創(chuàng)建虛擬機。
可選的,該裝置還包括:
加載單元,用于加載移動介質的空閑分區(qū),并格式化空閑分區(qū);
鏡像文件創(chuàng)建單元,具體用于根據基本信息在移動介質的空閑分區(qū)創(chuàng)建鏡像文件。
可選的,數據讀取單元,具體用于確定物理主機的數據盤位圖,讀取數據盤位圖對應的磁盤扇區(qū)數據,待遷移數據包括數據盤位圖對應的磁盤扇區(qū)數據。
可選的,裝置還包括:配置文件創(chuàng)建單元,用于根據基本信息在移動介質的存儲中創(chuàng)建虛擬機的配置文件,虛擬機的配置文件用于創(chuàng)建虛擬機。
可選的,信息確定單元,具體用于確定物理主機的基本信息,基本信息包括物理主機的內存大小、磁盤大小或網卡個數。
從以上技術方案可以看出,本發(fā)明實施例具有以下優(yōu)點:
本發(fā)明實施例中,是將移動介質通過物理接口連接至物理主機,先確定物理主機的基本信息,根據物理主機的基本信息在移動介質的存儲中創(chuàng)建虛擬機的鏡像文件,之后,讀取物理主機中的待遷移數據,將待遷移數據寫入所述鏡像文件。通過這種方式,將物理主機中的數據遷移至移動介質中,存儲為鏡像文件,以便于后續(xù)根據該鏡像文件創(chuàng)建虛擬機。本發(fā)明實施例中的數據遷移方法是直接將物理主機中的數據讀取并寫入至移動介質中,且不需要通過網絡進行傳輸,遷移過程不受網絡質量的影響,因此能夠節(jié)省數據遷移的時間,能夠提高遷移效率。
附圖說明
圖1為本發(fā)明實施例中數據遷移方法的一種示意圖;
圖2為本發(fā)明實施例中數據遷移方法的一種流程圖;
圖3為本發(fā)明實施例中數據遷移方法的另一種流程圖;
圖4為本發(fā)明實施例中的數據遷移裝置的一種功能模塊結構圖。
具體實施方式
以下結合附圖對本發(fā)明實施例進行進一步詳細說明。
如圖1所示,本發(fā)明實施例的數據遷移方法是將物理主機中的數據遷移至移動介質,之后,可以將移動介質中的數據導入到云平臺的服務器,生成虛擬機,再將虛擬機配置給租戶。從而可以將物理主機中的數據遷移至云平臺,其中,數據可以包括物理主機上的操作系統、以及運行在操作系統上的應用軟件和數據。
其中,物理主機可以手持設備、車載設備、計算設備,以及各種形式的用戶設備,也可以是服務器。
移動介質可以是移動硬盤、u盤,或其他可以通過物理接口接入物理主機的裝置,物理接口可以是通用串行總線(universalserialbus,usb)接口。
云平臺是基于openstack等云計算管理平臺框架搭建的一套虛擬化多租戶環(huán)境,由多個服務器或分布式部署的服務器集群組成。租戶為使用云平臺的資源的用戶。
本發(fā)明實施例中的數據遷移方法可以適用于p2v熱遷移和冷遷移。下面結合圖2對本發(fā)明實施例中的數據遷移方法進行介紹。該數據遷移方法可以由物理主機的處理器執(zhí)行。
201、確定物理主機的基本信息;
將移動介質插入至物理主機后,物理主機的處理器對自身的基本信息進行掃描,確定物理主機的基本信息,其中,基本信息包括物理主機的內存大小、磁盤大小、網卡個數等信息。
202、根據所述基本信息在所述移動介質的存儲中創(chuàng)建鏡像文件;
處理器在確定物理主機的基本信息后,根據該基本信息在移動介質的存儲中創(chuàng)建鏡像文件,具體的,根據物理主機的內存大小、磁盤大小、網卡個數等信息創(chuàng)建與這些信息相匹配的鏡像文件,該鏡像文件用于后續(xù)創(chuàng)建虛擬機。
可選的,在移動介質插入物理主機后,物理主機的處理器加載移動介質的空閑分區(qū),并格式化所述空閑分區(qū),將該空閑分區(qū)作為被遷移數據的存儲空間,即處理器根據所述基本信息在移動介質的空閑分區(qū)創(chuàng)建所述鏡像文件。
203、讀取物理主機的待遷移數據;
其中,待遷移數據可以包括物理主機上的應用軟件和數據,還可以包括物理主機上運行的操作系統等數據。
讀取物理主機的待遷移數據的具體方式可以為:確定物理主機的數據盤位圖(具體是確定物理主機上除移動介質以外的其他數據盤位圖),讀取所述數據盤位圖對應的磁盤扇區(qū)數據,所述待遷移數據即為所述數據盤位圖對應的所述磁盤扇區(qū)數據。
204、將待遷移數據寫入所述鏡像文件。
在讀取物理主機的待遷移數據后,將待遷移數據寫入在移動介質中的存儲中創(chuàng)建的鏡像文件中。
可選的,在創(chuàng)建鏡像文件的同時,處理器還根據所述基本信息在移動介質的存儲中創(chuàng)建虛擬機的配置文件,所述配置文件和所述鏡像文件用于創(chuàng)建虛擬機。
本發(fā)明實施例中,是將移動介質通過物理接口連接至物理主機,先確定物理主機的基本信息,根據物理主機的基本信息在移動介質的存儲中創(chuàng)建虛擬機的鏡像文件,之后,讀取物理主機中的待遷移數據,將待遷移數據寫入所述鏡像文件,以便于后續(xù)根據該鏡像文件創(chuàng)建虛擬機。本發(fā)明實施例中的數據遷移方法是直接將物理主機中的數據讀取并寫入至移動介質中,且不需要通過網絡進行傳輸,遷移過程不受網絡質量的影響,因此能夠節(jié)省數據遷移的時間,能夠提高遷移效率。
在將物理主機上的數據遷移至移動介質后,將移動介質插入云平臺的服務器上,云平臺的服務器根據移動介質中的鏡像文件及配置文件創(chuàng)建虛擬機,該虛擬機中的數據即為物理主機上的數據,若物理主機遷移至移動介質的鏡像文件中包括操作系統、,則該虛擬機的操作系統即與物理主機上的操作系統一致。
需要說明的是,處理器在執(zhí)行圖2所示的數據遷移方法時,具體可以是運行虛擬化平臺進行數據遷移,該虛擬化平臺可以安裝在移動介質中,也可以安裝在物理主機中。該虛擬化平臺可以是sangforasv等工具。
下面結合圖3,對處理器數據遷移方法進行介紹。
1、將移動介質插入被遷移的物理主機,將物理主機設置為從移動介質啟動,進入虛擬化平臺;
2、啟動p2v遷移流程,將存放待遷移數據的地址設置為本地移動介質的空閑分區(qū),或者將移動介質分區(qū)模擬成iscsi存儲,作為p2v遷移的數據存儲卷。
3、啟動數據遷移,將被遷移的物理主機的磁盤設置為被遷移的源數據區(qū),目的分區(qū)為移動介質的空閑分區(qū),開始遷移;整個遷移過程自動完成,只要插入移動介質重啟,就自動開始遷移。
遷移的具體處理過程包括:
301、讀取除移動介質外的其他數據盤位圖;
302、加載移動介質的空閑分區(qū),并格式化;
303、確定被遷移的物理主機的基本信息,如磁盤大小、網卡個數等信息;
304、根據被遷移的物理主機的基本信息創(chuàng)建鏡像文件以及虛擬機對應的配置文件;
305、讀取數據盤位圖相關的物理磁盤扇區(qū)數據;
306、將步驟305讀取的物理磁盤扇區(qū)數據寫入步驟304中創(chuàng)建的鏡像文件;
307、數據遷移完成。
之后,將移動介質插入云平臺的服務器,自動導入新建成虛擬機,并將虛擬機分配給對應的租戶。
通過上述流程,可以實際解決虛擬化集中管理遇到的數據遷移問題,同時能提供非常便捷的用戶體驗。
以上是對本發(fā)明例中的數據遷移方法進行的介紹,下面從功能模塊角度對本發(fā)明實施例中的數據遷移裝置進行介紹。
如圖4所示,本發(fā)明實施例中的數據遷移裝置包括:
信息確定單元401,用于確定物理主機的基本信息;
鏡像文件創(chuàng)建單元402,用于根據信息確定單元401中的基本信息在移動介質的存儲中創(chuàng)建鏡像文件;
數據讀取單元403,用于讀取物理主機的待遷移數據;
數據寫入單元404,用于將待遷移數據寫入鏡像文件創(chuàng)建單元402中創(chuàng)建的鏡像文件,其中,該鏡像文件用于創(chuàng)建虛擬機。
在一些具體的實施例中,該裝置還包括:加載單元405,用于加載移動介質的空閑分區(qū),并格式化該空閑分區(qū);所述鏡像文件創(chuàng)建單元402,具體用于根據基本信息在移動介質的空閑分區(qū)創(chuàng)建鏡像文件。
在一些具體的實施例中,數據讀取單元403,具體用于確定物理主機的數據盤位圖,讀取數據盤位圖對應的磁盤扇區(qū)數據,待遷移數據包括數據盤位圖對應的磁盤扇區(qū)數據。
在一些具體的實施例中,該裝置還包括:
配置文件創(chuàng)建單元406,用于根據基本信息在移動介質的存儲中創(chuàng)建虛擬機的配置文件,虛擬機的配置文件用于創(chuàng)建虛擬機。
在一些具體的實施例中,信息確定單元401,具體用于確定物理主機的基本信息,基本信息包括物理主機的內存大小、磁盤大小或網卡個數。
該裝置中的各單元之間的信息交互可以參閱上述方法實施例(圖1至圖3所示的實施例),本申請不做贅述。
需要說明的是,在上述實施例中,可以全部或部分地通過軟件、硬件、固件或者其任意組合來實現。當使用軟件實現時,可以全部或部分地以計算機程序產品的形式實現。
在本申請所提供的幾個實施例中,應該理解到,所揭露的系統,裝置和方法,可以通過其它的方式實現。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統,或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上。可以根據實際的需要選擇其中的部分或者全部單元來實現本實施例方案的目的。
另外,在本申請各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現,也可以采用軟件功能單元的形式實現。
所述集成的單元如果以軟件功能單元的形式實現并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本申請的技術方案本質上或者說對現有技術做出貢獻的部分或者該技術方案的全部或部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執(zhí)行本申請各個實施例所述方法的全部或部分步驟。而前述的存儲介質包括:u盤、移動硬盤、只讀存儲器(read-onlymemory,rom)、隨機存取存儲器(randomaccessmemory,ram)、磁碟或者光盤等各種可以存儲程序代碼的介質。
以上所述,以上實施例僅用以說明本申請的技術方案,而非對其限制;盡管參照前述實施例對本申請進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本申請各實施例技術方案的精神和范圍。