虛擬機(jī)遷移方法和裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本申請(qǐng)涉及計(jì)算機(jī)領(lǐng)域,具體涉及虛擬機(jī)領(lǐng)域,尤其涉及虛擬機(jī)迀移方法和裝置。
【背景技術(shù)】
[0002]在云計(jì)算應(yīng)用中,對(duì)云計(jì)算平臺(tái)中的虛擬機(jī)進(jìn)行迀移是常用的功能。虛擬機(jī)中的數(shù)據(jù)通常采用全本地存儲(chǔ)模式即數(shù)據(jù)全部存儲(chǔ)于本地或全共享存儲(chǔ)模式即數(shù)據(jù)全部存儲(chǔ)于可多地訪問(wèn)的共享存儲(chǔ)設(shè)備上。當(dāng)采用全本地存儲(chǔ)模式時(shí),對(duì)虛擬機(jī)的迀移方式為拷貝本地?cái)?shù)據(jù)至目標(biāo)端。當(dāng)采用全共享存儲(chǔ)模式時(shí),對(duì)虛擬機(jī)的迀移方式為將共享存儲(chǔ)設(shè)備在目標(biāo)端進(jìn)行掛載。
[0003]然而,上述對(duì)虛擬機(jī)的迀移方式僅支持單一存儲(chǔ)模式的虛擬機(jī)的迀移,對(duì)于虛擬機(jī)中數(shù)據(jù)即包含本地?cái)?shù)據(jù)又包含共享存儲(chǔ)數(shù)據(jù)的虛擬機(jī),無(wú)法完成對(duì)該類型的虛擬機(jī)的迀移。
【發(fā)明內(nèi)容】
[0004]本申請(qǐng)?zhí)峁┝颂摂M機(jī)迀移方法和裝置,用于解決上述【背景技術(shù)】部分存在的技術(shù)問(wèn)題。
[0005]第一方面,本申請(qǐng)?zhí)峁┝颂摂M機(jī)迀移方法,該方法包括:接收對(duì)虛擬機(jī)的迀移請(qǐng)求,虛擬機(jī)的待迀移數(shù)據(jù)包括存儲(chǔ)于本地的本地?cái)?shù)據(jù)以及可被虛擬機(jī)多地訪問(wèn)的共享數(shù)據(jù);響應(yīng)于迀移請(qǐng)求,確定本地?cái)?shù)據(jù)以及共享數(shù)據(jù)各自對(duì)應(yīng)的迀移操作;執(zhí)行本地?cái)?shù)據(jù)以及共享數(shù)據(jù)對(duì)應(yīng)的迀移操作,以完成虛擬機(jī)的迀移。
[0006]第二方面,本申請(qǐng)?zhí)峁┝颂摂M機(jī)迀移裝置,該裝置包括:接收單元,配置用于接收對(duì)虛擬機(jī)的迀移請(qǐng)求,虛擬機(jī)的待迀移數(shù)據(jù)包括存儲(chǔ)于本地的本地?cái)?shù)據(jù)以及可被虛擬機(jī)多地訪問(wèn)的共享數(shù)據(jù);響應(yīng)單元,配置用于響應(yīng)于迀移請(qǐng)求,確定本地?cái)?shù)據(jù)以及共享數(shù)據(jù)各自對(duì)應(yīng)的迀移操作;執(zhí)行單元,配置用于執(zhí)行本地?cái)?shù)據(jù)以及共享數(shù)據(jù)對(duì)應(yīng)的迀移操作,以完成虛擬機(jī)的迀移。
[0007]本申請(qǐng)?zhí)峁┑奶摂M機(jī)迀移方法和裝置,通過(guò)接收對(duì)虛擬機(jī)的迀移請(qǐng)求,虛擬機(jī)的待迀移數(shù)據(jù)包括存儲(chǔ)于本地的本地?cái)?shù)據(jù)以及可被虛擬機(jī)多地訪問(wèn)的共享數(shù)據(jù);響應(yīng)于迀移請(qǐng)求,確定本地?cái)?shù)據(jù)以及共享數(shù)據(jù)各自對(duì)應(yīng)的迀移操作;執(zhí)行本地?cái)?shù)據(jù)以及共享數(shù)據(jù)對(duì)應(yīng)的迀移操作,以完成虛擬機(jī)的迀移。從而實(shí)現(xiàn)了對(duì)混合存儲(chǔ)模式即待迀移數(shù)據(jù)中既包含本地?cái)?shù)據(jù)又包含共享數(shù)據(jù)這一存儲(chǔ)模式的虛擬機(jī)的迀移。
【附圖說(shuō)明】
[0008]通過(guò)閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本申請(qǐng)的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
[0009]圖1是本申請(qǐng)可以應(yīng)用于其中的示例性系統(tǒng)架構(gòu)圖;
[0010]圖2示出了根據(jù)本申請(qǐng)的虛擬機(jī)迀移方法的一個(gè)實(shí)施例的流程圖;
[0011]圖3示出了已知技術(shù)中的虛擬機(jī)迀移的原理圖;
[0012]圖4示出了根據(jù)本申請(qǐng)的虛擬機(jī)迀移裝置的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
[0013]圖5示出了適于用來(lái)實(shí)現(xiàn)本申請(qǐng)實(shí)施例的終端設(shè)備或服務(wù)器的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0014]下面結(jié)合附圖和實(shí)施例對(duì)本申請(qǐng)作進(jìn)一步的詳細(xì)說(shuō)明??梢岳斫獾氖?,此處所描述的具體實(shí)施例僅僅用于解釋相關(guān)發(fā)明,而非對(duì)該發(fā)明的限定。另外還需要說(shuō)明的是,為了便于描述,附圖中僅示出了與有關(guān)發(fā)明相關(guān)的部分。
[0015]需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本申請(qǐng)。
[0016]請(qǐng)參考圖1,圖1示出了可以應(yīng)用本申請(qǐng)的虛擬機(jī)迀移方法和裝置的實(shí)施例的示例性系統(tǒng)架構(gòu)100。
[0017]如圖1所示,系統(tǒng)架構(gòu)100可以包括終端設(shè)備101、102、103,網(wǎng)絡(luò)104和服務(wù)器105。網(wǎng)絡(luò)104用以在終端設(shè)備101、102、103和服務(wù)器105之間提供傳輸鏈路的介質(zhì)。網(wǎng)絡(luò)104可以包括各種連接類型,例如有線、無(wú)線傳輸鏈路或者光纖電纜等等。
[0018]用戶可以使用終端設(shè)備101、102、103通過(guò)網(wǎng)絡(luò)104與服務(wù)器105交互,以接收或發(fā)送消息等。終端設(shè)備101、102、103上可以運(yùn)行有虛擬機(jī)等應(yīng)用。
[0019]終端設(shè)備101、102、103可以是具有顯示屏并且支持網(wǎng)絡(luò)通信的各種電子設(shè)備,包括但不限于智能手機(jī)、平板電腦、電子書閱讀器、MP3播放器(Moving Picture ExpertsGroup Aud1 Layer III,動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面3)、MP4 (Moving PictureExperts Group Aud1 Layer IV,動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面4)播放器、膝上型便攜計(jì)算機(jī)和臺(tái)式計(jì)算機(jī)等等。
[0020]服務(wù)器105可以是提供各種服務(wù)的服務(wù)器,例如對(duì)終端設(shè)備101、102、103上運(yùn)行的虛擬機(jī)提供迀移支持的服務(wù)器。服務(wù)器可以對(duì)接收到的虛擬機(jī)的迀移請(qǐng)求處理,對(duì)終端設(shè)備上運(yùn)行的虛擬機(jī)進(jìn)行迀移。
[0021]應(yīng)該理解,圖1中的終端設(shè)備、網(wǎng)絡(luò)和服務(wù)器的數(shù)目?jī)H僅是示意性的。根據(jù)實(shí)現(xiàn)需要,可以具有任意數(shù)目的終端設(shè)備、網(wǎng)絡(luò)和服務(wù)器。
[0022]請(qǐng)參考圖2,其示出了根據(jù)本申請(qǐng)的虛擬機(jī)迀移方法的一個(gè)實(shí)施例的流程200。本實(shí)施例所提供的虛擬機(jī)迀移方法可以由終端設(shè)備101、102、103或服務(wù)器105執(zhí)行,該方法包括以下步驟:
[0023]步驟201,接收對(duì)虛擬機(jī)的迀移請(qǐng)求,虛擬機(jī)的待迀移數(shù)據(jù)包括存儲(chǔ)于本地的本地?cái)?shù)據(jù)以及可被虛擬機(jī)多地訪問(wèn)的共享數(shù)據(jù)。
[0024]在本實(shí)施例中,虛擬機(jī)可以為運(yùn)行在物理機(jī)之上的采用虛擬化技術(shù)生成KVM、XEN、Hyper-V等類型的虛擬機(jī)。虛擬機(jī)可以配置有虛擬內(nèi)存、虛擬磁盤。在本實(shí)施例中,虛擬機(jī)對(duì)應(yīng)的待迀移數(shù)據(jù)可以存儲(chǔ)于本地,例如,存儲(chǔ)于虛擬機(jī)所在的物理機(jī)分配給虛擬機(jī)的虛擬內(nèi)存、虛擬磁盤上,相應(yīng)地,可以將存儲(chǔ)于本地的數(shù)據(jù)稱之為本地?cái)?shù)據(jù)。虛擬機(jī)的待迀移數(shù)據(jù)也可以存儲(chǔ)在共享存儲(chǔ)設(shè)備上(例如云服務(wù)器)上,可以將存儲(chǔ)于云服務(wù)器的數(shù)據(jù)稱之為共享數(shù)據(jù),虛擬機(jī)可以在多地通過(guò)云服務(wù)器提供的訪問(wèn)接口訪問(wèn)存儲(chǔ)在云服務(wù)器上的共享數(shù)據(jù)。在本實(shí)施例中,可以將虛擬機(jī)上與虛擬機(jī)運(yùn)行的操作系統(tǒng)相關(guān)聯(lián)的數(shù)據(jù)(也可稱之為系統(tǒng)盤數(shù)據(jù))存儲(chǔ)于本地,以及將虛擬機(jī)在運(yùn)行時(shí)所訪問(wèn)的數(shù)據(jù)(也可稱之為數(shù)據(jù)盤數(shù)據(jù))存儲(chǔ)于共享存儲(chǔ)設(shè)備上。可以將上述存儲(chǔ)方式稱之為混合存儲(chǔ)模式。
[0025]步驟202,響應(yīng)于迀移請(qǐng)求,確定本地?cái)?shù)據(jù)以及共享數(shù)據(jù)各自對(duì)應(yīng)的迀移操作。
[0026]在本實(shí)施例中,當(dāng)接收到迀移對(duì)虛擬機(jī)的迀移請(qǐng)求之后,可以響應(yīng)于迀移請(qǐng)求,進(jìn)一步確定待迀移數(shù)據(jù)中的本地?cái)?shù)據(jù)以及共享數(shù)據(jù)各自對(duì)應(yīng)的迀移操作。
[0027]在本實(shí)施例的一些可選地實(shí)現(xiàn)方式中,迀移操作包括:用于將待迀移數(shù)據(jù)拷貝至目標(biāo)端的拷貝操作、用于將待迀移數(shù)據(jù)對(duì)應(yīng)的存儲(chǔ)設(shè)備文件在目標(biāo)端進(jìn)行掛載的掛載操作。需要說(shuō)明的是,在本實(shí)施例中,存儲(chǔ)設(shè)備的含義可以是指設(shè)備文件。例如,在Linux操作系統(tǒng)中,硬件設(shè)備均對(duì)應(yīng)一個(gè)設(shè)備文件,對(duì)設(shè)備的讀取操作以及寫入操作均是通過(guò)對(duì)設(shè)備文件的讀取以及寫入進(jìn)行的。因此,在本實(shí)施例中,將存儲(chǔ)設(shè)備