中文字幕无码日韩视频无码三区

一種基于本地存儲的虛擬機遷移方法及系統與流程

文檔序號:11250692閱讀(du):407來(lai)源:國(guo)知(zhi)局
一種基于本地存儲的虛擬機遷移方法及系統與流程

本發明(ming)實施例涉(she)及虛(xu)擬機(ji)技(ji)術領域,尤其(qi)涉(she)及一種基于(yu)本地(di)存儲的虛(xu)擬機(ji)遷(qian)移方法及系統(tong)。



背景技術:

基(ji)于本地(di)(di)存儲的(de)(de)(de)虛擬(ni)機(ji)(ji)運行(xing)的(de)(de)(de)主宿主機(ji)(ji)上,一(yi)旦發(fa)生斷電、死機(ji)(ji)等運行(xing)故(gu)障,則該基(ji)于本地(di)(di)存儲的(de)(de)(de)虛擬(ni)機(ji)(ji)的(de)(de)(de)運行(xing)數據將全部(bu)喪失(shi),尤其是在(zai)(zai)通(tong)過虛擬(ni)機(ji)(ji)運行(xing)較多的(de)(de)(de)程序時,則對于使用者來說,無疑是極大(da)的(de)(de)(de)損失(shi)。在(zai)(zai)現(xian)有技(ji)術中,針(zhen)對基(ji)于本地(di)(di)存儲的(de)(de)(de)虛擬(ni)機(ji)(ji)的(de)(de)(de)遷(qian)移問題,還沒有一(yi)個(ge)較為有效,且能夠普及的(de)(de)(de)技(ji)術方案。



技術實現要素:

本發明實施例提供一(yi)種(zhong)基于本地(di)存儲的虛(xu)擬機遷移(yi)方法及系統(tong),以實現能夠快(kuai)速、準確的將虛(xu)擬機數據進行(xing)遷移(yi)備份的效果。

第(di)一方(fang)(fang)面,本發明(ming)實施例提供了一種基于本地存儲的虛擬機遷移方(fang)(fang)法,該方(fang)(fang)法包括:

確(que)(que)定(ding)虛擬(ni)機(ji)(ji)(ji)的(de)至少(shao)兩個(ge)(ge)宿(su)主機(ji)(ji)(ji),并確(que)(que)定(ding)其(qi)中一個(ge)(ge)為主宿(su)主機(ji)(ji)(ji),其(qi)余為從宿(su)主機(ji)(ji)(ji);并在確(que)(que)定(ding)的(de)所有宿(su)主機(ji)(ji)(ji)中建(jian)立所述(shu)虛擬(ni)機(ji)(ji)(ji)的(de)虛擬(ni)磁盤鏡(jing)像;

虛(xu)擬(ni)機在主(zhu)宿主(zhu)機上運行過(guo)程中(zhong),當(dang)檢測到虛(xu)擬(ni)機對虛(xu)擬(ni)磁盤進行更新時,將更新數據發(fa)送給所有所述從宿主(zhu)機;

在發(fa)生虛(xu)擬(ni)機(ji)(ji)遷(qian)移(yi)觸發(fa)事件時,確定至少(shao)一個從宿主機(ji)(ji)作為目的宿主機(ji)(ji),結合所述更新數(shu)據將所述虛(xu)擬(ni)機(ji)(ji)遷(qian)移(yi)至所述目的宿主機(ji)(ji)。

進一步的,所述確(que)(que)定至少兩個宿(su)主(zhu)機,并確(que)(que)定其中一個為主(zhu)宿(su)主(zhu)機,其余為從宿(su)主(zhu)機包括:

確(que)定至少兩個宿主機;

根據(ju)宿主機(ji)狀(zhuang)態確定一個(ge)主宿主機(ji),其余為從宿主機(ji);

其中(zhong),宿(su)主(zhu)機(ji)狀態包括宿(su)主(zhu)機(ji)負載、宿(su)主(zhu)機(ji)容量以及宿(su)主(zhu)機(ji)穩定性中(zhong)的至少一種。

進(jin)一步的,所述主(zhu)宿主(zhu)機包(bao)括主(zhu)磁(ci)盤更新(xin)代理(li)(li),所述從宿主(zhu)機包(bao)括從磁(ci)盤更新(xin)代理(li)(li);

相應的,

所述(shu)虛(xu)擬機(ji)(ji)在主(zhu)宿主(zhu)機(ji)(ji)上運行過(guo)程(cheng)中,當檢測到虛(xu)擬機(ji)(ji)對虛(xu)擬磁盤進行更(geng)新時,將更(geng)新數據發送(song)給所有所述(shu)從(cong)宿主(zhu)機(ji)(ji)包(bao)括:

虛擬機主宿(su)主機上運行過程中,當檢測到虛擬機對(dui)虛擬磁盤進行更新時,通過主磁盤更新代理將更新數據發送(song)至從磁盤更新代理;

通過(guo)所(suo)述從磁盤更(geng)新(xin)(xin)代(dai)理將所(suo)述更(geng)新(xin)(xin)數(shu)據應用至從宿主機(ji)(ji)的虛(xu)擬(ni)磁盤中(zhong),對從宿主機(ji)(ji)的虛(xu)擬(ni)磁盤鏡(jing)像(xiang)進行更(geng)新(xin)(xin),以確保從磁盤鏡(jing)像(xiang)和主磁盤鏡(jing)像(xiang)的內(nei)容同步更(geng)新(xin)(xin)。

進一步的,所(suo)述(shu)在發生虛擬機(ji)遷(qian)移觸發事件時,確定(ding)至(zhi)少(shao)一個從(cong)宿(su)主機(ji)作為目(mu)的宿(su)主機(ji),結(jie)合所(suo)述(shu)更新數(shu)據將所(suo)述(shu)虛擬機(ji)遷(qian)移至(zhi)所(suo)述(shu)目(mu)的宿(su)主機(ji),包括:

在發(fa)生(sheng)虛擬機(ji)遷移觸發(fa)事件時,確定(ding)至少一個從宿(su)主機(ji)作為目(mu)的宿(su)主機(ji);

當檢測(ce)所(suo)述(shu)主(zhu)宿主(zhu)機(ji)的(de)主(zhu)磁(ci)(ci)盤更(geng)新(xin)代(dai)(dai)理與(yu)所(suo)述(shu)目的(de)宿主(zhu)機(ji)的(de)從(cong)(cong)磁(ci)(ci)盤更(geng)新(xin)代(dai)(dai)理之間完成所(suo)述(shu)更(geng)新(xin)數據的(de)發送(song)與(yu)接收,并(bing)且從(cong)(cong)磁(ci)(ci)盤更(geng)新(xin)代(dai)(dai)理將更(geng)新(xin)數據全部(bu)應用到從(cong)(cong)宿主(zhu)機(ji)的(de)虛(xu)擬鏡像后(hou),啟動所(suo)述(shu)目的(de)宿主(zhu)機(ji)上的(de)虛(xu)擬機(ji)。

進一步的(de),通過數(shu)據流的(de)形式完成主磁盤更新(xin)(xin)代理至(zhi)從磁盤更新(xin)(xin)代理的(de)所述(shu)更新(xin)(xin)數(shu)據發送,相應的(de),

當檢測(ce)所(suo)述主(zhu)(zhu)宿(su)主(zhu)(zhu)機(ji)的(de)主(zhu)(zhu)磁盤(pan)更(geng)新(xin)代理(li)與所(suo)述目的(de)宿(su)主(zhu)(zhu)機(ji)的(de)從(cong)(cong)磁盤(pan)更(geng)新(xin)代理(li)之間完成(cheng)所(suo)述更(geng)新(xin)數據的(de)發送與接(jie)收,并且從(cong)(cong)磁盤(pan)更(geng)新(xin)代理(li)將更(geng)新(xin)數據全部應(ying)用到從(cong)(cong)宿(su)主(zhu)(zhu)機(ji)的(de)虛(xu)擬鏡像(xiang)后,啟動(dong)所(suo)述目的(de)宿(su)主(zhu)(zhu)機(ji)上的(de)虛(xu)擬機(ji),包括:

當檢(jian)測(ce)所述主宿(su)主機(ji)的(de)主磁盤(pan)更新(xin)代(dai)理(li)(li)與所述目(mu)(mu)的(de)宿(su)主機(ji)的(de)從(cong)磁盤(pan)更新(xin)代(dai)理(li)(li)之間(jian)完成所有的(de)數(shu)據流傳輸,并(bing)且從(cong)磁盤(pan)更新(xin)代(dai)理(li)(li)將更新(xin)數(shu)據全(quan)部(bu)應用到(dao)從(cong)宿(su)主機(ji)的(de)虛擬鏡(jing)像時,啟動所述目(mu)(mu)的(de)宿(su)主機(ji)上的(de)虛擬機(ji)。

第二方面,本發明實施例還(huan)提(ti)供了一種(zhong)基于(yu)本地存儲的(de)虛(xu)擬機遷移系(xi)(xi)統,該系(xi)(xi)統包括(kuo):

控制平臺(tai),用(yong)于(yu)確(que)定虛(xu)擬機的(de)至少兩個宿主機,確(que)定其中(zhong)一個為(wei)主宿主機,其余為(wei)從宿主機;并在確(que)定的(de)所有宿主機中(zhong)建立所述虛(xu)擬機的(de)虛(xu)擬磁盤(pan)鏡像;

主宿主機,用于運行(xing)虛(xu)擬(ni)(ni)機,當檢測到(dao)虛(xu)擬(ni)(ni)機對(dui)虛(xu)擬(ni)(ni)磁盤進行(xing)更(geng)新(xin)時,將更(geng)新(xin)數據(ju)發送給所(suo)有從(cong)宿主機;

從(cong)宿(su)(su)主(zhu)機(ji),用于在接收到所述(shu)更新數據時,對從(cong)宿(su)(su)主(zhu)機(ji)的(de)虛擬磁盤進行更新。

所(suo)(suo)述控制(zhi)平臺還用于:在發(fa)(fa)生虛擬機(ji)遷移觸發(fa)(fa)事件時,確定至少一(yi)個(ge)從(cong)宿(su)主(zhu)機(ji)作(zuo)為目的(de)宿(su)主(zhu)機(ji),結合所(suo)(suo)述更新數據將所(suo)(suo)述虛擬機(ji)遷移至所(suo)(suo)述目的(de)宿(su)主(zhu)機(ji)。

進一步的,所述控制(zhi)平臺,用(yong)(yong)于(yu)確(que)(que)定(ding)虛(xu)擬機(ji)(ji)的至少兩個宿(su)主機(ji)(ji),確(que)(que)定(ding)其(qi)中一個為主宿(su)主機(ji)(ji),其(qi)余為從宿(su)主機(ji)(ji),具體用(yong)(yong)于(yu):

確(que)定(ding)至少兩個宿主機(ji);

根(gen)據宿主機(ji)狀(zhuang)態確定一個(ge)主宿主機(ji),其余為從宿主機(ji);

其中,宿(su)主(zhu)機(ji)狀態包(bao)括(kuo)宿(su)主(zhu)機(ji)負(fu)載、宿(su)主(zhu)機(ji)容量以及宿(su)主(zhu)機(ji)穩定性(xing)中的(de)至少一種。

進一步(bu)的,所(suo)述(shu)主(zhu)宿主(zhu)機包括主(zhu)磁(ci)(ci)盤(pan)更新代理,所(suo)述(shu)從宿主(zhu)機包括從磁(ci)(ci)盤(pan)更新代理;

所(suo)述虛(xu)擬機(ji)在主宿(su)主機(ji)上運行(xing)(xing)過(guo)程(cheng)中(zhong),當檢測(ce)到(dao)虛(xu)擬機(ji)對虛(xu)擬磁(ci)盤(pan)(pan)進行(xing)(xing)更(geng)(geng)新(xin)時,通過(guo)主磁(ci)盤(pan)(pan)更(geng)(geng)新(xin)代(dai)(dai)理(li)將更(geng)(geng)新(xin)數據(ju)發送至從磁(ci)盤(pan)(pan)更(geng)(geng)新(xin)代(dai)(dai)理(li);

所(suo)述從(cong)磁盤更新(xin)代(dai)理(li)將所(suo)述更新(xin)數據應用至從(cong)宿(su)主機(ji)(ji)的(de)虛擬(ni)磁盤中,對從(cong)宿(su)主機(ji)(ji)的(de)虛擬(ni)磁盤鏡(jing)像(xiang)進行更新(xin),以確保從(cong)磁盤鏡(jing)像(xiang)和主磁盤鏡(jing)像(xiang)的(de)內(nei)容同步(bu)更新(xin)。

進一步的,所(suo)述控(kong)制平臺具體用于(yu):

在發生虛擬(ni)機(ji)(ji)遷移觸發事件(jian)時,確定至少一個從宿主機(ji)(ji)作為(wei)目的宿主機(ji)(ji);

當(dang)檢測所(suo)述(shu)(shu)主(zhu)(zhu)宿(su)主(zhu)(zhu)機(ji)(ji)的(de)(de)主(zhu)(zhu)磁盤(pan)更(geng)新(xin)代理與所(suo)述(shu)(shu)目的(de)(de)宿(su)主(zhu)(zhu)機(ji)(ji)的(de)(de)從磁盤(pan)更(geng)新(xin)代理之間完成所(suo)述(shu)(shu)更(geng)新(xin)數據的(de)(de)發送與接(jie)收,并(bing)且從磁盤(pan)更(geng)新(xin)代理將更(geng)新(xin)數據全部應用到從宿(su)主(zhu)(zhu)機(ji)(ji)的(de)(de)虛擬(ni)鏡像(xiang)后,啟動所(suo)述(shu)(shu)目的(de)(de)宿(su)主(zhu)(zhu)機(ji)(ji)上的(de)(de)虛擬(ni)機(ji)(ji)。

進一步的(de),通過(guo)數(shu)據流的(de)形式完成主磁(ci)盤更(geng)新代理至從磁(ci)盤更(geng)新代理的(de)所述更(geng)新數(shu)據發(fa)送;

相應的,

當檢測所述(shu)(shu)主(zhu)宿(su)主(zhu)機(ji)(ji)的(de)主(zhu)磁盤(pan)更新代(dai)(dai)理(li)與所述(shu)(shu)目的(de)宿(su)主(zhu)機(ji)(ji)的(de)從磁盤(pan)更新代(dai)(dai)理(li)之間完(wan)成所有的(de)數據流傳輸(shu),并且從磁盤(pan)更新代(dai)(dai)理(li)將更新數據全部應用到(dao)從宿(su)主(zhu)機(ji)(ji)的(de)虛擬(ni)鏡(jing)像(xiang)時,啟動所述(shu)(shu)目的(de)宿(su)主(zhu)機(ji)(ji)上的(de)虛擬(ni)機(ji)(ji)。

本(ben)發明(ming)實(shi)施例通過在虛(xu)(xu)(xu)(xu)擬(ni)(ni)(ni)機(ji)(ji)(ji)(ji)(ji)在主(zhu)(zhu)(zhu)宿(su)(su)主(zhu)(zhu)(zhu)機(ji)(ji)(ji)(ji)(ji)上運(yun)行的(de)(de)(de)過程中,對于檢(jian)測(ce)到的(de)(de)(de)虛(xu)(xu)(xu)(xu)擬(ni)(ni)(ni)機(ji)(ji)(ji)(ji)(ji)對虛(xu)(xu)(xu)(xu)擬(ni)(ni)(ni)磁(ci)盤的(de)(de)(de)更(geng)新向從(cong)宿(su)(su)主(zhu)(zhu)(zhu)機(ji)(ji)(ji)(ji)(ji)上發送并(bing)保(bao)存(cun),在發生宿(su)(su)主(zhu)(zhu)(zhu)機(ji)(ji)(ji)(ji)(ji)遷移觸發事件時,在從(cong)宿(su)(su)主(zhu)(zhu)(zhu)機(ji)(ji)(ji)(ji)(ji)中確(que)定一個目的(de)(de)(de)宿(su)(su)主(zhu)(zhu)(zhu)機(ji)(ji)(ji)(ji)(ji),并(bing)在該目的(de)(de)(de)宿(su)(su)主(zhu)(zhu)(zhu)機(ji)(ji)(ji)(ji)(ji)上的(de)(de)(de)虛(xu)(xu)(xu)(xu)擬(ni)(ni)(ni)磁(ci)盤鏡像的(de)(de)(de)基礎(chu)上,結合更(geng)新數據(ju)(ju),啟(qi)動(dong)(dong)虛(xu)(xu)(xu)(xu)擬(ni)(ni)(ni)機(ji)(ji)(ji)(ji)(ji),在虛(xu)(xu)(xu)(xu)擬(ni)(ni)(ni)機(ji)(ji)(ji)(ji)(ji)啟(qi)動(dong)(dong)后,直接同(tong)步于原來的(de)(de)(de)主(zhu)(zhu)(zhu)宿(su)(su)主(zhu)(zhu)(zhu)機(ji)(ji)(ji)(ji)(ji)上的(de)(de)(de)虛(xu)(xu)(xu)(xu)擬(ni)(ni)(ni)機(ji)(ji)(ji)(ji)(ji),解決了現有技(ji)術中,一旦主(zhu)(zhu)(zhu)宿(su)(su)主(zhu)(zhu)(zhu)機(ji)(ji)(ji)(ji)(ji)發生故障時,基于本(ben)地存(cun)儲的(de)(de)(de)虛(xu)(xu)(xu)(xu)擬(ni)(ni)(ni)機(ji)(ji)(ji)(ji)(ji)更(geng)新數據(ju)(ju)直接丟(diu)失、無法將虛(xu)(xu)(xu)(xu)擬(ni)(ni)(ni)機(ji)(ji)(ji)(ji)(ji)重現的(de)(de)(de)技(ji)術問題,以實(shi)現能夠(gou)快速、準確(que)的(de)(de)(de)將基于本(ben)地存(cun)儲的(de)(de)(de)虛(xu)(xu)(xu)(xu)擬(ni)(ni)(ni)機(ji)(ji)(ji)(ji)(ji)數據(ju)(ju)進行遷移的(de)(de)(de)效果。

附圖說明

圖(tu)1是本(ben)發明實施(shi)例一提供的(de)(de)基于本(ben)地存(cun)儲的(de)(de)虛擬機遷(qian)移方法的(de)(de)流程圖(tu);

圖(tu)2a是本發明(ming)實施(shi)例二(er)所(suo)適用的一種(zhong)結構示意圖(tu);

圖(tu)2b是本(ben)發明實(shi)施例(li)二提供的基(ji)于(yu)本(ben)地存儲的虛擬機遷移方(fang)法的流程圖(tu);

圖3是本發明實施例三提供的(de)(de)基于本地存儲(chu)的(de)(de)虛(xu)擬機遷移系統的(de)(de)結構示意圖。

具體實施方式

下(xia)面結(jie)合附(fu)圖和實施例對(dui)本發(fa)明(ming)(ming)(ming)作(zuo)進一步(bu)的(de)(de)詳細說明(ming)(ming)(ming)。可以理(li)解(jie)的(de)(de)是(shi),此處(chu)所描(miao)述的(de)(de)具(ju)體實施例僅(jin)僅(jin)用于解(jie)釋(shi)本發(fa)明(ming)(ming)(ming),而非對(dui)本發(fa)明(ming)(ming)(ming)的(de)(de)限定(ding)。另外還需(xu)要(yao)說明(ming)(ming)(ming)的(de)(de)是(shi),為了便(bian)于描(miao)述,附(fu)圖中(zhong)僅(jin)示出了與本發(fa)明(ming)(ming)(ming)相關(guan)的(de)(de)部分而非全部結(jie)構。

在(zai)(zai)更加詳細地討論示例(li)性實施例(li)之(zhi)前應當(dang)(dang)提到(dao)的是(shi),一些(xie)示例(li)性實施例(li)被描述成作為流程(cheng)(cheng)圖描繪(hui)的處(chu)理(li)(li)或(huo)方法。雖然流程(cheng)(cheng)圖將各(ge)步(bu)驟(zou)描述成順(shun)序(xu)(xu)的處(chu)理(li)(li),但是(shi)其中(zhong)的許(xu)多步(bu)驟(zou)可(ke)以(yi)(yi)(yi)(yi)被并(bing)行地、并(bing)發地或(huo)者同時(shi)實施。此外,各(ge)步(bu)驟(zou)的順(shun)序(xu)(xu)可(ke)以(yi)(yi)(yi)(yi)被重新安排。當(dang)(dang)其操作完成時(shi)所(suo)述處(chu)理(li)(li)可(ke)以(yi)(yi)(yi)(yi)被終止,但是(shi)還可(ke)以(yi)(yi)(yi)(yi)具有未(wei)包括在(zai)(zai)附圖中(zhong)的附加步(bu)驟(zou)。所(suo)述處(chu)理(li)(li)可(ke)以(yi)(yi)(yi)(yi)對(dui)應于(yu)方法、函數(shu)、規(gui)程(cheng)(cheng)、子例(li)程(cheng)(cheng)、子程(cheng)(cheng)序(xu)(xu)等(deng)(deng)等(deng)(deng)。

實施例一

圖1是本(ben)(ben)發明(ming)實(shi)(shi)施(shi)例(li)一提供的(de)(de)基于本(ben)(ben)地(di)(di)存(cun)儲(chu)(chu)的(de)(de)虛擬機(ji)(ji)遷移(yi)(yi)(yi)方法的(de)(de)流程圖,本(ben)(ben)實(shi)(shi)施(shi)例(li)可(ke)適用于基于本(ben)(ben)地(di)(di)存(cun)儲(chu)(chu)的(de)(de)虛擬機(ji)(ji)遷移(yi)(yi)(yi)的(de)(de)情況,該(gai)方法可(ke)以由本(ben)(ben)發明(ming)實(shi)(shi)施(shi)例(li)所提供的(de)(de)基于本(ben)(ben)地(di)(di)存(cun)儲(chu)(chu)的(de)(de)虛擬機(ji)(ji)遷移(yi)(yi)(yi)系統(tong)來執行,該(gai)系統(tong)可(ke)以由軟件和/或硬件的(de)(de)方式來實(shi)(shi)現。

如圖(tu)1所示,所述基于本地存儲的虛(xu)擬機(ji)遷移方法包括:

s110、確定虛(xu)(xu)擬機的(de)至少兩(liang)個宿主機,并(bing)(bing)確定其中(zhong)一個為主宿主機,其余為從(cong)宿主機;并(bing)(bing)在(zai)確定的(de)所有(you)宿主機中(zhong)建(jian)立所述(shu)虛(xu)(xu)擬機的(de)虛(xu)(xu)擬磁盤鏡像。

其中,主(zhu)(zhu)(zhu)宿(su)主(zhu)(zhu)(zhu)機(ji)(ji)(ji)是虛(xu)擬(ni)機(ji)(ji)(ji)運行的宿(su)主(zhu)(zhu)(zhu)機(ji)(ji)(ji),從宿(su)主(zhu)(zhu)(zhu)機(ji)(ji)(ji)是可以將虛(xu)擬(ni)機(ji)(ji)(ji)遷移至該機(ji)(ji)(ji)器的宿(su)主(zhu)(zhu)(zhu)機(ji)(ji)(ji)。

確定(ding)虛擬(ni)(ni)機(ji)(ji)(ji)的(de)(de)(de)至少兩個宿主(zhu)機(ji)(ji)(ji)的(de)(de)(de)時間,可(ke)以(yi)是(shi)在虛擬(ni)(ni)機(ji)(ji)(ji)運(yun)行(xing)前確定(ding),也可(ke)以(yi)在虛擬(ni)(ni)機(ji)(ji)(ji)運(yun)行(xing)過(guo)程中(zhong)確定(ding),本發(fa)明實施例優選(xuan)的(de)(de)(de)在虛擬(ni)(ni)機(ji)(ji)(ji)運(yun)行(xing)前確定(ding)宿主(zhu)機(ji)(ji)(ji)。另外,其中(zhong)的(de)(de)(de)至少兩個宿主(zhu)機(ji)(ji)(ji)可(ke)以(yi)是(shi)在同一(yi)局(ju)域(yu)網(wang)絡環境(jing)下(xia)的(de)(de)(de)機(ji)(ji)(ji)器(qi),也可(ke)以(yi)是(shi)在不(bu)同地點,連接不(bu)同網(wang)絡的(de)(de)(de)機(ji)(ji)(ji)器(qi),這樣(yang)設置的(de)(de)(de)好(hao)處是(shi)可(ke)以(yi)滿(man)足(zu)虛擬(ni)(ni)機(ji)(ji)(ji)異地遷(qian)移(yi)的(de)(de)(de)需(xu)求。如(ru),用戶可(ke)以(yi)在實驗(yan)室中(zhong)的(de)(de)(de)一(yi)個機(ji)(ji)(ji)器(qi)運(yun)行(xing)虛擬(ni)(ni)機(ji)(ji)(ji),在家中(zhong)的(de)(de)(de)另一(yi)臺機(ji)(ji)(ji)器(qi)作為從宿主(zhu)機(ji)(ji)(ji),這樣(yang)可(ke)以(yi)在實驗(yan)室中(zhong)虛擬(ni)(ni)機(ji)(ji)(ji)運(yun)行(xing)過(guo)程中(zhong)或(huo)者運(yun)行(xing)結束后(hou),將虛擬(ni)(ni)機(ji)(ji)(ji)遷(qian)移(yi)至家中(zhong)的(de)(de)(de)機(ji)(ji)(ji)器(qi),從而得到虛擬(ni)(ni)機(ji)(ji)(ji)運(yun)行(xing)的(de)(de)(de)數據。

至少(shao)兩個宿主(zhu)機的(de)(de)確(que)定方式可(ke)(ke)以(yi)是向控(kong)(kong)制平臺發送建組(zu)(zu)請求進行建組(zu)(zu)的(de)(de)方式,也(ye)可(ke)(ke)以(yi)由控(kong)(kong)制平臺根據(ju)當(dang)(dang)前局域(yu)網內的(de)(de)各(ge)個機器的(de)(de)運行情(qing)況來確(que)定。如,在一個實(shi)驗室(shi)中又六(liu)臺電(dian)腦,可(ke)(ke)以(yi)先提(ti)示(shi)用(yong)(yong)戶是否自(zi)主(zhu)選(xuan)擇主(zhu)宿主(zhu)機和(he)從宿主(zhu)機,如果用(yong)(yong)戶不自(zi)主(zhu)選(xuan)擇,則可(ke)(ke)以(yi)根據(ju)當(dang)(dang)前六(liu)臺電(dian)腦的(de)(de)運行情(qing)況來確(que)定,運行情(qing)況可(ke)(ke)以(yi)是cpu的(de)(de)使用(yong)(yong)率,可(ke)(ke)以(yi)選(xuan)擇當(dang)(dang)前cpu的(de)(de)使用(yong)(yong)率較(jiao)低的(de)(de)機器作為宿主(zhu)機。

在確(que)定的所有(you)宿主機中建(jian)立所述虛(xu)擬機的虛(xu)擬磁盤(pan)鏡(jing)像,其中,虛(xu)擬磁盤(pan)鏡(jing)像是虛(xu)擬機啟動(dong)一種虛(xu)擬鏡(jing)像,如無虛(xu)擬磁盤(pan)鏡(jing)像,則虛(xu)擬機無法啟動(dong)。

s120、虛(xu)擬機在(zai)主宿主機上運行過程中,當檢測到虛(xu)擬機對虛(xu)擬磁盤進(jin)行更新時,將(jiang)更新數據發(fa)送(song)給所有(you)所述從(cong)宿主機。

其中,在(zai)(zai)確(que)定(ding)主宿(su)(su)主機(ji)(ji)(ji)和從宿(su)(su)主機(ji)(ji)(ji)之后,可以在(zai)(zai)主宿(su)(su)主機(ji)(ji)(ji)上(shang)運(yun)(yun)行虛(xu)(xu)擬(ni)(ni)機(ji)(ji)(ji),虛(xu)(xu)擬(ni)(ni)機(ji)(ji)(ji)運(yun)(yun)行過程(cheng)(cheng)中,當檢測到虛(xu)(xu)擬(ni)(ni)機(ji)(ji)(ji)對(dui)虛(xu)(xu)擬(ni)(ni)磁(ci)(ci)(ci)盤進(jin)(jin)行寫(xie)、刪(shan)除(chu)以及運(yun)(yun)行某程(cheng)(cheng)序等更(geng)新(xin)(xin)(xin)操作(zuo)(zuo)時(shi),將更(geng)新(xin)(xin)(xin)數(shu)據(ju)發送至所有(you)從宿(su)(su)主機(ji)(ji)(ji)。如(ru)當在(zai)(zai)運(yun)(yun)行虛(xu)(xu)擬(ni)(ni)機(ji)(ji)(ji)過程(cheng)(cheng)中,刪(shan)除(chu)了(le)虛(xu)(xu)擬(ni)(ni)機(ji)(ji)(ji)當中的(de)某個文(wen)件(jian)(jian),對(dui)應于(yu)虛(xu)(xu)擬(ni)(ni)磁(ci)(ci)(ci)盤的(de)更(geng)新(xin)(xin)(xin)操作(zuo)(zuo)是(shi)將虛(xu)(xu)擬(ni)(ni)磁(ci)(ci)(ci)盤上(shang)保存該文(wen)件(jian)(jian)的(de)inode節(jie)(jie)點的(de)block(通常(chang)512字節(jie)(jie)大小)清零,則(ze)可以以“將虛(xu)(xu)擬(ni)(ni)磁(ci)(ci)(ci)盤指(zhi)定(ding)偏移量的(de)512字節(jie)(jie)清零”為(wei)數(shu)據(ju)更(geng)新(xin)(xin)(xin)的(de)內容發送至所有(you)從宿(su)(su)主機(ji)(ji)(ji)當中。相(xiang)應的(de),在(zai)(zai)修改某文(wen)件(jian)(jian),安(an)裝某文(wen)件(jian)(jian),運(yun)(yun)行某程(cheng)(cheng)序、執行某動作(zuo)(zuo)以及進(jin)(jin)行某種(zhong)數(shu)據(ju)計算時(shi),對(dui)虛(xu)(xu)擬(ni)(ni)磁(ci)(ci)(ci)盤發生的(de)更(geng)新(xin)(xin)(xin)操作(zuo)(zuo)都可以作(zuo)(zuo)為(wei)”對(dui)指(zhi)定(ding)虛(xu)(xu)擬(ni)(ni)磁(ci)(ci)(ci)盤指(zhi)定(ding)偏移量寫(xie)入指(zhi)定(ding)字節(jie)(jie)”的(de)數(shu)據(ju)更(geng)新(xin)(xin)(xin)的(de)內容進(jin)(jin)行發送。

從宿主機(ji)(ji)接收(shou)到更(geng)新(xin)(xin)數(shu)據后(hou)(hou),可(ke)(ke)以(yi)更(geng)新(xin)(xin)從宿主機(ji)(ji)的(de)(de)(de)虛(xu)擬(ni)磁(ci)盤,也可(ke)(ke)以(yi)作(zuo)為(wei)一個更(geng)新(xin)(xin)包(bao)進(jin)(jin)行保存(cun),待需要更(geng)新(xin)(xin)時,即后(hou)(hou)文的(de)(de)(de)發(fa)(fa)生虛(xu)擬(ni)機(ji)(ji)遷移觸發(fa)(fa)事件時,再對(dui)虛(xu)擬(ni)磁(ci)盤進(jin)(jin)行更(geng)新(xin)(xin)操作(zuo),但是這樣設(she)置的(de)(de)(de)話,在虛(xu)擬(ni)機(ji)(ji)遷移的(de)(de)(de)過(guo)程中,會存(cun)在一定的(de)(de)(de)延(yan)遲。所以(yi)在本(ben)發(fa)(fa)明實施例中,優(you)選的(de)(de)(de),采用(yong)從宿主機(ji)(ji)接收(shou)到更(geng)新(xin)(xin)數(shu)據之后(hou)(hou),直(zhi)接對(dui)從宿主機(ji)(ji)的(de)(de)(de)虛(xu)擬(ni)磁(ci)盤進(jin)(jin)行更(geng)新(xin)(xin)操作(zuo)的(de)(de)(de)方式(shi),這樣設(she)置的(de)(de)(de)好處(chu)是在于(yu)可(ke)(ke)以(yi)快速的(de)(de)(de)實現虛(xu)擬(ni)機(ji)(ji)的(de)(de)(de)遷移。

s130、在發生虛擬機(ji)遷(qian)移觸發事件時,確定(ding)至(zhi)(zhi)少一個(ge)從宿(su)主機(ji)作為目(mu)的(de)宿(su)主機(ji),結合所述(shu)更新數(shu)據將(jiang)所述(shu)虛擬機(ji)遷(qian)移至(zhi)(zhi)所述(shu)目(mu)的(de)宿(su)主機(ji)。

其中,所述遷(qian)移觸(chu)發(fa)(fa)事件可(ke)以(yi)是主(zhu)動(dong)遷(qian)移觸(chu)發(fa)(fa)事件,也可(ke)以(yi)是被動(dong)遷(qian)移觸(chu)發(fa)(fa)事件,主(zhu)動(dong)遷(qian)移觸(chu)發(fa)(fa)事件可(ke)以(yi)是用戶根(gen)據需求(qiu)需要將虛擬機(ji)遷(qian)移至(zhi)其他從宿主(zhu)機(ji)上運行(xing),被動(dong)遷(qian)移觸(chu)發(fa)(fa)事件可(ke)以(yi)是在虛擬機(ji)運行(xing)過程中,主(zhu)宿主(zhu)機(ji)發(fa)(fa)生(sheng)故障、死(si)機(ji)等(deng)事件。

在(zai)發(fa)生上(shang)述遷移觸(chu)發(fa)事件后,可以(yi)確定一(yi)個或者多個從宿(su)(su)主(zhu)機(ji)為目的(de)宿(su)(su)主(zhu)機(ji),在(zai)目的(de)宿(su)(su)主(zhu)機(ji)的(de)虛擬(ni)磁盤(pan)鏡像上(shang),結合更新數據,完成虛擬(ni)機(ji)的(de)啟(qi)動(dong),這時,虛擬(ni)機(ji)啟(qi)動(dong)后,和在(zai)主(zhu)宿(su)(su)主(zhu)機(ji)運行過程中的(de)虛擬(ni)機(ji)的(de)磁盤(pan)鏡像內容一(yi)致(zhi),完成了宿(su)(su)主(zhu)機(ji)的(de)遷移。

本發明實施例通過(guo)在(zai)(zai)虛(xu)(xu)(xu)擬(ni)(ni)機(ji)(ji)(ji)(ji)(ji)(ji)在(zai)(zai)主(zhu)(zhu)宿(su)主(zhu)(zhu)機(ji)(ji)(ji)(ji)(ji)(ji)上(shang)運行的(de)(de)(de)過(guo)程(cheng)中,對于檢測到的(de)(de)(de)虛(xu)(xu)(xu)擬(ni)(ni)機(ji)(ji)(ji)(ji)(ji)(ji)對虛(xu)(xu)(xu)擬(ni)(ni)磁盤的(de)(de)(de)更新(xin)(xin)向從(cong)(cong)宿(su)主(zhu)(zhu)機(ji)(ji)(ji)(ji)(ji)(ji)上(shang)發送并保存(cun)(cun),在(zai)(zai)發生宿(su)主(zhu)(zhu)機(ji)(ji)(ji)(ji)(ji)(ji)遷移觸發事(shi)件時(shi)(shi),在(zai)(zai)從(cong)(cong)宿(su)主(zhu)(zhu)機(ji)(ji)(ji)(ji)(ji)(ji)中確(que)定(ding)一(yi)個目(mu)(mu)的(de)(de)(de)宿(su)主(zhu)(zhu)機(ji)(ji)(ji)(ji)(ji)(ji),并在(zai)(zai)該目(mu)(mu)的(de)(de)(de)宿(su)主(zhu)(zhu)機(ji)(ji)(ji)(ji)(ji)(ji)上(shang)的(de)(de)(de)虛(xu)(xu)(xu)擬(ni)(ni)磁盤鏡像的(de)(de)(de)基(ji)礎上(shang),結合更新(xin)(xin)數(shu)據(ju),啟(qi)動虛(xu)(xu)(xu)擬(ni)(ni)機(ji)(ji)(ji)(ji)(ji)(ji),在(zai)(zai)虛(xu)(xu)(xu)擬(ni)(ni)機(ji)(ji)(ji)(ji)(ji)(ji)啟(qi)動后,直接同步于原來的(de)(de)(de)主(zhu)(zhu)宿(su)主(zhu)(zhu)機(ji)(ji)(ji)(ji)(ji)(ji)上(shang)的(de)(de)(de)虛(xu)(xu)(xu)擬(ni)(ni)機(ji)(ji)(ji)(ji)(ji)(ji),解決(jue)了現有技術(shu)中,一(yi)旦主(zhu)(zhu)宿(su)主(zhu)(zhu)機(ji)(ji)(ji)(ji)(ji)(ji)發生故障時(shi)(shi),虛(xu)(xu)(xu)擬(ni)(ni)機(ji)(ji)(ji)(ji)(ji)(ji)更新(xin)(xin)數(shu)據(ju)直接丟失、無法將虛(xu)(xu)(xu)擬(ni)(ni)機(ji)(ji)(ji)(ji)(ji)(ji)重現的(de)(de)(de)技術(shu)問題,以實現能(neng)夠快(kuai)速(su)、準(zhun)確(que)的(de)(de)(de)將基(ji)于本地存(cun)(cun)儲(chu)的(de)(de)(de)虛(xu)(xu)(xu)擬(ni)(ni)機(ji)(ji)(ji)(ji)(ji)(ji)數(shu)據(ju)進(jin)行遷移的(de)(de)(de)效果。

在(zai)上(shang)述技術方案的(de)基(ji)礎上(shang),優選的(de),所(suo)述確(que)定(ding)(ding)至(zhi)少兩個宿(su)(su)(su)(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)機(ji)(ji),并確(que)定(ding)(ding)其(qi)中(zhong)(zhong)一(yi)個為(wei)主(zhu)(zhu)(zhu)(zhu)宿(su)(su)(su)(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)機(ji)(ji),其(qi)余為(wei)從宿(su)(su)(su)(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)機(ji)(ji),可(ke)(ke)以(yi)(yi)(yi)包(bao)括(kuo):確(que)定(ding)(ding)至(zhi)少兩個宿(su)(su)(su)(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)機(ji)(ji);根據宿(su)(su)(su)(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)機(ji)(ji)狀態確(que)定(ding)(ding)一(yi)個主(zhu)(zhu)(zhu)(zhu)宿(su)(su)(su)(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)機(ji)(ji),其(qi)余為(wei)從宿(su)(su)(su)(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)機(ji)(ji);其(qi)中(zhong)(zhong),宿(su)(su)(su)(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)機(ji)(ji)狀態包(bao)括(kuo)宿(su)(su)(su)(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)機(ji)(ji)負(fu)載、宿(su)(su)(su)(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)機(ji)(ji)容量以(yi)(yi)(yi)及宿(su)(su)(su)(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)機(ji)(ji)穩定(ding)(ding)性(xing)(xing)中(zhong)(zhong)的(de)至(zhi)少一(yi)種。宿(su)(su)(su)(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)機(ji)(ji)的(de)負(fu)載可(ke)(ke)以(yi)(yi)(yi)是(shi)宿(su)(su)(su)(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)機(ji)(ji)當(dang)前(qian)(qian)cpu使用率,宿(su)(su)(su)(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)機(ji)(ji)容量可(ke)(ke)以(yi)(yi)(yi)是(shi)宿(su)(su)(su)(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)機(ji)(ji)的(de)內存以(yi)(yi)(yi)及存儲器的(de)空(kong)間,宿(su)(su)(su)(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)機(ji)(ji)的(de)穩定(ding)(ding)性(xing)(xing)可(ke)(ke)以(yi)(yi)(yi)是(shi)根據當(dang)前(qian)(qian)宿(su)(su)(su)(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)機(ji)(ji)以(yi)(yi)(yi)往運行(xing)虛(xu)擬機(ji)(ji)過程中(zhong)(zhong)的(de)穩定(ding)(ding)性(xing)(xing)評估結果,也可(ke)(ke)以(yi)(yi)(yi)編(bian)制相應(ying)的(de)宿(su)(su)(su)(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)機(ji)(ji)穩定(ding)(ding)性(xing)(xing)測試程序。這(zhe)(zhe)樣設置的(de)好處(chu)在(zai)于可(ke)(ke)以(yi)(yi)(yi)在(zai)確(que)定(ding)(ding)主(zhu)(zhu)(zhu)(zhu)宿(su)(su)(su)(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)機(ji)(ji)的(de)過程中(zhong)(zhong),盡量選擇一(yi)個運行(xing)空(kong)間充足(zu)且(qie)穩定(ding)(ding)的(de)機(ji)(ji)器作(zuo)為(wei)主(zhu)(zhu)(zhu)(zhu)宿(su)(su)(su)(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)機(ji)(ji),這(zhe)(zhe)就(jiu)可(ke)(ke)以(yi)(yi)(yi)有(you)效減小虛(xu)擬機(ji)(ji)遷移觸發(fa)事件發(fa)生的(de)概率,從而為(wei)用戶提供(gong)一(yi)個相對穩定(ding)(ding)的(de)虛(xu)擬機(ji)(ji)運行(xing)環境(jing)。

實施例二

圖(tu)2a是(shi)本發明實(shi)施例(li)二所適用的(de)一種結構示(shi)意圖(tu)。本實(shi)施例(li)在上(shang)述(shu)實(shi)施例(li)的(de)基(ji)礎上(shang),在所述(shu)主(zhu)(zhu)宿(su)(su)(su)主(zhu)(zhu)機(ji)(ji)設置有(you)主(zhu)(zhu)磁(ci)盤(pan)更(geng)(geng)(geng)新(xin)(xin)(xin)代理(li),在所述(shu)從(cong)(cong)(cong)(cong)(cong)宿(su)(su)(su)主(zhu)(zhu)機(ji)(ji)設置有(you)從(cong)(cong)(cong)(cong)(cong)磁(ci)盤(pan)更(geng)(geng)(geng)新(xin)(xin)(xin)代理(li)。圖(tu)2a示(shi)出了虛擬(ni)(ni)(ni)機(ji)(ji)更(geng)(geng)(geng)新(xin)(xin)(xin)數(shu)據(ju)從(cong)(cong)(cong)(cong)(cong)主(zhu)(zhu)宿(su)(su)(su)主(zhu)(zhu)機(ji)(ji)10到從(cong)(cong)(cong)(cong)(cong)宿(su)(su)(su)主(zhu)(zhu)機(ji)(ji)20的(de)傳(chuan)輸過程。虛擬(ni)(ni)(ni)機(ji)(ji)在主(zhu)(zhu)宿(su)(su)(su)主(zhu)(zhu)機(ji)(ji)10上(shang)運行(xing)的(de)過程中(zhong)(zhong),如果有(you)數(shu)據(ju)更(geng)(geng)(geng)新(xin)(xin)(xin),則將(jiang)(jiang)更(geng)(geng)(geng)新(xin)(xin)(xin)數(shu)據(ju)寫(xie)入到主(zhu)(zhu)虛擬(ni)(ni)(ni)磁(ci)盤(pan)12中(zhong)(zhong),并將(jiang)(jiang)更(geng)(geng)(geng)新(xin)(xin)(xin)數(shu)據(ju)通過主(zhu)(zhu)磁(ci)盤(pan)更(geng)(geng)(geng)新(xin)(xin)(xin)代理(li)11發送至從(cong)(cong)(cong)(cong)(cong)磁(ci)盤(pan)更(geng)(geng)(geng)新(xin)(xin)(xin)代理(li)21中(zhong)(zhong),從(cong)(cong)(cong)(cong)(cong)磁(ci)盤(pan)更(geng)(geng)(geng)新(xin)(xin)(xin)代理(li)21再將(jiang)(jiang)更(geng)(geng)(geng)新(xin)(xin)(xin)數(shu)據(ju)應用至從(cong)(cong)(cong)(cong)(cong)虛擬(ni)(ni)(ni)磁(ci)盤(pan)22中(zhong)(zhong),從(cong)(cong)(cong)(cong)(cong)而(er)通過主(zhu)(zhu)磁(ci)盤(pan)更(geng)(geng)(geng)新(xin)(xin)(xin)代理(li)11和從(cong)(cong)(cong)(cong)(cong)磁(ci)盤(pan)更(geng)(geng)(geng)新(xin)(xin)(xin)代理(li)21完成更(geng)(geng)(geng)新(xin)(xin)(xin)數(shu)據(ju)從(cong)(cong)(cong)(cong)(cong)主(zhu)(zhu)宿(su)(su)(su)主(zhu)(zhu)機(ji)(ji)10至從(cong)(cong)(cong)(cong)(cong)宿(su)(su)(su)主(zhu)(zhu)機(ji)(ji)20之間的(de)傳(chuan)輸。

圖(tu)2b是本發明實施例(li)二提供的(de)基(ji)于本地存儲的(de)虛擬(ni)機遷移方(fang)法的(de)流程圖(tu)。

如(ru)圖2b所(suo)示,所(suo)述基于本地(di)存儲的(de)虛擬機(ji)遷移方法(fa)包括(kuo):

s210、確定虛擬機(ji)的(de)至(zhi)少兩個宿主(zhu)機(ji),并確定其(qi)中一個為主(zhu)宿主(zhu)機(ji),其(qi)余(yu)為從宿主(zhu)機(ji);并在確定的(de)所有宿主(zhu)機(ji)中建立所述(shu)虛擬機(ji)的(de)虛擬磁盤鏡像(xiang)。

s220、虛擬(ni)機主(zhu)宿(su)主(zhu)機上運行過程(cheng)中(zhong),當檢(jian)測到虛擬(ni)機對(dui)虛擬(ni)磁(ci)(ci)盤進(jin)行更(geng)(geng)新(xin)時,通(tong)過主(zhu)磁(ci)(ci)盤更(geng)(geng)新(xin)代(dai)(dai)理將(jiang)更(geng)(geng)新(xin)數據發(fa)送(song)至從磁(ci)(ci)盤更(geng)(geng)新(xin)代(dai)(dai)理。

其中(zhong),主磁盤(pan)更新(xin)代(dai)(dai)理(li)獲取更新(xin)數(shu)據的(de)(de)途徑是虛擬機運(yun)行(xing)過程中(zhong)將對虛擬磁盤(pan)的(de)(de)更新(xin)以(yi)數(shu)據流形式發(fa)送給(gei)主磁盤(pan)更新(xin)代(dai)(dai)理(li)。主磁盤(pan)更新(xin)代(dai)(dai)理(li)和從(cong)磁盤(pan)更新(xin)代(dai)(dai)理(li)之(zhi)間更新(xin)數(shu)據的(de)(de)發(fa)送可以(yi)依賴于主宿主機與從(cong)宿主機之(zhi)間的(de)(de)網絡連接關系(xi)。

s230、通過所(suo)述(shu)從(cong)(cong)磁(ci)(ci)盤(pan)(pan)更新代理將所(suo)述(shu)更新數(shu)據應用至從(cong)(cong)宿(su)主機的(de)虛(xu)擬磁(ci)(ci)盤(pan)(pan)中,對從(cong)(cong)宿(su)主機的(de)虛(xu)擬磁(ci)(ci)盤(pan)(pan)鏡像(xiang)進行更新,以確保(bao)從(cong)(cong)磁(ci)(ci)盤(pan)(pan)鏡像(xiang)和主磁(ci)(ci)盤(pan)(pan)鏡像(xiang)的(de)內(nei)容同(tong)步更新。

從宿(su)(su)主機(ji)(ji)(ji)的(de)(de)(de)虛(xu)(xu)(xu)擬(ni)(ni)(ni)磁(ci)(ci)盤鏡(jing)像即(ji)為(wei)如有需要,在(zai)該(gai)從宿(su)(su)主機(ji)(ji)(ji)上(shang)啟動(dong)(dong)(dong)虛(xu)(xu)(xu)擬(ni)(ni)(ni)機(ji)(ji)(ji)的(de)(de)(de)虛(xu)(xu)(xu)擬(ni)(ni)(ni)磁(ci)(ci)盤鏡(jing)像。將(jiang)所述更新(xin)數(shu)據(ju)發送至(zhi)從虛(xu)(xu)(xu)擬(ni)(ni)(ni)磁(ci)(ci)盤(即(ji)從宿(su)(su)主機(ji)(ji)(ji)的(de)(de)(de)虛(xu)(xu)(xu)擬(ni)(ni)(ni)磁(ci)(ci)盤),可(ke)以(yi)(yi)在(zai)需要在(zai)該(gai)從宿(su)(su)主機(ji)(ji)(ji)啟動(dong)(dong)(dong)虛(xu)(xu)(xu)擬(ni)(ni)(ni)機(ji)(ji)(ji)時(shi),直(zhi)接以(yi)(yi)最(zui)新(xin)狀態(tai)的(de)(de)(de)虛(xu)(xu)(xu)擬(ni)(ni)(ni)機(ji)(ji)(ji)啟動(dong)(dong)(dong),啟動(dong)(dong)(dong)后該(gai)虛(xu)(xu)(xu)擬(ni)(ni)(ni)機(ji)(ji)(ji)已(yi)經具(ju)有了在(zai)主宿(su)(su)主機(ji)(ji)(ji)上(shang)的(de)(de)(de)虛(xu)(xu)(xu)擬(ni)(ni)(ni)機(ji)(ji)(ji)更新(xin)的(de)(de)(de)全(quan)部信息,實現了完全(quan)同步的(de)(de)(de)啟動(dong)(dong)(dong),從而可(ke)以(yi)(yi)快速、準確的(de)(de)(de)將(jiang)虛(xu)(xu)(xu)擬(ni)(ni)(ni)機(ji)(ji)(ji)遷移。

s240、在發生(sheng)虛擬機(ji)遷移觸發事件時,確定至少一個從宿主機(ji)作為目的(de)宿主機(ji),結(jie)合所述(shu)更新數據將所述(shu)虛擬機(ji)遷移至所述(shu)目的(de)宿主機(ji)。

本(ben)實施例在上(shang)(shang)述實施例的(de)技術上(shang)(shang),在主(zhu)宿(su)(su)(su)主(zhu)機(ji)(ji)(ji)(ji)和從(cong)宿(su)(su)(su)主(zhu)機(ji)(ji)(ji)(ji)上(shang)(shang)分別設置有(you)主(zhu)磁(ci)盤(pan)(pan)更(geng)新(xin)代理和從(cong)磁(ci)盤(pan)(pan)更(geng)新(xin)代理,以(yi)(yi)實現更(geng)新(xin)數據從(cong)主(zhu)宿(su)(su)(su)主(zhu)機(ji)(ji)(ji)(ji)到從(cong)宿(su)(su)(su)主(zhu)機(ji)(ji)(ji)(ji)上(shang)(shang)的(de)傳輸,并且在從(cong)磁(ci)盤(pan)(pan)更(geng)新(xin)代理將更(geng)新(xin)數據發送至從(cong)虛擬(ni)磁(ci)盤(pan)(pan)之后,對從(cong)宿(su)(su)(su)主(zhu)機(ji)(ji)(ji)(ji)的(de)虛擬(ni)磁(ci)盤(pan)(pan)鏡像進行了更(geng)新(xin),這樣,當需要在從(cong)宿(su)(su)(su)主(zhu)機(ji)(ji)(ji)(ji)上(shang)(shang)進行虛擬(ni)機(ji)(ji)(ji)(ji)啟動時,可以(yi)(yi)進一步保證虛擬(ni)機(ji)(ji)(ji)(ji)在從(cong)宿(su)(su)(su)主(zhu)機(ji)(ji)(ji)(ji)上(shang)(shang)啟動能夠與虛擬(ni)機(ji)(ji)(ji)(ji)在主(zhu)宿(su)(su)(su)主(zhu)機(ji)(ji)(ji)(ji)上(shang)(shang)的(de)狀態相同,實現虛擬(ni)機(ji)(ji)(ji)(ji)實時狀態的(de)遷移。

在上(shang)述(shu)各技術方案的(de)(de)(de)(de)基礎上(shang),優選的(de)(de)(de)(de),所(suo)(suo)(suo)述(shu)在發生虛(xu)(xu)擬(ni)機(ji)(ji)(ji)遷(qian)移觸發事件(jian)時,確(que)定至少一個(ge)從宿(su)(su)主(zhu)(zhu)(zhu)機(ji)(ji)(ji)作為目(mu)的(de)(de)(de)(de)宿(su)(su)主(zhu)(zhu)(zhu)機(ji)(ji)(ji),結合所(suo)(suo)(suo)述(shu)更(geng)(geng)新數據將所(suo)(suo)(suo)述(shu)虛(xu)(xu)擬(ni)機(ji)(ji)(ji)遷(qian)移至所(suo)(suo)(suo)述(shu)目(mu)的(de)(de)(de)(de)宿(su)(su)主(zhu)(zhu)(zhu)機(ji)(ji)(ji),包(bao)括:在發生虛(xu)(xu)擬(ni)機(ji)(ji)(ji)遷(qian)移觸發事件(jian)時,確(que)定至少一個(ge)從宿(su)(su)主(zhu)(zhu)(zhu)機(ji)(ji)(ji)作為目(mu)的(de)(de)(de)(de)宿(su)(su)主(zhu)(zhu)(zhu)機(ji)(ji)(ji);當檢測所(suo)(suo)(suo)述(shu)主(zhu)(zhu)(zhu)宿(su)(su)主(zhu)(zhu)(zhu)機(ji)(ji)(ji)的(de)(de)(de)(de)主(zhu)(zhu)(zhu)磁(ci)盤更(geng)(geng)新代(dai)(dai)理(li)與所(suo)(suo)(suo)述(shu)目(mu)的(de)(de)(de)(de)宿(su)(su)主(zhu)(zhu)(zhu)機(ji)(ji)(ji)的(de)(de)(de)(de)從磁(ci)盤更(geng)(geng)新代(dai)(dai)理(li)之間完成所(suo)(suo)(suo)述(shu)更(geng)(geng)新數據的(de)(de)(de)(de)發送(song)與接收(shou),并(bing)且從磁(ci)盤更(geng)(geng)新代(dai)(dai)理(li)將更(geng)(geng)新數據全(quan)部應(ying)用到從宿(su)(su)主(zhu)(zhu)(zhu)機(ji)(ji)(ji)的(de)(de)(de)(de)虛(xu)(xu)擬(ni)鏡像后(hou),啟動(dong)所(suo)(suo)(suo)述(shu)目(mu)的(de)(de)(de)(de)宿(su)(su)主(zhu)(zhu)(zhu)機(ji)(ji)(ji)上(shang)的(de)(de)(de)(de)虛(xu)(xu)擬(ni)機(ji)(ji)(ji)。這樣設(she)置的(de)(de)(de)(de)好(hao)處是可以確(que)保(bao)在目(mu)的(de)(de)(de)(de)宿(su)(su)主(zhu)(zhu)(zhu)機(ji)(ji)(ji)上(shang)啟動(dong)的(de)(de)(de)(de)虛(xu)(xu)擬(ni)機(ji)(ji)(ji)能夠和主(zhu)(zhu)(zhu)宿(su)(su)主(zhu)(zhu)(zhu)機(ji)(ji)(ji)上(shang)的(de)(de)(de)(de)虛(xu)(xu)擬(ni)機(ji)(ji)(ji)完全(quan)同步,避(bi)免用戶需要重(zhong)復運行虛(xu)(xu)擬(ni)機(ji)(ji)(ji)的(de)(de)(de)(de)相應(ying)工作而浪(lang)費人(ren)力和時間。

在(zai)上(shang)述(shu)技術方案(an)的基礎(chu)上(shang),優選的,通過數(shu)據流的形(xing)式完(wan)成主磁盤更(geng)新(xin)(xin)(xin)(xin)代(dai)理至(zhi)從磁盤更(geng)新(xin)(xin)(xin)(xin)代(dai)理的所述(shu)更(geng)新(xin)(xin)(xin)(xin)數(shu)據發送。這樣設置(zhi)的好處(chu)是(shi)可以實時(shi)傳輸(shu)更(geng)新(xin)(xin)(xin)(xin)數(shu)據,避免在(zai)虛(xu)擬(ni)(ni)機(ji)數(shu)據更(geng)新(xin)(xin)(xin)(xin)過程中,沒有進行數(shu)據傳輸(shu)而是(shi)目的宿(su)主機(ji)上(shang)啟動的虛(xu)擬(ni)(ni)機(ji)和主宿(su)主機(ji)上(shang)的虛(xu)擬(ni)(ni)機(ji)不能夠完(wan)全同(tong)步,代(dai)理浪費人力和時(shi)間去比對是(shi)否為(wei)最新(xin)(xin)(xin)(xin)狀態的問題。

實施例三

圖(tu)3是本(ben)發(fa)明實施(shi)例三提供(gong)的(de)基于本(ben)地(di)存(cun)儲(chu)的(de)虛擬機(ji)遷移系統的(de)結構(gou)示意(yi)圖(tu)。如圖(tu)3所示,所述基于本(ben)地(di)存(cun)儲(chu)的(de)虛擬機(ji)遷移系統,包括:

控制平臺30,用于確(que)(que)定虛(xu)擬機(ji)(ji)的(de)(de)(de)至少兩個宿主機(ji)(ji),確(que)(que)定其(qi)中一(yi)個為主宿主機(ji)(ji),其(qi)余為從宿主機(ji)(ji);并在(zai)確(que)(que)定的(de)(de)(de)所有宿主機(ji)(ji)中建立(li)所述虛(xu)擬機(ji)(ji)的(de)(de)(de)虛(xu)擬磁(ci)盤鏡像(xiang);

主宿主機10,用于(yu)運行虛(xu)擬(ni)機,當檢(jian)測到虛(xu)擬(ni)機對(dui)虛(xu)擬(ni)磁盤進行更新(xin)時,將更新(xin)數據發送給(gei)所有(you)從宿主機;

從(cong)宿主(zhu)機(ji)20,用于在接收到(dao)所述更新數據時,對從(cong)宿主(zhu)機(ji)的虛擬磁盤進行(xing)更新。

本發(fa)明實施(shi)例通過在(zai)虛(xu)擬(ni)(ni)(ni)機(ji)(ji)在(zai)主(zhu)(zhu)(zhu)(zhu)(zhu)宿(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)(zhu)機(ji)(ji)上(shang)運行的(de)(de)(de)(de)(de)(de)過程(cheng)中(zhong)(zhong),對于(yu)檢測到的(de)(de)(de)(de)(de)(de)虛(xu)擬(ni)(ni)(ni)機(ji)(ji)對虛(xu)擬(ni)(ni)(ni)磁盤(pan)的(de)(de)(de)(de)(de)(de)更(geng)新(xin)向從宿(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)(zhu)機(ji)(ji)上(shang)發(fa)送并保存,在(zai)發(fa)生宿(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)(zhu)機(ji)(ji)遷移觸(chu)發(fa)事(shi)件時,在(zai)從宿(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)(zhu)機(ji)(ji)中(zhong)(zhong)確定(ding)一(yi)個目的(de)(de)(de)(de)(de)(de)宿(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)(zhu)機(ji)(ji),并在(zai)該目的(de)(de)(de)(de)(de)(de)宿(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)(zhu)機(ji)(ji)上(shang)的(de)(de)(de)(de)(de)(de)虛(xu)擬(ni)(ni)(ni)磁盤(pan)鏡像的(de)(de)(de)(de)(de)(de)基礎上(shang),結合更(geng)新(xin)數(shu)(shu)據(ju),啟動虛(xu)擬(ni)(ni)(ni)機(ji)(ji),在(zai)虛(xu)擬(ni)(ni)(ni)機(ji)(ji)啟動后,直接(jie)同步于(yu)原(yuan)來的(de)(de)(de)(de)(de)(de)主(zhu)(zhu)(zhu)(zhu)(zhu)宿(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)(zhu)機(ji)(ji)上(shang)的(de)(de)(de)(de)(de)(de)虛(xu)擬(ni)(ni)(ni)機(ji)(ji),解決(jue)了現有技(ji)術中(zhong)(zhong),一(yi)旦主(zhu)(zhu)(zhu)(zhu)(zhu)宿(su)(su)(su)主(zhu)(zhu)(zhu)(zhu)(zhu)機(ji)(ji)發(fa)生故障時,虛(xu)擬(ni)(ni)(ni)機(ji)(ji)更(geng)新(xin)數(shu)(shu)據(ju)直接(jie)丟失、無法將虛(xu)擬(ni)(ni)(ni)機(ji)(ji)重現的(de)(de)(de)(de)(de)(de)技(ji)術問題,以實現能夠快速、準確的(de)(de)(de)(de)(de)(de)將基于(yu)本地存儲(chu)的(de)(de)(de)(de)(de)(de)虛(xu)擬(ni)(ni)(ni)機(ji)(ji)數(shu)(shu)據(ju)進行遷移的(de)(de)(de)(de)(de)(de)效果。

在上述(shu)(shu)(shu)各實施例的基礎上,所述(shu)(shu)(shu)控制(zhi)平(ping)臺30還用于:在發生虛(xu)擬(ni)機遷移觸發事件時,確定(ding)至少一個從宿(su)主(zhu)機作為目的宿(su)主(zhu)機,結合(he)所述(shu)(shu)(shu)更新數據將(jiang)所述(shu)(shu)(shu)虛(xu)擬(ni)機遷移至所述(shu)(shu)(shu)目的宿(su)主(zhu)機。

在上述各實(shi)施例的基(ji)礎上,所(suo)述控制平臺(tai)30,用于(yu)確(que)定(ding)虛擬機的至少兩個宿(su)主機,確(que)定(ding)其中一個為主宿(su)主機10,其余為從(cong)宿(su)主機20,具體用于(yu):

確定至少兩個宿主機;

根(gen)據宿(su)主機(ji)狀態確定一個主宿(su)主機(ji)10,其余為從宿(su)主機(ji)20;

其中,宿主機(ji)狀態包括(kuo)宿主機(ji)負(fu)載(zai)、宿主機(ji)容(rong)量以及宿主機(ji)穩定性(xing)中的至少一種。

在上(shang)述各實施(shi)例的基礎上(shang),所述主宿(su)主機(ji)10包括(kuo)主磁(ci)盤更新代(dai)理,所述從(cong)宿(su)主機(ji)20包括(kuo)從(cong)磁(ci)盤更新代(dai)理;

所述虛擬機(ji)在主宿主機(ji)10上(shang)運(yun)行過(guo)程中,當檢(jian)測到虛擬機(ji)對虛擬磁盤進行更(geng)(geng)新時,通過(guo)主磁盤更(geng)(geng)新代理將更(geng)(geng)新數據發(fa)送至從磁盤更(geng)(geng)新代理;

所(suo)述從磁盤更新(xin)(xin)代理將(jiang)所(suo)述更新(xin)(xin)數據發(fa)送(song)至從宿主機(ji)的(de)虛(xu)擬(ni)磁盤中,對從宿主機(ji)20的(de)虛(xu)擬(ni)磁盤鏡像(xiang)進行更新(xin)(xin),以(yi)確保從磁盤鏡像(xiang)和主磁盤鏡像(xiang)的(de)內容(rong)同步更新(xin)(xin)。

在上述各實(shi)施例的(de)基礎上,所述控制(zhi)平臺具(ju)體用于:

在發生虛(xu)擬機遷移觸(chu)發事件時,確定至少一個從宿(su)主機20作為(wei)目的(de)宿(su)主機;

當檢測所(suo)(suo)述(shu)主(zhu)宿主(zhu)機10的主(zhu)磁盤(pan)更(geng)(geng)(geng)新(xin)代(dai)理與所(suo)(suo)述(shu)目的宿主(zhu)機的從磁盤(pan)更(geng)(geng)(geng)新(xin)代(dai)理之間完成所(suo)(suo)述(shu)更(geng)(geng)(geng)新(xin)數據的發送與接(jie)收,并且從磁盤(pan)更(geng)(geng)(geng)新(xin)代(dai)理將更(geng)(geng)(geng)新(xin)數據全部(bu)應用(yong)到從宿主(zhu)機的虛擬鏡像后,啟動(dong)所(suo)(suo)述(shu)目的宿主(zhu)機上的虛擬機。

在(zai)上述(shu)(shu)各實施例(li)的基礎(chu)上,通過數據流的形式完(wan)成(cheng)主磁盤更新代(dai)理至從磁盤更新代(dai)理的所(suo)述(shu)(shu)更新數據發(fa)送;

相應的,

當檢測所(suo)(suo)(suo)(suo)述主(zhu)宿(su)(su)(su)主(zhu)機(ji)10的主(zhu)磁(ci)盤(pan)更新(xin)代理與所(suo)(suo)(suo)(suo)述目(mu)(mu)的宿(su)(su)(su)主(zhu)機(ji)的從磁(ci)盤(pan)更新(xin)代理之(zhi)間完(wan)成(cheng)所(suo)(suo)(suo)(suo)有的數(shu)據流傳輸,并且(qie)從磁(ci)盤(pan)更新(xin)代理將更新(xin)數(shu)據全部應用(yong)到從宿(su)(su)(su)主(zhu)機(ji)的虛(xu)擬(ni)鏡像(xiang)時(shi),啟動(dong)所(suo)(suo)(suo)(suo)述目(mu)(mu)的宿(su)(su)(su)主(zhu)機(ji)上(shang)的虛(xu)擬(ni)機(ji)。

上(shang)述(shu)產品(pin)可(ke)執(zhi)(zhi)行本發明任意實施(shi)例所提供的方(fang)法(fa),具(ju)備(bei)執(zhi)(zhi)行方(fang)法(fa)相(xiang)應的功能模塊和有(you)益效(xiao)果。

注意,上(shang)(shang)述僅為本發(fa)明(ming)(ming)的(de)較佳實(shi)(shi)施(shi)(shi)例及所(suo)(suo)運用技術原理。本領(ling)域(yu)技術人員(yuan)會理解(jie),本發(fa)明(ming)(ming)不(bu)(bu)限(xian)于這里所(suo)(suo)述的(de)特定實(shi)(shi)施(shi)(shi)例,對本領(ling)域(yu)技術人員(yuan)來說能(neng)夠(gou)進行各種明(ming)(ming)顯的(de)變化、重新調(diao)整(zheng)和替(ti)代而不(bu)(bu)會脫(tuo)離本發(fa)明(ming)(ming)的(de)保(bao)護(hu)范(fan)圍。因此(ci),雖然通過以(yi)上(shang)(shang)實(shi)(shi)施(shi)(shi)例對本發(fa)明(ming)(ming)進行了較為詳(xiang)細的(de)說明(ming)(ming),但是本發(fa)明(ming)(ming)不(bu)(bu)僅僅限(xian)于以(yi)上(shang)(shang)實(shi)(shi)施(shi)(shi)例,在不(bu)(bu)脫(tuo)離本發(fa)明(ming)(ming)構(gou)思的(de)情(qing)況下(xia),還可以(yi)包括更多其他等效實(shi)(shi)施(shi)(shi)例,而本發(fa)明(ming)(ming)的(de)范(fan)圍由所(suo)(suo)附的(de)權利(li)要求范(fan)圍決(jue)定。

當前第1頁1 2 
網友詢問(wen)留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1