亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種恢復(fù)虛擬機(jī)的方法和裝置與流程

文檔序號(hào):11677341閱讀:236來(lái)源:國(guó)知局
一種恢復(fù)虛擬機(jī)的方法和裝置與流程

本發(fā)明涉及虛擬技術(shù),尤指一種恢復(fù)虛擬機(jī)的方法和裝置。



背景技術(shù):

openstack是一個(gè)由美國(guó)國(guó)家航空航天局(nasa,nationalaeronauticsandspace)和rackspace合作研發(fā)并發(fā)起的,以apache許可證授權(quán)的自由軟件和開(kāi)放源代碼云計(jì)算管理平臺(tái)項(xiàng)目,openstack通過(guò)各種互補(bǔ)的服務(wù)提供了基礎(chǔ)設(shè)施即服務(wù)(iaas)的解決方案,是一個(gè)旨在為公共及私有云的建設(shè)與管理提供軟件的開(kāi)源項(xiàng)目。

openstack對(duì)虛擬機(jī)的實(shí)現(xiàn)中,當(dāng)計(jì)算節(jié)點(diǎn)異常宕機(jī)時(shí),計(jì)算節(jié)點(diǎn)上的虛擬機(jī)無(wú)法運(yùn)行,雖然虛擬機(jī)的業(yè)務(wù)可能考慮了主備虛擬機(jī)的切換,但也需要把故障計(jì)算節(jié)點(diǎn)上的虛擬機(jī)及時(shí)在可用的計(jì)算節(jié)點(diǎn)上重新啟動(dòng)起來(lái),這種場(chǎng)景下的虛擬機(jī)重生,就是虛擬機(jī)的異地重生。虛擬機(jī)在異地重生時(shí)會(huì)根據(jù)這個(gè)虛擬機(jī)在數(shù)據(jù)庫(kù)中保存的原始信息,在目的計(jì)算節(jié)點(diǎn)上部署起來(lái)。

現(xiàn)有的恢復(fù)虛擬機(jī)的方法大致包括:

計(jì)算節(jié)點(diǎn)發(fā)生故障后,控制節(jié)點(diǎn)接收到來(lái)自用戶(hù)所在的計(jì)算節(jié)點(diǎn)的進(jìn)行異地重生的請(qǐng)求,判斷出滿(mǎn)足進(jìn)行異地重生的條件(如用戶(hù)是否具有發(fā)起異地重生的權(quán)限、虛擬機(jī)是否滿(mǎn)足異地重生的條件等),在虛擬機(jī)、計(jì)算節(jié)點(diǎn)和操作狀態(tài)之間的對(duì)應(yīng)關(guān)系中,查找進(jìn)行異地重生的請(qǐng)求中的需要進(jìn)行重生的虛擬機(jī)對(duì)應(yīng)的操作狀態(tài),當(dāng)查找到的操作狀態(tài)為空狀態(tài)時(shí),將進(jìn)行重生的虛擬機(jī)、計(jì)算節(jié)點(diǎn)和操作狀態(tài)之間的對(duì)應(yīng)關(guān)系中的操作狀態(tài)更改為正在重建虛擬機(jī),并向目的計(jì)算節(jié)點(diǎn)發(fā)送進(jìn)行異地重生的消息;其中,進(jìn)行異地重生的消息中包括需要進(jìn)行重生的虛擬機(jī)的進(jìn)行重生所需要的信息;目的計(jì)算節(jié)點(diǎn)根據(jù)進(jìn)行異地重生的消息中的進(jìn)行重生所需要的信息進(jìn)行虛擬機(jī)的重生,并將進(jìn)行重生的虛擬機(jī)、計(jì)算節(jié)點(diǎn)和操作狀態(tài)之間的對(duì)應(yīng)關(guān)系中的計(jì)算節(jié)點(diǎn) 更改為目的計(jì)算節(jié)點(diǎn)。

現(xiàn)有的恢復(fù)虛擬機(jī)的方法中,在進(jìn)行虛擬機(jī)的重生過(guò)程中,當(dāng)發(fā)生故障的計(jì)算節(jié)點(diǎn)因電源等非計(jì)算節(jié)點(diǎn)本身原因下電時(shí),一段時(shí)間后可能會(huì)在環(huán)境恢復(fù)或者人為干預(yù)的情況下重新上電,計(jì)算節(jié)點(diǎn)在上電過(guò)程中,在虛擬機(jī)、計(jì)算節(jié)點(diǎn)、虛擬機(jī)狀態(tài)和操作狀態(tài)之間的對(duì)應(yīng)關(guān)系中,查找計(jì)算節(jié)點(diǎn)為自身,且虛擬機(jī)狀態(tài)為運(yùn)行狀態(tài)對(duì)應(yīng)的虛擬機(jī)和操作狀態(tài),將查找到的操作狀態(tài)為空狀態(tài)的虛擬機(jī)對(duì)應(yīng)的操作狀態(tài)更改為上電狀態(tài),并把查找到的操作狀態(tài)為空狀態(tài)的虛擬機(jī)啟動(dòng)起來(lái),這樣,就會(huì)導(dǎo)致發(fā)生故障的計(jì)算節(jié)點(diǎn)和目的計(jì)算節(jié)點(diǎn)同時(shí)配置同一個(gè)虛擬機(jī),造成互聯(lián)網(wǎng)協(xié)議(ip,internetprotocol)地址等一系列資源和流程的沖突,甚至可能會(huì)導(dǎo)致虛擬機(jī)的業(yè)務(wù)無(wú)法正常運(yùn)行。



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

為了解決上述問(wèn)題,本發(fā)明提出了一種恢復(fù)虛擬機(jī)的方法和裝置,能夠減少不同的兩個(gè)計(jì)算節(jié)點(diǎn)對(duì)同一個(gè)虛擬機(jī)的恢復(fù)操作導(dǎo)致的沖突。

為了達(dá)到上述目的,本發(fā)明提出了一種恢復(fù)虛擬機(jī)的方法,包括:

控制節(jié)點(diǎn)檢測(cè)到需要對(duì)虛擬機(jī)進(jìn)行異地重生,在虛擬機(jī)、計(jì)算節(jié)點(diǎn)和操作狀態(tài)之間的對(duì)應(yīng)關(guān)系中,查找需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第一操作狀態(tài);判斷出查找到的第一操作狀態(tài)為空狀態(tài),將對(duì)應(yīng)關(guān)系中需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)更改為目標(biāo)計(jì)算節(jié)點(diǎn);

控制節(jié)點(diǎn)在對(duì)應(yīng)關(guān)系中查找需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第二操作狀態(tài),判斷出查找到的第二操作狀態(tài)為空狀態(tài),將對(duì)應(yīng)關(guān)系中需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第二操作狀態(tài)更改為正在重建虛擬機(jī),并向目的計(jì)算節(jié)點(diǎn)發(fā)送進(jìn)行異地重生的消息。

可選的,所述控制節(jié)點(diǎn)檢測(cè)到需要對(duì)虛擬機(jī)進(jìn)行異地重生后,在所述查找需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第一操作狀態(tài)之前還包括:

所述控制節(jié)點(diǎn)判斷出滿(mǎn)足異地重生的條件。

可選的,當(dāng)所述控制節(jié)點(diǎn)判斷出所述第二操作狀態(tài)為非空狀態(tài)時(shí),該方法還包括:

所述控制節(jié)點(diǎn)將所述需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)更改為更改之前的計(jì)算節(jié)點(diǎn)。

可選的,所述對(duì)應(yīng)關(guān)系還包括虛擬機(jī)狀態(tài),所述控制節(jié)點(diǎn)檢測(cè)到需要對(duì)虛擬機(jī)進(jìn)行異地重生包括:

所述控制節(jié)點(diǎn)檢測(cè)到計(jì)算節(jié)點(diǎn)下電,在所述對(duì)應(yīng)關(guān)系中查找下電的計(jì)算節(jié)點(diǎn)對(duì)應(yīng)的虛擬機(jī)和虛擬機(jī)狀態(tài),判斷出查找到的虛擬機(jī)狀態(tài)為運(yùn)行狀態(tài),確定需要對(duì)查找到的虛擬機(jī)進(jìn)行異地重生。

本發(fā)明還提出了一種恢復(fù)虛擬機(jī)的方法,包括:

計(jì)算節(jié)點(diǎn)在發(fā)生故障后重新上電過(guò)程中,在虛擬機(jī)、計(jì)算節(jié)點(diǎn)和操作狀態(tài)之間的對(duì)應(yīng)關(guān)系中,查找虛擬機(jī)對(duì)應(yīng)的第一計(jì)算節(jié)點(diǎn)和第一操作狀態(tài);判斷出查找到的第一計(jì)算節(jié)點(diǎn)為自身,且查找到的第一操作狀態(tài)為空狀態(tài),將虛擬機(jī)對(duì)應(yīng)的第一操作狀態(tài)更改為上電狀態(tài);

計(jì)算節(jié)點(diǎn)在對(duì)應(yīng)關(guān)系中查找虛擬機(jī)對(duì)應(yīng)的第二計(jì)算節(jié)點(diǎn)和第二操作狀態(tài),判斷出查找到的第二計(jì)算節(jié)點(diǎn)為自身,且查找到的第二操作狀態(tài)為上電狀態(tài),啟動(dòng)虛擬機(jī)。

可選的,當(dāng)所述計(jì)算節(jié)點(diǎn)判斷出所述第二計(jì)算節(jié)點(diǎn)不是自身時(shí),該方法還包括:

所述計(jì)算節(jié)點(diǎn)將所述虛擬機(jī)對(duì)應(yīng)的第二操作狀態(tài)更改為空狀態(tài)。

可選的,所述對(duì)應(yīng)關(guān)系還包括虛擬機(jī)狀態(tài),所述查找虛擬機(jī)對(duì)應(yīng)的第一計(jì)算節(jié)點(diǎn)和第一操作狀態(tài)包括:

所述計(jì)算節(jié)點(diǎn)在所述對(duì)應(yīng)關(guān)系中查找虛擬機(jī)狀態(tài)為運(yùn)行狀態(tài)的虛擬機(jī)對(duì)應(yīng)的第一計(jì)算節(jié)點(diǎn)和第一操作節(jié)點(diǎn)。

本發(fā)明還提出了一種控制節(jié)點(diǎn),至少包括:

檢測(cè)模塊,用于檢測(cè)到需要對(duì)虛擬機(jī)進(jìn)行異地重生;

第一查找模塊,用于在虛擬機(jī)、計(jì)算節(jié)點(diǎn)和操作狀態(tài)之間的對(duì)應(yīng)關(guān)系中,查找需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第一操作狀態(tài);接收到第一通知消息, 在對(duì)應(yīng)關(guān)系中查找需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第二操作狀態(tài);

第一更改模塊,用于判斷出查找到的第一操作狀態(tài)為空狀態(tài),將對(duì)應(yīng)關(guān)系中需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)更改為目標(biāo)計(jì)算節(jié)點(diǎn),向查找模塊發(fā)送第一通知消息;判斷出查找到的第二操作狀態(tài)為空狀態(tài),將對(duì)應(yīng)關(guān)系中需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第二操作狀態(tài)更改為正在重建虛擬機(jī),并向目的計(jì)算節(jié)點(diǎn)發(fā)送進(jìn)行異地重生的消息。

可選的,所述第一查找模塊具體用于:

判斷出滿(mǎn)足異地重生的條件,在虛擬機(jī)、計(jì)算節(jié)點(diǎn)和操作狀態(tài)之間的對(duì)應(yīng)關(guān)系中,查找需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第一操作狀態(tài);接收到第一通知消息,在對(duì)應(yīng)關(guān)系中查找需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第二操作狀態(tài)。

可選的,所述第一更改模塊還用于:

判斷出所述第二操作狀態(tài)為非空狀態(tài),將所述需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)更改為更改之前的計(jì)算節(jié)點(diǎn)。

可選的,所述對(duì)應(yīng)關(guān)系還包括虛擬機(jī)狀態(tài),所述檢測(cè)模塊具體用于:

檢測(cè)到計(jì)算節(jié)點(diǎn)下電,在所述對(duì)應(yīng)關(guān)系中查找下電的計(jì)算節(jié)點(diǎn)對(duì)應(yīng)的虛擬機(jī)和虛擬機(jī)狀態(tài),判斷出查找到的虛擬機(jī)狀態(tài)為運(yùn)行狀態(tài),確定需要對(duì)查找到的虛擬機(jī)進(jìn)行異地重生。

本發(fā)明還提出了一種計(jì)算節(jié)點(diǎn),至少包括:

第二查找模塊,用于在發(fā)生故障后重新上電過(guò)程中,在虛擬機(jī)、計(jì)算節(jié)點(diǎn)和操作狀態(tài)之間的對(duì)應(yīng)關(guān)系中,查找虛擬機(jī)對(duì)應(yīng)的第一計(jì)算節(jié)點(diǎn)和第一操作狀態(tài);接收到第二通知消息,在對(duì)應(yīng)關(guān)系中查找虛擬機(jī)對(duì)應(yīng)的第二計(jì)算節(jié)點(diǎn)和第二操作狀態(tài);

第二更改模塊,用于判斷出查找到的第一計(jì)算節(jié)點(diǎn)為自身,且查找到的第一操作狀態(tài)為空狀態(tài),將虛擬機(jī)對(duì)應(yīng)的第一操作狀態(tài)更改為上電狀態(tài),向第二查找模塊發(fā)送第二通知消息;判斷出查找到的第二計(jì)算節(jié)點(diǎn)為自身,且查找到的第二操作狀態(tài)為上電狀態(tài),啟動(dòng)虛擬機(jī)。

可選的,所述第二更改模塊還用于:

判斷出所述第二計(jì)算節(jié)點(diǎn)不是自身,將所述虛擬機(jī)對(duì)應(yīng)的第二操作狀態(tài)更改為空狀態(tài)。

與現(xiàn)有技術(shù)相比,本發(fā)明的技術(shù)方案包括:控制節(jié)點(diǎn)檢測(cè)到需要對(duì)虛擬機(jī)進(jìn)行異地重生,在虛擬機(jī)、計(jì)算節(jié)點(diǎn)和操作狀態(tài)之間的對(duì)應(yīng)關(guān)系中,查找需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第一操作狀態(tài);判斷出查找到的第一操作狀態(tài)為空狀態(tài),將對(duì)應(yīng)關(guān)系中需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)更改為目標(biāo)計(jì)算節(jié)點(diǎn);控制節(jié)點(diǎn)在對(duì)應(yīng)關(guān)系中查找需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第二操作狀態(tài),判斷出查找到的第二操作狀態(tài)為空狀態(tài),將對(duì)應(yīng)關(guān)系中需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第二操作狀態(tài)更改為正在重建虛擬機(jī),并向目的計(jì)算節(jié)點(diǎn)發(fā)送進(jìn)行異地重生的消息。通過(guò)本發(fā)明的方案,控制節(jié)點(diǎn)在修改需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)前后均先判斷需要進(jìn)行異地重生的虛擬機(jī)的操作狀態(tài)是否為空狀態(tài),若均為空狀態(tài),則進(jìn)行異地重生,避免了發(fā)生故障的計(jì)算節(jié)點(diǎn)在控制節(jié)點(diǎn)修改需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)的過(guò)程中修改需要進(jìn)行異地重生的虛擬機(jī)的操作狀態(tài),從而減少了不同的兩個(gè)計(jì)算節(jié)點(diǎn)對(duì)同一個(gè)虛擬機(jī)的恢復(fù)操作導(dǎo)致的沖突。

附圖說(shuō)明

下面對(duì)本發(fā)明實(shí)施例中的附圖進(jìn)行說(shuō)明,實(shí)施例中的附圖是用于對(duì)本發(fā)明的進(jìn)一步理解,與說(shuō)明書(shū)一起用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明保護(hù)范圍的限制。

圖1為本發(fā)明恢復(fù)虛擬機(jī)的方法的流程圖;

圖2為本發(fā)明另一種恢復(fù)虛擬機(jī)的方法的流程圖;

圖3為本發(fā)明控制節(jié)點(diǎn)的結(jié)構(gòu)組成示意圖;

圖4為本發(fā)明計(jì)算節(jié)點(diǎn)的結(jié)構(gòu)組成示意圖。

具體實(shí)施方式

為了便于本領(lǐng)域技術(shù)人員的理解,下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的描 述,并不能用來(lái)限制本發(fā)明的保護(hù)范圍。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的各種方式可以相互組合。

參見(jiàn)圖1,本發(fā)明提出了一種恢復(fù)虛擬機(jī)的方法,包括:

步驟100、控制節(jié)點(diǎn)檢測(cè)到需要對(duì)虛擬機(jī)進(jìn)行異地重生,在虛擬機(jī)、計(jì)算節(jié)點(diǎn)和操作狀態(tài)之間的對(duì)應(yīng)關(guān)系中,查找需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第一操作狀態(tài);判斷出查找到的第一操作狀態(tài)為空狀態(tài),將對(duì)應(yīng)關(guān)系中需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)更改為目標(biāo)計(jì)算節(jié)點(diǎn)。

本步驟中,控制節(jié)點(diǎn)可以定時(shí)檢測(cè)是否需要對(duì)虛擬機(jī)進(jìn)行異地重生。

本步驟中,對(duì)應(yīng)關(guān)系還包括虛擬機(jī)狀態(tài),控制節(jié)點(diǎn)檢測(cè)到需要對(duì)虛擬機(jī)進(jìn)行異地重生包括:

控制節(jié)點(diǎn)檢測(cè)到計(jì)算節(jié)點(diǎn)下電,在對(duì)應(yīng)關(guān)系中查找下電的計(jì)算節(jié)點(diǎn)對(duì)應(yīng)的虛擬機(jī)和虛擬機(jī)狀態(tài),判斷出查找到的虛擬機(jī)狀態(tài)為運(yùn)行狀態(tài),確定需要對(duì)查找到的虛擬機(jī)進(jìn)行異地重生。

其中,控制節(jié)點(diǎn)可以采用帶外管理檢測(cè)計(jì)算節(jié)點(diǎn)是否下電,具體實(shí)現(xiàn)屬于本領(lǐng)域技術(shù)人員的公知技術(shù),并不用于限定本發(fā)明的保護(hù)范圍,這里不再贅述。

本步驟中,控制節(jié)點(diǎn)檢測(cè)到需要對(duì)虛擬機(jī)進(jìn)行異地重生后,在查找需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第一操作狀態(tài)之前還包括:

所述控制節(jié)點(diǎn)判斷出滿(mǎn)足異地重生的條件。

其中,如何判斷是否滿(mǎn)足異地重生的條件屬于本領(lǐng)域技術(shù)人員的公知技術(shù),并不用于限定本發(fā)明的保護(hù)范圍,這里不再贅述。

本步驟中,對(duì)應(yīng)關(guān)系可以由控制節(jié)點(diǎn)自身保存,也可以保存在系統(tǒng)中的一個(gè)專(zhuān)門(mén)用戶(hù)存儲(chǔ)數(shù)據(jù)的計(jì)算節(jié)點(diǎn)中。控制節(jié)點(diǎn)可以向該計(jì)算節(jié)點(diǎn)獲取對(duì)應(yīng)關(guān)系。

本步驟中,目標(biāo)計(jì)算節(jié)點(diǎn)可以由用戶(hù)輸入,也可以由控制節(jié)點(diǎn)分配。

本步驟中,當(dāng)控制節(jié)點(diǎn)判斷出查找到的第一操作狀態(tài)為非空狀態(tài)時(shí),結(jié) 束本流程。

步驟101、控制節(jié)點(diǎn)在對(duì)應(yīng)關(guān)系中查找需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第二操作狀態(tài),判斷出查找到的第二操作狀態(tài)為空狀態(tài),將對(duì)應(yīng)關(guān)系中需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第二操作狀態(tài)更改為正在重建虛擬機(jī),并向目的計(jì)算節(jié)點(diǎn)發(fā)送進(jìn)行異地重生的消息。

本步驟中,當(dāng)控制節(jié)點(diǎn)判斷出第二操作狀態(tài)為非空狀態(tài)時(shí),控制節(jié)點(diǎn)將需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)更改為更改之前的計(jì)算節(jié)點(diǎn)。也就是說(shuō),如果第二操作狀態(tài)為非空狀態(tài)(如正在創(chuàng)建虛擬機(jī)等),則將需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)更改為步驟100中更改之前的計(jì)算節(jié)點(diǎn),即不對(duì)需要進(jìn)行異地重生的虛擬機(jī)進(jìn)行異地重生。

步驟100和步驟101中,第一操作狀態(tài)和第二操作狀態(tài)僅僅是為了區(qū)別不同時(shí)間查找到的虛擬機(jī)的操作狀態(tài),第一操作狀態(tài)和第二操作狀態(tài)可能相同,也可能不同。

通過(guò)本發(fā)明的方法,控制節(jié)點(diǎn)在修改需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)前后均先判斷需要進(jìn)行異地重生的虛擬機(jī)的操作狀態(tài)是否為空狀態(tài),若均為空狀態(tài),則進(jìn)行異地重生,避免了發(fā)生故障的計(jì)算節(jié)點(diǎn)在控制節(jié)點(diǎn)修改需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)的過(guò)程中修改需要進(jìn)行異地重生的虛擬機(jī)的操作狀態(tài),從而減少了不同的兩個(gè)計(jì)算節(jié)點(diǎn)對(duì)同一個(gè)虛擬機(jī)的恢復(fù)操作導(dǎo)致的沖突。

參見(jiàn)圖2,本發(fā)明還提出了一種恢復(fù)虛擬機(jī)的方法,包括:

步驟200、計(jì)算節(jié)點(diǎn)在發(fā)生故障后重新上電過(guò)程中,在虛擬機(jī)、計(jì)算節(jié)點(diǎn)和操作狀態(tài)之間的對(duì)應(yīng)關(guān)系中,查找虛擬機(jī)對(duì)應(yīng)的第一計(jì)算節(jié)點(diǎn)和第一操作狀態(tài);判斷出查找到的第一計(jì)算節(jié)點(diǎn)為自身,且查找到的第一操作狀態(tài)為空狀態(tài),將虛擬機(jī)對(duì)應(yīng)的第一操作狀態(tài)更改為上電狀態(tài)。

本步驟中,計(jì)算節(jié)點(diǎn)在對(duì)應(yīng)關(guān)系中查找虛擬機(jī)對(duì)應(yīng)的第一計(jì)算節(jié)點(diǎn)和第一操作狀態(tài)之前可以先在對(duì)應(yīng)關(guān)系中查找自身對(duì)應(yīng)的虛擬機(jī),然后在確定是否啟動(dòng)查找到的虛擬機(jī)之前,先執(zhí)行查找查找到的虛擬機(jī)對(duì)應(yīng)的第一計(jì)算節(jié)點(diǎn)和第一操作狀態(tài)的步驟。

也可以遍歷系統(tǒng)中的所有虛擬機(jī),查找系統(tǒng)中的虛擬機(jī)對(duì)應(yīng)的第一計(jì)算節(jié)點(diǎn)和第一操作狀態(tài),本發(fā)明不做限定。

本步驟中,當(dāng)查找到的第一計(jì)算節(jié)點(diǎn)不是自身時(shí),結(jié)束本流程。

本步驟中,對(duì)應(yīng)關(guān)系還包括虛擬機(jī)狀態(tài),查找虛擬機(jī)對(duì)應(yīng)的第一計(jì)算節(jié)點(diǎn)和第一操作狀態(tài)包括:計(jì)算節(jié)點(diǎn)在對(duì)應(yīng)關(guān)系中查找虛擬機(jī)狀態(tài)為運(yùn)行狀態(tài)的虛擬機(jī)對(duì)應(yīng)的第一計(jì)算節(jié)點(diǎn)和第一操作節(jié)點(diǎn)。

步驟201、計(jì)算節(jié)點(diǎn)在對(duì)應(yīng)關(guān)系中查找虛擬機(jī)對(duì)應(yīng)的第二計(jì)算節(jié)點(diǎn)和第二操作狀態(tài),判斷出查找到的第二計(jì)算節(jié)點(diǎn)為自身,且查找到的第二操作狀態(tài)為上電狀態(tài),啟動(dòng)虛擬機(jī)。

本步驟中,當(dāng)計(jì)算節(jié)點(diǎn)判斷出第二計(jì)算節(jié)點(diǎn)不是自身時(shí),計(jì)算節(jié)點(diǎn)將虛擬機(jī)對(duì)應(yīng)的第二操作狀態(tài)更改為空狀態(tài)。

步驟200和步驟201中,第一計(jì)算節(jié)點(diǎn)和第二計(jì)算節(jié)點(diǎn)僅僅是為了區(qū)別不同時(shí)間查找到的虛擬機(jī)對(duì)應(yīng)的計(jì)算節(jié)點(diǎn),第一計(jì)算節(jié)點(diǎn)和第二計(jì)算節(jié)點(diǎn)可能相同,也可能不同;第一操作狀態(tài)和第二操作狀態(tài)僅僅是為了區(qū)別不同時(shí)間查找到的虛擬機(jī)的操作狀態(tài),第一操作狀態(tài)和第二操作狀態(tài)可能相同,也可能不同。

通過(guò)本發(fā)明的方法,計(jì)算節(jié)點(diǎn)在修改虛擬機(jī)的操作狀態(tài)前后均判斷虛擬機(jī)對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)是否是自身,若均為自身,則啟動(dòng)虛擬機(jī),避免了控制節(jié)點(diǎn)在計(jì)算節(jié)點(diǎn)修改虛擬機(jī)對(duì)應(yīng)的操作狀態(tài)的過(guò)程中修改虛擬機(jī)對(duì)應(yīng)的計(jì)算節(jié)點(diǎn),從而減少了不同的兩個(gè)計(jì)算節(jié)點(diǎn)對(duì)同一個(gè)虛擬機(jī)的恢復(fù)操作導(dǎo)致的沖突。

下面通過(guò)幾個(gè)具體實(shí)施例詳細(xì)說(shuō)明本發(fā)明的方法。

第一實(shí)施例,某一個(gè)計(jì)算節(jié)點(diǎn)發(fā)生故障后,控制節(jié)點(diǎn)檢測(cè)到需要對(duì)虛擬機(jī)進(jìn)行異地重生,判斷出滿(mǎn)足異地重生的條件,在虛擬機(jī)、計(jì)算節(jié)點(diǎn)和操作狀態(tài)之間的對(duì)應(yīng)關(guān)系中,查找需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第一操作狀態(tài);判斷出查找到的第一操作狀態(tài)為空狀態(tài),將對(duì)應(yīng)關(guān)系中需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)更改為目標(biāo)計(jì)算節(jié)點(diǎn)。

發(fā)生故障的計(jì)算節(jié)點(diǎn)重新上電過(guò)程中,在對(duì)應(yīng)關(guān)系中查找需要進(jìn)行異地 重生的虛擬機(jī)對(duì)應(yīng)的第一計(jì)算節(jié)點(diǎn)和第一操作狀態(tài),判斷出查找到的第一計(jì)算節(jié)點(diǎn)為目標(biāo)計(jì)算節(jié)點(diǎn)而非自身,結(jié)束啟動(dòng)需要進(jìn)行異地重生的虛擬機(jī)的流程。

控制節(jié)點(diǎn)在對(duì)應(yīng)關(guān)系中查找需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第二操作狀態(tài),判斷出查找到的第二操作狀態(tài)為空狀態(tài),將對(duì)應(yīng)關(guān)系中需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第二操作狀態(tài)更改為正在重建虛擬機(jī),并向目的計(jì)算節(jié)點(diǎn)發(fā)送進(jìn)行異地重生的消息。

第二實(shí)施例,某一個(gè)計(jì)算節(jié)點(diǎn)發(fā)生故障后,控制節(jié)點(diǎn)檢測(cè)到需要對(duì)虛擬機(jī)進(jìn)行異地重生,判斷出滿(mǎn)足異地重生的條件,在虛擬機(jī)、計(jì)算節(jié)點(diǎn)和操作狀態(tài)之間的對(duì)應(yīng)關(guān)系中,查找需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第一操作狀態(tài)。

發(fā)生故障的計(jì)算節(jié)點(diǎn)重新上電過(guò)程中,在對(duì)應(yīng)關(guān)系中查找需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第一計(jì)算節(jié)點(diǎn)和第一操作狀態(tài)。

控制節(jié)點(diǎn)判斷出查找到的第一操作狀態(tài)為空狀態(tài),將對(duì)應(yīng)關(guān)系中需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)更改為目標(biāo)計(jì)算節(jié)點(diǎn)。發(fā)生故障的計(jì)算節(jié)點(diǎn)判斷出查找到的第一計(jì)算節(jié)點(diǎn)為自身,且查找到的第一操作狀態(tài)為空狀態(tài),將虛擬機(jī)對(duì)應(yīng)的第一操作狀態(tài)更改為上電狀態(tài)。

控制節(jié)點(diǎn)在對(duì)應(yīng)關(guān)系中查找需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第二操作狀態(tài),判斷出查找到的第二操作狀態(tài)為非空狀態(tài),結(jié)束異地重生的流程。

發(fā)生故障的計(jì)算節(jié)點(diǎn)在對(duì)應(yīng)關(guān)系中查找虛擬機(jī)對(duì)應(yīng)的第二計(jì)算節(jié)點(diǎn)和第二操作狀態(tài),判斷出查找到的第二計(jì)算節(jié)點(diǎn)不是自身,結(jié)束啟動(dòng)需要進(jìn)行異地重生的虛擬機(jī)的流程。

第三實(shí)施例,某一個(gè)計(jì)算節(jié)點(diǎn)發(fā)生故障后,在重新上電的過(guò)程中,在虛擬機(jī)、計(jì)算節(jié)點(diǎn)和操作狀態(tài)之間的對(duì)應(yīng)關(guān)系中,查找虛擬機(jī)對(duì)應(yīng)的第一計(jì)算節(jié)點(diǎn)和第一操作狀態(tài);判斷出查找到的第一計(jì)算節(jié)點(diǎn)為自身,且查找到的第一操作狀態(tài)為空狀態(tài),將虛擬機(jī)對(duì)應(yīng)的第一操作狀態(tài)更改為上電狀態(tài)。

控制節(jié)點(diǎn)檢測(cè)到需要對(duì)虛擬機(jī)進(jìn)行異地重生,判斷出滿(mǎn)足異地重生的條件,在對(duì)應(yīng)關(guān)系中查找虛擬機(jī)對(duì)應(yīng)的第一操作狀態(tài),判斷出查找到的第一操 作狀態(tài)為非空狀態(tài),結(jié)束進(jìn)行異地重生的流程。

計(jì)算節(jié)點(diǎn)在對(duì)應(yīng)關(guān)系中查找虛擬機(jī)對(duì)應(yīng)的第二計(jì)算節(jié)點(diǎn)和第二操作狀態(tài),判斷出查找到的第二計(jì)算節(jié)點(diǎn)為自身,且查找到的第二操作狀態(tài)為上電狀態(tài),啟動(dòng)虛擬機(jī)。

參見(jiàn)圖3,本發(fā)明還提出了一種控制節(jié)點(diǎn),至少包括:

檢測(cè)模塊,用于檢測(cè)到需要對(duì)虛擬機(jī)進(jìn)行異地重生;

第一查找模塊,用于判斷出滿(mǎn)足異地重生的條件,在虛擬機(jī)、計(jì)算節(jié)點(diǎn)和操作狀態(tài)之間的對(duì)應(yīng)關(guān)系中,查找需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第一操作狀態(tài);接收到第一通知消息,在對(duì)應(yīng)關(guān)系中查找需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第二操作狀態(tài);

第一更改模塊,用于判斷出查找到的第一操作狀態(tài)為空狀態(tài),將對(duì)應(yīng)關(guān)系中需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)更改為目標(biāo)計(jì)算節(jié)點(diǎn),向查找模塊發(fā)送第一通知消息;判斷出查找到的第二操作狀態(tài)為空狀態(tài),將對(duì)應(yīng)關(guān)系中需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第二操作狀態(tài)更改為正在重建虛擬機(jī),并向目的計(jì)算節(jié)點(diǎn)發(fā)送進(jìn)行異地重生的消息。

本發(fā)明的控制節(jié)點(diǎn)中,第一查找模塊具體用于:

判斷出滿(mǎn)足異地重生的條件,在虛擬機(jī)、計(jì)算節(jié)點(diǎn)和操作狀態(tài)之間的對(duì)應(yīng)關(guān)系中,查找需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第一操作狀態(tài);接收到第一通知消息,在對(duì)應(yīng)關(guān)系中查找需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的第二操作狀態(tài)。

本發(fā)明的控制節(jié)點(diǎn)中,第一更改模塊還用于:

判斷出第二操作狀態(tài)為非空狀態(tài),將需要進(jìn)行異地重生的虛擬機(jī)對(duì)應(yīng)的計(jì)算節(jié)點(diǎn)更改為更改之前的計(jì)算節(jié)點(diǎn)。

本發(fā)明的控制節(jié)點(diǎn)中,對(duì)應(yīng)關(guān)系還包括虛擬機(jī)狀態(tài),檢測(cè)模塊具體用于:

檢測(cè)到計(jì)算節(jié)點(diǎn)下電,在對(duì)應(yīng)關(guān)系中查找下電的計(jì)算節(jié)點(diǎn)對(duì)應(yīng)的虛擬機(jī)和虛擬機(jī)狀態(tài),判斷出查找到的虛擬機(jī)狀態(tài)為運(yùn)行狀態(tài),確定需要對(duì)查找到的虛擬機(jī)進(jìn)行異地重生。

參見(jiàn)圖4,本發(fā)明還提出了一種計(jì)算節(jié)點(diǎn),至少包括:

第二查找模塊,用于在發(fā)生故障后重新上電過(guò)程中,在虛擬機(jī)、計(jì)算節(jié)點(diǎn)和操作狀態(tài)之間的對(duì)應(yīng)關(guān)系中,查找虛擬機(jī)對(duì)應(yīng)的第一計(jì)算節(jié)點(diǎn)和第一操作狀態(tài);接收到第二通知消息,在對(duì)應(yīng)關(guān)系中查找虛擬機(jī)對(duì)應(yīng)的第二計(jì)算節(jié)點(diǎn)和第二操作狀態(tài);

第二更改模塊,用于判斷出查找到的第一計(jì)算節(jié)點(diǎn)為自身,且查找到的第一操作狀態(tài)為空狀態(tài),將虛擬機(jī)對(duì)應(yīng)的第一操作狀態(tài)更改為上電狀態(tài),向第二查找模塊發(fā)送第二通知消息;判斷出查找到的第二計(jì)算節(jié)點(diǎn)為自身,且查找到的第二操作狀態(tài)為上電狀態(tài),啟動(dòng)虛擬機(jī)。

本發(fā)明的計(jì)算節(jié)點(diǎn)中,第二更改模塊還用于:

判斷出第二計(jì)算節(jié)點(diǎn)不是自身,將虛擬機(jī)對(duì)應(yīng)的第二操作狀態(tài)更改為空狀態(tài)。

需要說(shuō)明的是,以上所述的實(shí)施例僅是為了便于本領(lǐng)域的技術(shù)人員理解而已,并不用于限制本發(fā)明的保護(hù)范圍,在不脫離本發(fā)明的發(fā)明構(gòu)思的前提下,本領(lǐng)域技術(shù)人員對(duì)本發(fā)明所做出的任何顯而易見(jiàn)的替換和改進(jìn)等均在本發(fā)明的保護(hù)范圍之內(nèi)。

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