国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種虛擬機(jī)遷移方法及裝置、電子設(shè)備與流程

      文檔序號(hào):12719031閱讀:249來(lái)源:國(guó)知局
      一種虛擬機(jī)遷移方法及裝置、電子設(shè)備與流程

      本發(fā)明涉及虛擬機(jī)遷移技術(shù),尤其涉及一種虛擬機(jī)遷移方法及裝置、電子設(shè)備。



      背景技術(shù):

      許多企業(yè)、教育、醫(yī)療等機(jī)構(gòu)建設(shè)有自己的云桌面。資源池云數(shù)據(jù)中心在初期階段,基于成本易維護(hù)性以及方案的局限性等一系列因素,可能只選擇了一種較為成熟的虛擬化方案。而在中后期階段,在高性能以及解決方案優(yōu)化等各種需求驅(qū)動(dòng)下,需要全部或者選擇性的將部分原虛擬化平臺(tái)中的虛擬機(jī)遷移至新虛擬化平臺(tái)。這涉及到不同虛擬化平臺(tái)間虛擬機(jī)的遷移,目前存在的遷移方案是利用已有的遷移工具,將鏡像導(dǎo)出,進(jìn)行強(qiáng)制鏡像格式轉(zhuǎn)換,最后導(dǎo)入轉(zhuǎn)換后的磁盤鏡像,從而完成不同平臺(tái)間虛擬機(jī)遷移。

      由于已有遷移工具對(duì)虛擬機(jī)磁盤的每個(gè)鏡像文件只能做合并格式轉(zhuǎn)換,也就是說(shuō)虛擬機(jī)磁盤在鏡像格式轉(zhuǎn)換后每個(gè)磁盤對(duì)應(yīng)一個(gè)鏡像文件,每個(gè)磁盤最后是以一個(gè)鏡像的方式遷移至新虛擬化平臺(tái),無(wú)法保持原虛擬機(jī)磁盤鏡像文件在原虛擬化平臺(tái)的鏈?zhǔn)浇Y(jié)構(gòu)。



      技術(shù)實(shí)現(xiàn)要素:

      為解決上述技術(shù)問(wèn)題,本發(fā)明實(shí)施例提供了一種虛擬機(jī)遷移方法及裝置、電子設(shè)備。

      本發(fā)明實(shí)施例提供了一種虛擬機(jī)遷移方法,所述方法包括:

      在原虛擬化平臺(tái)中選擇出待遷移的虛擬機(jī);

      獲取所述虛擬機(jī)在所述原虛擬化平臺(tái)中的原磁盤節(jié)點(diǎn)鏈信息;

      根據(jù)所述原磁盤節(jié)點(diǎn)鏈信息,配置目標(biāo)磁盤節(jié)點(diǎn)鏈信息;

      基于所述目標(biāo)磁盤節(jié)點(diǎn)鏈信息,對(duì)所述虛擬機(jī)的原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件進(jìn)行轉(zhuǎn)換,以將所述虛擬機(jī)從所述原虛擬化平臺(tái)遷移至目標(biāo)虛擬化平臺(tái)。

      上述方案中,所述獲取所述虛擬機(jī)在所述原虛擬化平臺(tái)中的原磁盤節(jié)點(diǎn)鏈信息,包括:

      獲取所述虛擬機(jī)在所述原虛擬化平臺(tái)中的如下信息:原磁盤節(jié)點(diǎn)鏈中的文件數(shù)目、原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的格式、原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的存儲(chǔ)路徑、原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系。

      上述方案中,所述根據(jù)所述原磁盤節(jié)點(diǎn)鏈信息,配置目標(biāo)磁盤節(jié)點(diǎn)鏈信息,包括:

      根據(jù)所述原磁盤節(jié)點(diǎn)鏈信息,配置如下信息:目標(biāo)磁盤節(jié)點(diǎn)鏈中的文件數(shù)目、目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的格式、目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的存儲(chǔ)路徑、目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系。

      上述方案中,根據(jù)所述原磁盤節(jié)點(diǎn)鏈信息,配置所述目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系,包括:

      如果需要對(duì)原磁盤節(jié)點(diǎn)鏈中的至少兩個(gè)文件進(jìn)行合并,則確定待合并的對(duì)象,并將所述待合并的對(duì)象合并成目標(biāo)磁盤節(jié)點(diǎn)鏈中的一個(gè)文件;

      基于所述原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系以及所述合并后的文件,建立所述目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系。

      上述方案中,根據(jù)所述原磁盤節(jié)點(diǎn)鏈信息,配置所述目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系,包括:

      如果不需要對(duì)原磁盤節(jié)點(diǎn)鏈中的文件進(jìn)行合并,則將所述原磁盤節(jié)點(diǎn)鏈中的所述文件作為目標(biāo)磁盤節(jié)點(diǎn)鏈中的一個(gè)文件;

      基于所述原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系,建立所述目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系。

      上述方案中,所述原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的存儲(chǔ)路徑對(duì)應(yīng)第一存儲(chǔ)系統(tǒng)中的存儲(chǔ)區(qū)域;所述目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的存儲(chǔ)路徑對(duì)應(yīng)第二存儲(chǔ)系統(tǒng)中的存儲(chǔ)區(qū)域;其中,所述第一存儲(chǔ)系統(tǒng)與所述第二存儲(chǔ)系統(tǒng)相同或不同。

      上述方案中,所述基于所述目標(biāo)磁盤節(jié)點(diǎn)鏈信息,對(duì)所述虛擬機(jī)的原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件進(jìn)行轉(zhuǎn)換,以將所述虛擬機(jī)從所述原虛擬化平臺(tái)遷移至目標(biāo)虛擬化平臺(tái),包括:

      根據(jù)所述目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的格式,對(duì)所述虛擬機(jī)的原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件進(jìn)行格式轉(zhuǎn)換;

      如果需要對(duì)原磁盤節(jié)點(diǎn)鏈中的至少兩個(gè)文件進(jìn)行合并,則確定待合并的對(duì)象,并將所述待合并的對(duì)象經(jīng)格式轉(zhuǎn)換后合并成目標(biāo)磁盤節(jié)點(diǎn)鏈中的一個(gè)文件;

      如果不需要對(duì)原磁盤節(jié)點(diǎn)鏈中的文件進(jìn)行合并,則將所述原磁盤節(jié)點(diǎn)鏈中的所述文件經(jīng)格式轉(zhuǎn)換后作為目標(biāo)磁盤節(jié)點(diǎn)鏈中的一個(gè)文件;

      根據(jù)所述目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的存儲(chǔ)路徑,對(duì)目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件進(jìn)行存儲(chǔ),以將所述虛擬機(jī)從所述原虛擬化平臺(tái)遷移至目標(biāo)虛擬化平臺(tái)。

      上述方案中,所述方法還包括:

      配置目標(biāo)磁盤節(jié)點(diǎn)鏈信息完成后,計(jì)算所述虛擬機(jī)的原磁盤節(jié)點(diǎn)鏈中的全部文件的轉(zhuǎn)換時(shí)間;

      如果所述轉(zhuǎn)換時(shí)間滿足預(yù)設(shè)條件,則對(duì)所述虛擬機(jī)的原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件進(jìn)行轉(zhuǎn)換,以將所述虛擬機(jī)從所述原虛擬化平臺(tái)遷移至目標(biāo)虛擬化平臺(tái)。

      本發(fā)明實(shí)施例還提供了一種虛擬機(jī)遷移裝置,所述裝置包括:

      選擇單元,用于在原虛擬化平臺(tái)中選擇出待遷移的虛擬機(jī);

      獲取單元,用于獲取所述虛擬機(jī)在所述原虛擬化平臺(tái)中的原磁盤節(jié)點(diǎn)鏈信息;

      配置單元,用于根據(jù)所述原磁盤節(jié)點(diǎn)鏈信息,配置目標(biāo)磁盤節(jié)點(diǎn)鏈信息;

      轉(zhuǎn)換單元,用于基于所述目標(biāo)磁盤節(jié)點(diǎn)鏈信息,對(duì)所述虛擬機(jī)的原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件進(jìn)行轉(zhuǎn)換,以將所述虛擬機(jī)從所述原虛擬化平臺(tái)遷移至目標(biāo)虛擬化平臺(tái)。

      上述方案中,所述獲取單元,具體用于:獲取所述虛擬機(jī)在所述原虛擬化平臺(tái)中的如下信息:原磁盤節(jié)點(diǎn)鏈中的文件數(shù)目、原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的格式、原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的存儲(chǔ)路徑、原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系。

      上述方案中,所述配置單元,具體用于:根據(jù)所述原磁盤節(jié)點(diǎn)鏈信息,配置如下信息:目標(biāo)磁盤節(jié)點(diǎn)鏈中的文件數(shù)目、目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的格式、目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的存儲(chǔ)路徑、目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系。

      上述方案中,所述配置單元,具體用于:如果需要對(duì)原磁盤節(jié)點(diǎn)鏈中的至少兩個(gè)文件進(jìn)行合并,則確定待合并的對(duì)象,并將所述待合并的對(duì)象合并成目標(biāo)磁盤節(jié)點(diǎn)鏈中的一個(gè)文件;基于所述原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系以及所述合并后的文件,建立所述目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系。

      上述方案中,所述配置單元,具體用于:如果不需要對(duì)原磁盤節(jié)點(diǎn)鏈中的文件進(jìn)行合并,則將所述原磁盤節(jié)點(diǎn)鏈中的所述文件作為目標(biāo)磁盤節(jié)點(diǎn)鏈中的一個(gè)文件;基于所述原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系,建立所述目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系。

      上述方案中,所述原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的存儲(chǔ)路徑對(duì)應(yīng)第一存儲(chǔ)系統(tǒng)中的存儲(chǔ)區(qū)域;所述目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的存儲(chǔ)路徑對(duì)應(yīng)第二存儲(chǔ)系統(tǒng)中的存儲(chǔ)區(qū)域;其中,所述第一存儲(chǔ)系統(tǒng)與所述第二存儲(chǔ)系統(tǒng)相同或不同。

      上述方案中,所述轉(zhuǎn)換單元,具體用于:根據(jù)所述目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的格式,對(duì)所述虛擬機(jī)的原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件進(jìn)行格式轉(zhuǎn)換;如果需要對(duì)原磁盤節(jié)點(diǎn)鏈中的至少兩個(gè)文件進(jìn)行合并,則確定待合并的對(duì)象,并將所述待合并的對(duì)象經(jīng)格式轉(zhuǎn)換后合并成目標(biāo)磁盤節(jié)點(diǎn)鏈中的一個(gè)文件;如果不需要對(duì)原磁盤節(jié)點(diǎn)鏈中的文件進(jìn)行合并,則將所述原磁盤節(jié)點(diǎn)鏈中的所述文件經(jīng)格式轉(zhuǎn)換后作為目標(biāo)磁盤節(jié)點(diǎn)鏈中的一個(gè)文件;根據(jù)所述目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的存儲(chǔ)路徑,對(duì)目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件進(jìn)行存儲(chǔ),以將所述虛擬機(jī)從所述原虛擬化平臺(tái)遷移至目標(biāo)虛擬化平臺(tái)。

      上述方案中,所述裝置還包括:

      計(jì)算單元,用于配置目標(biāo)磁盤節(jié)點(diǎn)鏈信息完成后,計(jì)算所述虛擬機(jī)的原磁盤節(jié)點(diǎn)鏈中的全部文件的轉(zhuǎn)換時(shí)間;

      所述轉(zhuǎn)換單元,具體用于:如果所述轉(zhuǎn)換時(shí)間滿足預(yù)設(shè)條件,則對(duì)所述虛擬機(jī)的原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件進(jìn)行轉(zhuǎn)換,以將所述虛擬機(jī)從所述原虛擬化平臺(tái)遷移至目標(biāo)虛擬化平臺(tái)。

      本發(fā)明實(shí)施例又提供了一種電子設(shè)備,其特征在于,所述電子設(shè)備包括處理器和存儲(chǔ)器,所述存儲(chǔ)器中存儲(chǔ)有計(jì)算機(jī)程序指令,當(dāng)所述處理器執(zhí)行所述計(jì)算機(jī)程序指令時(shí),所述處理器用于執(zhí)行上面所述任意一種虛擬機(jī)遷移方法。

      本發(fā)明實(shí)施例的技術(shù)方案中,在原虛擬化平臺(tái)中選擇出待遷移的虛擬機(jī);獲取所述虛擬機(jī)在所述原虛擬化平臺(tái)中的原磁盤節(jié)點(diǎn)鏈信息;根據(jù)所述原磁盤節(jié)點(diǎn)鏈信息,配置目標(biāo)磁盤節(jié)點(diǎn)鏈信息;基于所述目標(biāo)磁盤節(jié)點(diǎn)鏈信息,對(duì)所述虛擬機(jī)的原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件進(jìn)行轉(zhuǎn)換,以將所述虛擬機(jī)從所述原虛擬化平臺(tái)遷移至目標(biāo)虛擬化平臺(tái)。采用本發(fā)明實(shí)施例的技術(shù)方案,在虛擬機(jī)實(shí)現(xiàn)跨虛擬化平臺(tái)遷移時(shí),基于增量差分快照技術(shù)所形成的鏈?zhǔn)浇Y(jié)構(gòu)在遷移后的目標(biāo)虛擬化平臺(tái)仍可以保留,不受遷移影響。

      附圖說(shuō)明

      附圖以示例而非限制的方式大體示出了本文中所討論的各個(gè)實(shí)施例。

      圖1為現(xiàn)有和改造后的差分鏡像格式轉(zhuǎn)換方式對(duì)比示意圖;

      圖2為現(xiàn)有虛擬機(jī)遷移方案示意圖;

      圖3為保持鏈?zhǔn)疥P(guān)系的虛擬機(jī)遷移方案示意圖;

      圖4為XEN平臺(tái)到KVM平臺(tái)遷移前后虛擬機(jī)鏡像在存儲(chǔ)上的分布對(duì)比圖;

      圖5為本發(fā)明實(shí)施例的虛擬機(jī)遷移方法的流程示意圖;

      圖6為不同平臺(tái)相同存儲(chǔ)保持鏈?zhǔn)竭w移圖;

      圖7為不同平臺(tái)不同存儲(chǔ)保持鏈?zhǔn)竭w移圖;

      圖8為不同平臺(tái)不同存儲(chǔ)靈活配置合并節(jié)點(diǎn)遷移圖;

      圖9為本發(fā)明實(shí)施例的虛擬機(jī)遷移裝置的結(jié)構(gòu)組成示意圖。

      具體實(shí)施方式

      為了能夠更加詳盡地了解本發(fā)明實(shí)施例的特點(diǎn)與技術(shù)內(nèi)容,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例的實(shí)現(xiàn)進(jìn)行詳細(xì)闡述,所附附圖僅供參考說(shuō)明之用,并非用來(lái)限定本發(fā)明實(shí)施例。

      虛擬機(jī)遷移如果無(wú)法保持原虛擬機(jī)磁盤鏡像文件在原虛擬化平臺(tái)的鏈?zhǔn)浇Y(jié)構(gòu),這對(duì)于1:N模式虛擬機(jī),在遷移之后會(huì)帶來(lái)以下問(wèn)題:(1)基于磁盤增量快照技術(shù)的諸如冰點(diǎn)還原,鏈?zhǔn)娇寺〉绕渌嚓P(guān)功能在新老虛擬化平臺(tái)虛擬機(jī)遷移割接后,由于文件鏈的關(guān)系結(jié)構(gòu)變化都無(wú)法再正常使用;(2)打亂了虛擬機(jī)鏡像文件在存儲(chǔ)上面的分布,造成虛擬機(jī)鏡像文件在高速固態(tài)硬盤(SSD,Solid State Drives)和低速盤的分布不合理;(3)對(duì)于承載鏡像的存儲(chǔ)也需要遷移的情況,無(wú)法根據(jù)鏡像節(jié)點(diǎn)在原存儲(chǔ)上的分布決定哪些節(jié)點(diǎn)做合并遷移,哪些節(jié)點(diǎn)保留鏈?zhǔn)浇Y(jié)構(gòu)遷移,因而無(wú)法對(duì)原鏡像節(jié)點(diǎn)靈活配置對(duì)應(yīng)的目標(biāo)存儲(chǔ)庫(kù);(4)以往的遷移方案都需要在新平臺(tái)重新構(gòu)造新虛擬機(jī)磁盤鏡像文件管理數(shù)據(jù),在管理系統(tǒng)上重建虛擬機(jī),來(lái)導(dǎo)入上傳到新平臺(tái)的原虛擬機(jī)合并后的鏡像,遷移過(guò)程繁瑣,耗時(shí)耗力。

      本發(fā)明實(shí)施例的技術(shù)方案,提供一種虛擬機(jī)遷移方法,利用改造后的差分鏡像格式轉(zhuǎn)換工具,來(lái)實(shí)現(xiàn)不同虛擬化平臺(tái)之間的保持鏡像鏈?zhǔn)疥P(guān)系的虛擬機(jī)遷移。

      圖1為原有和改造后的差分鏡像格式轉(zhuǎn)換方式的對(duì)比圖,如圖1所示,對(duì)于帶有增量差分鏡像的鏈?zhǔn)教摂M機(jī),其鏡像磁盤節(jié)點(diǎn)鏈從父節(jié)點(diǎn)到子節(jié)點(diǎn)依次為:grandpa.vhd、parent.vhd、son.vhd;其中,grandpa.vhd和parent.vhd的文件屬性為只讀,son.vhd的文件屬性為可讀寫。按照原有遷移工具對(duì)虛擬機(jī)的磁盤文件鏈做格式轉(zhuǎn)換后,父節(jié)點(diǎn)和子節(jié)點(diǎn)合并為一個(gè)鏡像節(jié)點(diǎn),即grandpa_parent_son.qcow2,這樣便改變了原有的鏈?zhǔn)疥P(guān)系。而利用改造后的img-convert轉(zhuǎn)換工具,對(duì)文件做逐級(jí)轉(zhuǎn)換后,在目標(biāo)KVM平臺(tái)上該虛擬機(jī)的磁盤節(jié)點(diǎn)鏈的鏈?zhǔn)疥P(guān)系保持為從父節(jié)點(diǎn)到子節(jié)點(diǎn)為:grandpa.qcow2、parent.qcow2、son.qcow2的鏈?zhǔn)浇Y(jié)構(gòu),這樣,虛擬機(jī)在原XEN平臺(tái)基于增量差分技術(shù)的所有功能都可以原封不動(dòng)的在目標(biāo)KVM平臺(tái)繼續(xù)使用。

      圖2為不保持鏈?zhǔn)疥P(guān)系的虛擬機(jī)遷移架構(gòu)圖,如圖2所示,不保持鏈?zhǔn)疥P(guān)系對(duì)虛擬機(jī)進(jìn)行遷移后,所有虛擬機(jī)的磁盤節(jié)點(diǎn)鏈均融合為一個(gè)節(jié)點(diǎn)。圖3為保持鏈?zhǔn)疥P(guān)系的虛擬機(jī)遷移架構(gòu)圖,如圖3所示,保持鏈?zhǔn)疥P(guān)系對(duì)虛擬機(jī)進(jìn)行遷移后,所有虛擬機(jī)的磁盤節(jié)點(diǎn)鏈除了節(jié)點(diǎn)的格式變化為qcow2外,其磁盤節(jié)點(diǎn)鏈沒(méi)有發(fā)生任何改變,這樣,虛擬機(jī)在原有方案和新方案遷移前后其在存儲(chǔ)上的分布有所不同。

      如圖4所示,虛擬機(jī)在新方案遷移前后其鏡像在存儲(chǔ)上的分層排布不變,處于公共讀位置的根節(jié)點(diǎn)依然可以在價(jià)格昂貴的高速盤上,而虛擬機(jī)自身獨(dú)自的葉子節(jié)點(diǎn)放在低速SAS盤上,這樣既保證了性能,又可以降低成本。而虛擬機(jī)在原有方案遷移前后其鏡像在存儲(chǔ)上的分層排布完全改變,虛擬機(jī)的磁盤節(jié)點(diǎn)鏈已經(jīng)融合為一個(gè)節(jié)點(diǎn),也即虛擬機(jī)要么放在高速但是價(jià)格昂貴的SSD盤上,要么放在廉價(jià)但是速度相對(duì)慢的SAS盤上,無(wú)法做到性能與成本的兼顧。

      本發(fā)明實(shí)施例的虛擬機(jī)遷移方法,能夠靈活保持磁盤節(jié)點(diǎn)的鏈?zhǔn)疥P(guān)系,且?guī)в锌梢暬渲孟到y(tǒng),以下為本發(fā)明實(shí)施例的技術(shù)方案的詳細(xì)闡述:

      1.選擇虛擬機(jī):首先根據(jù)用戶需要自行選擇需要做虛擬化平臺(tái)切換的虛擬機(jī),可根據(jù)需要瀏覽該虛擬機(jī)的基本信息,如虛擬機(jī)的可擴(kuò)展標(biāo)記語(yǔ)言(XML,eXtensible Markup Language)配置、磁盤節(jié)點(diǎn)鏈等相關(guān)詳細(xì)信息。

      2.轉(zhuǎn)換配置:然后系統(tǒng)自動(dòng)列出原虛擬機(jī)的磁盤鏡像格式(也即文件格式)、節(jié)點(diǎn)間的鏈?zhǔn)疥P(guān)系、以及每個(gè)節(jié)點(diǎn)的大小和具體路徑等信息,通過(guò)對(duì)遷移后的磁盤鏡像格式、節(jié)點(diǎn)個(gè)數(shù)、節(jié)點(diǎn)間的鏈?zhǔn)疥P(guān)系、節(jié)點(diǎn)合并以及存儲(chǔ)路徑做配置,來(lái)決定遷移后的磁盤鏡像節(jié)點(diǎn)鏈?zhǔn)浇Y(jié)構(gòu)及其在存儲(chǔ)上的分布。

      3.轉(zhuǎn)換評(píng)估:系統(tǒng)按照步驟2的轉(zhuǎn)換配置自行計(jì)算虛擬機(jī)的各個(gè)磁盤鏡像轉(zhuǎn)換所需的時(shí)間,以及判定目標(biāo)虛擬化平臺(tái)的存儲(chǔ)空間是否滿足條件,最終確定轉(zhuǎn)換評(píng)估結(jié)果。

      4.執(zhí)行轉(zhuǎn)換:根據(jù)轉(zhuǎn)換評(píng)估結(jié)果,選擇執(zhí)行或者取消轉(zhuǎn)換。

      圖5為本發(fā)明實(shí)施例的虛擬機(jī)遷移方法的流程示意圖,如圖5所示,所述方法包括:

      步驟501:在原虛擬化平臺(tái)中選擇出待遷移的虛擬機(jī)。

      步驟502:獲取所述虛擬機(jī)在所述原虛擬化平臺(tái)中的原磁盤節(jié)點(diǎn)鏈信息。

      本發(fā)明實(shí)施例中,所述獲取所述虛擬機(jī)在所述原虛擬化平臺(tái)中的原磁盤節(jié)點(diǎn)鏈信息,包括:

      獲取所述虛擬機(jī)在所述原虛擬化平臺(tái)中的如下信息:原磁盤節(jié)點(diǎn)鏈中的文件數(shù)目、原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的格式、原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的存儲(chǔ)路徑、原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系。

      步驟503:根據(jù)所述原磁盤節(jié)點(diǎn)鏈信息,配置目標(biāo)磁盤節(jié)點(diǎn)鏈信息。

      本發(fā)明實(shí)施例中,所述根據(jù)所述原磁盤節(jié)點(diǎn)鏈信息,配置目標(biāo)磁盤節(jié)點(diǎn)鏈信息,包括:

      根據(jù)所述原磁盤節(jié)點(diǎn)鏈信息,配置如下信息:目標(biāo)磁盤節(jié)點(diǎn)鏈中的文件數(shù)目、目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的格式、目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的存儲(chǔ)路徑、目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系。

      上述方案中,根據(jù)所述原磁盤節(jié)點(diǎn)鏈信息,配置所述目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系,包括:

      如果需要對(duì)原磁盤節(jié)點(diǎn)鏈中的至少兩個(gè)文件進(jìn)行合并,則確定待合并的對(duì)象,并將所述待合并的對(duì)象合并成目標(biāo)磁盤節(jié)點(diǎn)鏈中的一個(gè)文件;

      基于所述原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系以及所述合并后的文件,建立所述目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系。

      上述方案中,根據(jù)所述原磁盤節(jié)點(diǎn)鏈信息,配置所述目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系,包括:

      如果不需要對(duì)原磁盤節(jié)點(diǎn)鏈中的文件進(jìn)行合并,則將所述原磁盤節(jié)點(diǎn)鏈中的所述文件作為目標(biāo)磁盤節(jié)點(diǎn)鏈中的一個(gè)文件;

      基于所述原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系,建立所述目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系。

      步驟504:基于所述目標(biāo)磁盤節(jié)點(diǎn)鏈信息,對(duì)所述虛擬機(jī)的原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件進(jìn)行轉(zhuǎn)換,以將所述虛擬機(jī)從所述原虛擬化平臺(tái)遷移至目標(biāo)虛擬化平臺(tái)。

      本發(fā)明實(shí)施例中,所述原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的存儲(chǔ)路徑對(duì)應(yīng)第一存儲(chǔ)系統(tǒng)中的存儲(chǔ)區(qū)域;所述目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的存儲(chǔ)路徑對(duì)應(yīng)第二存儲(chǔ)系統(tǒng)中的存儲(chǔ)區(qū)域;其中,所述第一存儲(chǔ)系統(tǒng)與所述第二存儲(chǔ)系統(tǒng)相同或不同。

      本發(fā)明實(shí)施例中,所述基于所述目標(biāo)磁盤節(jié)點(diǎn)鏈信息,對(duì)所述虛擬機(jī)的原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件進(jìn)行轉(zhuǎn)換,以將所述虛擬機(jī)從所述原虛擬化平臺(tái)遷移至目標(biāo)虛擬化平臺(tái),包括:

      根據(jù)所述目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的格式,對(duì)所述虛擬機(jī)的原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件進(jìn)行格式轉(zhuǎn)換;

      如果需要對(duì)原磁盤節(jié)點(diǎn)鏈中的至少兩個(gè)文件進(jìn)行合并,則確定待合并的對(duì)象,并將所述待合并的對(duì)象經(jīng)格式轉(zhuǎn)換后合并成目標(biāo)磁盤節(jié)點(diǎn)鏈中的一個(gè)文件;

      如果不需要對(duì)原磁盤節(jié)點(diǎn)鏈中的文件進(jìn)行合并,則將所述原磁盤節(jié)點(diǎn)鏈中的所述文件經(jīng)格式轉(zhuǎn)換后作為目標(biāo)磁盤節(jié)點(diǎn)鏈中的一個(gè)文件;

      根據(jù)所述目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的存儲(chǔ)路徑,對(duì)目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件進(jìn)行存儲(chǔ),以將所述虛擬機(jī)從所述原虛擬化平臺(tái)遷移至目標(biāo)虛擬化平臺(tái)。

      本發(fā)明實(shí)施例中,配置目標(biāo)磁盤節(jié)點(diǎn)鏈信息完成后,計(jì)算所述虛擬機(jī)的原磁盤節(jié)點(diǎn)鏈中的全部文件的轉(zhuǎn)換時(shí)間;如果所述轉(zhuǎn)換時(shí)間滿足預(yù)設(shè)條件,則對(duì)所述虛擬機(jī)的原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件進(jìn)行轉(zhuǎn)換,以將所述虛擬機(jī)從所述原虛擬化平臺(tái)遷移至目標(biāo)虛擬化平臺(tái)。

      上述方案中,基于所述目標(biāo)磁盤節(jié)點(diǎn)鏈信息,對(duì)所述虛擬機(jī)的原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件進(jìn)行轉(zhuǎn)換,是通過(guò)本發(fā)明實(shí)施例的img-convert工具進(jìn)行轉(zhuǎn)換。img-convert工具對(duì)磁盤鏡像文件采用逐層轉(zhuǎn)換方式,將VHD文件逐級(jí)轉(zhuǎn)換為QCOW2文件,可以使文件格式轉(zhuǎn)換前后父子關(guān)系不變,達(dá)到保持差分鏡像鏈?zhǔn)疥P(guān)系的目的。

      其中,img-convert工具的技術(shù)原理闡述如下:(1)原鏡像文件校驗(yàn)并獲取基本信息:工具打開并解析參數(shù)中攜帶的轉(zhuǎn)換前的虛擬機(jī)磁盤鏡像文件的最末端葉子節(jié)點(diǎn)文件的元數(shù)據(jù)信息,獲取該節(jié)點(diǎn)的父節(jié)點(diǎn)信息,包括父節(jié)點(diǎn)的設(shè)備號(hào)、UUID、存放位置等;然后采用同樣的方法逐級(jí)遍歷并訪問(wèn)該虛擬機(jī)磁盤整個(gè)鏡像文件鏈的所有節(jié)點(diǎn),確保該鏡像文件鏈上的所有節(jié)點(diǎn)文件完整存在且元數(shù)據(jù)校驗(yàn)正常,同時(shí)獲取該磁盤的虛擬大小和各節(jié)點(diǎn)的實(shí)際大小等信息;(2)創(chuàng)建空數(shù)據(jù)區(qū)的目標(biāo)鏡像文件:根據(jù)參數(shù)中指定的轉(zhuǎn)換后目標(biāo)鏡像文件鏈的節(jié)點(diǎn)個(gè)數(shù),在對(duì)應(yīng)的目標(biāo)存儲(chǔ)庫(kù)上創(chuàng)建好相同虛擬機(jī)大小的qcow2格式的空數(shù)據(jù)區(qū)的鏡像文件,并修改各節(jié)點(diǎn)的qcow2元數(shù)據(jù)中的backing-file字段,維護(hù)好各節(jié)點(diǎn)間的父子關(guān)系;(3)節(jié)點(diǎn)格式轉(zhuǎn)換:從原鏡像最末端葉子節(jié)點(diǎn)開始,解析該節(jié)點(diǎn)文件的元數(shù)據(jù)信息,獲取該節(jié)點(diǎn)文件扇區(qū)分布信息,塊大小,BATMAP信息,BAT位置,BAT數(shù)量,數(shù)據(jù)校驗(yàn)信息;并根據(jù)BATMAP開始讀取該VHD鏡像文件中的有效數(shù)據(jù),并寫入到目標(biāo)的qcow2格式對(duì)應(yīng)節(jié)點(diǎn)文件的數(shù)據(jù)區(qū)中;對(duì)于在本節(jié)點(diǎn)文件中不存在的數(shù)據(jù)不再遍歷到其父節(jié)點(diǎn)進(jìn)行讀取,而直接返回讀取成功并繼續(xù);對(duì)于本節(jié)點(diǎn)中記錄的刪除的數(shù)據(jù)內(nèi)容,需要在目標(biāo)節(jié)點(diǎn)中同步生成基于qcow2格式扇區(qū)分布的刪除標(biāo)識(shí);數(shù)據(jù)在寫入到目標(biāo)節(jié)點(diǎn)后,完善目標(biāo)節(jié)點(diǎn)qcow2鏡像的元數(shù)據(jù)信息,更新有效數(shù)據(jù)分布和大小信息;(4)其中對(duì)于任意多個(gè)需要轉(zhuǎn)換并且合并的節(jié)點(diǎn)處理:從最下層的葉子節(jié)點(diǎn)開始,解析元數(shù)據(jù)信息后讀取有效數(shù)據(jù),并寫入到目標(biāo)的qcow2格式的對(duì)應(yīng)節(jié)點(diǎn)文件的數(shù)據(jù)區(qū)中;對(duì)于在本節(jié)點(diǎn)文件中不存在的數(shù)據(jù),往上遍歷到需要合并的最頂層文件節(jié)點(diǎn),如果遍歷的這幾個(gè)節(jié)點(diǎn)中各自有有效數(shù)據(jù),則需要寫入到目標(biāo)文件相應(yīng)的數(shù)據(jù)區(qū)中,同步實(shí)現(xiàn)合并操作;對(duì)于本節(jié)點(diǎn)中記錄的刪除的數(shù)據(jù)內(nèi)容,則無(wú)需往上遍歷,直接在目標(biāo)節(jié)點(diǎn)中同步生成基于qcow2格式扇區(qū)分布的刪除標(biāo)識(shí)。

      下面結(jié)合具體應(yīng)用場(chǎng)景對(duì)本發(fā)明實(shí)施例的方案作進(jìn)一步詳細(xì)描述。

      實(shí)施例一:虛擬機(jī)在同一廠商不同平臺(tái)相同存儲(chǔ)系統(tǒng)之間的遷移

      參照?qǐng)D6,本實(shí)施例對(duì)虛擬機(jī)從XEN平臺(tái)到KVM平臺(tái)割接遷移的流程步驟做詳盡闡述,本實(shí)施例為虛擬機(jī)在不同平臺(tái)同一存儲(chǔ)系統(tǒng)間的保持鏈?zhǔn)疥P(guān)系的遷移,包括:

      1)選擇虛擬機(jī):首先在原虛擬化平臺(tái)下選擇一臺(tái)需要做平臺(tái)遷移的虛擬機(jī),虛擬機(jī)名稱為testVM,通過(guò)界面提供的瀏覽按鈕,點(diǎn)擊后可以查看到該虛擬機(jī)的XML文件、磁盤等基本信息。

      2)轉(zhuǎn)換配置:然后系統(tǒng)自動(dòng)列出該虛擬機(jī)在原虛擬化平臺(tái)下的磁盤節(jié)點(diǎn)鏈信息,如本例中展示的虛擬機(jī)屬于鏈?zhǔn)教摂M機(jī),原磁盤節(jié)點(diǎn)鏈中含有4個(gè)文件,格式為VHD,文件實(shí)際大小從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)依次為40G,10G,5G,2G,列表同時(shí)展示出每個(gè)文件節(jié)點(diǎn)在存儲(chǔ)上的位置,公共根節(jié)點(diǎn)1位于原平臺(tái)的原存儲(chǔ)系統(tǒng)的s1存儲(chǔ)上,一般s1為高速存儲(chǔ)盤,節(jié)點(diǎn)具體路徑為/storage/s1/1.vhd,中間節(jié)點(diǎn)2,3以及葉子節(jié)點(diǎn)4均位于原存儲(chǔ)系統(tǒng)的s2存儲(chǔ)上,通常s2為低速盤,路徑為/storage/s2/2.vhd、/storage/s2/3.vhd、/storage/s2/4.vhd;根據(jù)所列信息,由用戶自行配置遷移后的磁盤鏡像節(jié)點(diǎn)鏈?zhǔn)浇Y(jié)構(gòu)及其在存儲(chǔ)上的分布,需要配置節(jié)點(diǎn)是否合并,以及遷移后的存儲(chǔ)庫(kù)。圖6配置參數(shù)示例遷移后目標(biāo)節(jié)點(diǎn)數(shù)仍為4,完全保持原有鏈?zhǔn)浇Y(jié)構(gòu),其中,根節(jié)點(diǎn)1由vhd格式轉(zhuǎn)換為qcow2格式后變?yōu)锳節(jié)點(diǎn)/storage/s1/A.qcow2,仍然作為虛擬機(jī)根節(jié)點(diǎn)放在原存儲(chǔ)系統(tǒng)的s1上,中間節(jié)點(diǎn)2,3轉(zhuǎn)換格式為qcow2分別變?yōu)?storage/s2/B.qcow2、/storage/s2/C.qcow2仍位于源存儲(chǔ)的s2上,即存儲(chǔ)保持不變,只做格式轉(zhuǎn)換,葉子節(jié)點(diǎn)4轉(zhuǎn)換后變?yōu)镈放在源存儲(chǔ)的s2上即/storage/s2/D.qcow2,指向其父節(jié)點(diǎn)C。

      3)轉(zhuǎn)換評(píng)估:系統(tǒng)自行計(jì)算按照2步配置信息所需轉(zhuǎn)換耗時(shí)間。

      4)執(zhí)行轉(zhuǎn)換:根據(jù)轉(zhuǎn)換評(píng)估結(jié)果,選擇執(zhí)行或者取消轉(zhuǎn)換。

      實(shí)施例二:虛擬機(jī)在同一廠商不同平臺(tái)不同存儲(chǔ)系統(tǒng)之間的遷移

      參照?qǐng)D7,本實(shí)施例對(duì)虛擬機(jī)從XEN平臺(tái)到KVM平臺(tái)割接遷移的流程步驟做詳盡闡述,本實(shí)施例為虛擬機(jī)在不同平臺(tái)不同存儲(chǔ)間的保持鏈?zhǔn)疥P(guān)系的遷移,包括:

      1)選擇虛擬機(jī):首先在原虛擬化平臺(tái)下選擇一臺(tái)需要做平臺(tái)遷移的虛擬機(jī),虛擬機(jī)名稱為testVM,通過(guò)界面提供的瀏覽按鈕,點(diǎn)擊后可以查看到該虛擬機(jī)XML文件,磁盤等基本信息。

      2)轉(zhuǎn)換配置:然后系統(tǒng)自動(dòng)列出該虛擬機(jī)在原平臺(tái)下的磁盤節(jié)點(diǎn)鏈信息,如本例中展示的虛擬機(jī)屬于鏈?zhǔn)教摂M機(jī),原磁盤節(jié)點(diǎn)鏈中含有4個(gè)文件,格式為VHD,文件實(shí)際大小從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)依次為40G,10G,5G,2G,列表同時(shí)展示出每個(gè)文件節(jié)點(diǎn)在存儲(chǔ)上的位置,公共根節(jié)點(diǎn)1位于原平臺(tái)原存儲(chǔ)類型的的s1存儲(chǔ)上,一般s1為高速存儲(chǔ)盤,節(jié)點(diǎn)具體路徑為/storage/s1/1.vhd,中間節(jié)點(diǎn)2,3以及葉子節(jié)點(diǎn)4均位于原存儲(chǔ)系統(tǒng)的s2存儲(chǔ)上,通常s2為低速盤,路徑為/storage/s2/2.vhd、/storage/s2/3.vhd、/storage/s2/4.vhd;根據(jù)所列信息,由用戶自行配置遷移后的磁盤鏡像節(jié)點(diǎn)鏈?zhǔn)浇Y(jié)構(gòu)及其在存儲(chǔ)上的分布,需要配置節(jié)點(diǎn)是否合并,以及遷移后的存儲(chǔ)庫(kù)。圖7配置參數(shù)示例遷移后目標(biāo)節(jié)點(diǎn)數(shù)仍為4完全保持原有鏈?zhǔn)浇Y(jié)構(gòu),其中,根節(jié)點(diǎn)1由vhd格式轉(zhuǎn)換為qcow2格式后變?yōu)锳節(jié)點(diǎn)/storage_dest/s1/A.qcow2,仍然作為虛擬機(jī)根節(jié)點(diǎn)放在目標(biāo)存儲(chǔ)系統(tǒng)的s1上,中間節(jié)點(diǎn)2,3轉(zhuǎn)換格式為qcow2變?yōu)锽、C,分別存放在目標(biāo)存儲(chǔ)的s2上,即/storage_dest/s2/B.qcow2、/storage_dest/s2/C.qcow2,葉子節(jié)點(diǎn)4轉(zhuǎn)換后變?yōu)镈放在目標(biāo)存儲(chǔ)的s2上即/storage_dest/s2/D.qcow2,指向其父節(jié)點(diǎn)C。

      3)轉(zhuǎn)換評(píng)估:系統(tǒng)自行計(jì)算按照2步配置信息所需轉(zhuǎn)換耗時(shí)間,以及從XEN平臺(tái)到KVM平臺(tái)遷移時(shí),目標(biāo)存儲(chǔ)storage_dest是否滿足條件。

      4)執(zhí)行轉(zhuǎn)換:根據(jù)轉(zhuǎn)換評(píng)估結(jié)果,選擇執(zhí)行或者取消轉(zhuǎn)換。

      實(shí)施例三:虛擬機(jī)在不同廠商不同平臺(tái)不同存儲(chǔ)系統(tǒng)之間的切換

      參照?qǐng)D8,本實(shí)施例對(duì)虛擬機(jī)從XEN平臺(tái)到KVM平臺(tái)割接遷移的流程步驟做詳盡闡述,本實(shí)施例為虛擬機(jī)在不同平臺(tái)不同存儲(chǔ)間的遷移,并且根據(jù)需要合并冗余的鏈?zhǔn)焦?jié)點(diǎn),做出指定目標(biāo)存儲(chǔ)庫(kù),指定哪些節(jié)點(diǎn)參與合并哪些節(jié)點(diǎn)保持鏈?zhǔn)降撵`活配置,包括:

      1)選擇虛擬機(jī):首先在原虛擬化平臺(tái)下選擇一臺(tái)需要做平臺(tái)遷移的虛擬機(jī),虛擬機(jī)名稱為testVM,通過(guò)界面提供的瀏覽按鈕,點(diǎn)擊后可以查看到該虛擬機(jī)XML文件,磁盤等基本信息。

      2)轉(zhuǎn)換配置:然后系統(tǒng)自動(dòng)列出該虛擬機(jī)在原平臺(tái)下的磁盤節(jié)點(diǎn)鏈信息,如本例中展示的虛擬機(jī)屬于鏈?zhǔn)教摂M機(jī),原磁盤節(jié)點(diǎn)鏈中含有4個(gè)文件,格式為VHD,文件實(shí)際大小從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)依次為40G,10G,5G,2G,列表同時(shí)展示出每個(gè)文件節(jié)點(diǎn)在存儲(chǔ)上的位置,公共根節(jié)點(diǎn)1位于原平臺(tái)原存儲(chǔ)類型的的s1存儲(chǔ)上,一般s1為高速存儲(chǔ)盤,節(jié)點(diǎn)具體路徑為/storage/s1/1.vhd,中間節(jié)點(diǎn)2,3以及葉子節(jié)點(diǎn)4均位于原存儲(chǔ)系統(tǒng)的s2存儲(chǔ)上,通常s2為低速盤,路徑為/storage/s2/2.vhd、/storage/s2/3.vhd、/storage/s2/4.vhd;根據(jù)所列信息,由用戶自行配置遷移后的磁盤鏡像節(jié)點(diǎn)鏈?zhǔn)浇Y(jié)構(gòu)及其在存儲(chǔ)上的分布,需要配置節(jié)點(diǎn)是否合并,以及遷移后的存儲(chǔ)庫(kù)。圖8配置參數(shù)示例遷移后目標(biāo)節(jié)點(diǎn)數(shù)為3,其中,根節(jié)點(diǎn)1由vhd格式轉(zhuǎn)換為qcow2格式后變?yōu)锳節(jié)點(diǎn)/storage_dest/s1/A.qcow2,仍然作為虛擬機(jī)根節(jié)點(diǎn)放在目標(biāo)存儲(chǔ)系統(tǒng)的s1上,而中間節(jié)點(diǎn)2,3轉(zhuǎn)換格式為qcow2合并成B節(jié)點(diǎn)放在目標(biāo)存儲(chǔ)的s2上/storage_dest/s2/B.qcow2,并指向根節(jié)點(diǎn)A,葉子節(jié)點(diǎn)4轉(zhuǎn)換后變?yōu)镃放在目標(biāo)存儲(chǔ)的s2上即/storage_dest/s2/C.qcow2,指向中間合并節(jié)點(diǎn)B。

      3)轉(zhuǎn)換評(píng)估:系統(tǒng)自行計(jì)算按照2步配置信息所需轉(zhuǎn)換耗時(shí)間,以及從XEN平臺(tái)到KVM平臺(tái)遷移時(shí),目標(biāo)存儲(chǔ)storage_dest是否滿足條件。

      4)執(zhí)行轉(zhuǎn)換:根據(jù)轉(zhuǎn)換評(píng)估結(jié)果,選擇執(zhí)行或者取消轉(zhuǎn)換。

      圖9為本發(fā)明實(shí)施例的虛擬機(jī)遷移裝置的結(jié)構(gòu)組成示意圖,如圖9所示,所述裝置包括:

      選擇單元901,用于在原虛擬化平臺(tái)中選擇出待遷移的虛擬機(jī);

      獲取單元902,用于獲取所述虛擬機(jī)在所述原虛擬化平臺(tái)中的原磁盤節(jié)點(diǎn)鏈信息;

      配置單元903,用于根據(jù)所述原磁盤節(jié)點(diǎn)鏈信息,配置目標(biāo)磁盤節(jié)點(diǎn)鏈信息;

      轉(zhuǎn)換單元904,用于基于所述目標(biāo)磁盤節(jié)點(diǎn)鏈信息,對(duì)所述虛擬機(jī)的原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件進(jìn)行轉(zhuǎn)換,以將所述虛擬機(jī)從所述原虛擬化平臺(tái)遷移至目標(biāo)虛擬化平臺(tái)。

      本發(fā)明實(shí)施例中,所述獲取單元902,具體用于:獲取所述虛擬機(jī)在所述原虛擬化平臺(tái)中的如下信息:原磁盤節(jié)點(diǎn)鏈中的文件數(shù)目、原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的格式、原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的存儲(chǔ)路徑、原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系。

      本發(fā)明實(shí)施例中,所述配置單元903,具體用于:根據(jù)所述原磁盤節(jié)點(diǎn)鏈信息,配置如下信息:目標(biāo)磁盤節(jié)點(diǎn)鏈中的文件數(shù)目、目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的格式、目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的存儲(chǔ)路徑、目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系。

      本發(fā)明實(shí)施例中,所述配置單元903,具體用于:如果需要對(duì)原磁盤節(jié)點(diǎn)鏈中的至少兩個(gè)文件進(jìn)行合并,則確定待合并的對(duì)象,并將所述待合并的對(duì)象合并成目標(biāo)磁盤節(jié)點(diǎn)鏈中的一個(gè)文件;基于所述原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系以及所述合并后的文件,建立所述目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系。

      本發(fā)明實(shí)施例中,所述配置單元903,具體用于:如果不需要對(duì)原磁盤節(jié)點(diǎn)鏈中的文件進(jìn)行合并,則將所述原磁盤節(jié)點(diǎn)鏈中的所述文件作為目標(biāo)磁盤節(jié)點(diǎn)鏈中的一個(gè)文件;基于所述原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系,建立所述目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的鏈?zhǔn)疥P(guān)系。

      本發(fā)明實(shí)施例中,所述原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的存儲(chǔ)路徑對(duì)應(yīng)第一存儲(chǔ)系統(tǒng)中的存儲(chǔ)區(qū)域;所述目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的存儲(chǔ)路徑對(duì)應(yīng)第二存儲(chǔ)系統(tǒng)中的存儲(chǔ)區(qū)域;其中,所述第一存儲(chǔ)系統(tǒng)與所述第二存儲(chǔ)系統(tǒng)相同或不同。

      本發(fā)明實(shí)施例中,所述轉(zhuǎn)換單元904,具體用于:根據(jù)所述目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的格式,對(duì)所述虛擬機(jī)的原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件進(jìn)行格式轉(zhuǎn)換;如果需要對(duì)原磁盤節(jié)點(diǎn)鏈中的至少兩個(gè)文件進(jìn)行合并,則確定待合并的對(duì)象,并將所述待合并的對(duì)象經(jīng)格式轉(zhuǎn)換后合并成目標(biāo)磁盤節(jié)點(diǎn)鏈中的一個(gè)文件;如果不需要對(duì)原磁盤節(jié)點(diǎn)鏈中的文件進(jìn)行合并,則將所述原磁盤節(jié)點(diǎn)鏈中的所述文件經(jīng)格式轉(zhuǎn)換后作為目標(biāo)磁盤節(jié)點(diǎn)鏈中的一個(gè)文件;根據(jù)所述目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件的存儲(chǔ)路徑,對(duì)目標(biāo)磁盤節(jié)點(diǎn)鏈中的各個(gè)文件進(jìn)行存儲(chǔ),以將所述虛擬機(jī)從所述原虛擬化平臺(tái)遷移至目標(biāo)虛擬化平臺(tái)。

      本發(fā)明實(shí)施例中,所述裝置還包括:

      計(jì)算單元905,用于配置目標(biāo)磁盤節(jié)點(diǎn)鏈信息完成后,計(jì)算所述虛擬機(jī)的原磁盤節(jié)點(diǎn)鏈中的全部文件的轉(zhuǎn)換時(shí)間;

      所述轉(zhuǎn)換單元904,具體用于:如果所述轉(zhuǎn)換時(shí)間滿足預(yù)設(shè)條件,則對(duì)所述虛擬機(jī)的原磁盤節(jié)點(diǎn)鏈中的各個(gè)文件進(jìn)行轉(zhuǎn)換,以將所述虛擬機(jī)從所述原虛擬化平臺(tái)遷移至目標(biāo)虛擬化平臺(tái)。

      本發(fā)明實(shí)施例可以根據(jù)需要對(duì)磁盤鏡像節(jié)點(diǎn)全部保持鏈?zhǔn)浇Y(jié)構(gòu),或者根據(jù)需要合并冗余的鏈?zhǔn)焦?jié)點(diǎn),具有靈活配置的自動(dòng)化特點(diǎn),同時(shí)適用跨廠商平臺(tái)切換,與跨存儲(chǔ)切換;在囊括現(xiàn)有遷移方式的基礎(chǔ)上很好的做拓展,從而最大限度的滿足現(xiàn)有虛擬機(jī)在不同平臺(tái)遷移的多樣化需求。

      本發(fā)明實(shí)施例提供的虛擬機(jī)遷移裝置是一種基于對(duì)鏡像文件做靈活的格式轉(zhuǎn)換,并且?guī)в锌梢暬渲玫奶摂M機(jī)跨平臺(tái)的遷移工具。該裝置至少具有以下優(yōu)勢(shì):(1)能夠?qū)崿F(xiàn)將VHD/VHDX格式的虛擬機(jī)鏡像文件,轉(zhuǎn)換成QCOW2格式的虛擬機(jī)鏡像文件,實(shí)現(xiàn)跨虛擬化平臺(tái)的虛擬機(jī)遷移;(2)能保證虛擬機(jī)的磁盤鏡像文件在平臺(tái)遷移前,基于增量差分快照技術(shù)所形成的鏈?zhǔn)浇Y(jié)構(gòu)在遷移后的新虛擬化平臺(tái)仍可以保留,不受遷移影響;(3)能靈活地根據(jù)用戶需要有選擇性的對(duì)鏈?zhǔn)浇Y(jié)構(gòu)的虛擬機(jī)磁盤鏡像文件鏈中的某幾個(gè)鏡像文件節(jié)點(diǎn)實(shí)現(xiàn)格式轉(zhuǎn)換并進(jìn)行合并,以靈活滿足新平臺(tái)對(duì)遷移后的鏡像文件的存儲(chǔ)分布要求;(4)對(duì)于承載虛擬機(jī)鏡像的存儲(chǔ)發(fā)生變化的情況下,能按照原鏡像節(jié)點(diǎn)在原存儲(chǔ)上的分布信息靈活配置對(duì)應(yīng)的目標(biāo)存儲(chǔ)庫(kù);(5)實(shí)現(xiàn)虛擬機(jī)的可視化配置自動(dòng)化遷移。

      本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,圖9所示的虛擬機(jī)遷移裝置中的各單元的實(shí)現(xiàn)功能可參照前述虛擬機(jī)遷移方法的相關(guān)描述而理解。

      本發(fā)明實(shí)施例還提供一種電子設(shè)備,該電子設(shè)備包括處理器和存儲(chǔ)器,所述存儲(chǔ)器中存儲(chǔ)有計(jì)算機(jī)程序指令,當(dāng)所述處理器執(zhí)行所述計(jì)算機(jī)程序指令時(shí),所述處理器用于執(zhí)行本發(fā)明實(shí)施例任意所述的虛擬機(jī)遷移方法。

      本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用硬件實(shí)施例、軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器和光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。

      本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。

      這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。

      這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。

      以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。

      當(dāng)前第1頁(yè)1 2 3 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1