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

一種異常處理方法及系統(tǒng)、代理設(shè)備與控制裝置的制作方法

文檔序號:6368452閱讀:183來源:國知局
專利名稱:一種異常處理方法及系統(tǒng)、代理設(shè)備與控制裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明實(shí)施例涉及信息技術(shù)(Information Technology,簡稱IT)領(lǐng)域,尤其涉及一種異常處理方法及系統(tǒng)、代理設(shè)備與控制裝置。
背景技術(shù)
虛擬化技術(shù)實(shí)現(xiàn)對系統(tǒng)的虛擬化,虛擬化技術(shù)通過在物理機(jī)上添加虛擬機(jī)監(jiān)控程序(Virtual Machine Monitor,簡稱 VMM)實(shí)現(xiàn)。VMM 又被稱為監(jiān)管程序(Hypervisor)。從應(yīng)用程序的角度看,VMM運(yùn)行在虛擬機(jī)上的物理機(jī)(即實(shí)體計算機(jī))上。虛擬化技術(shù)能夠使得在一臺物理機(jī)上生成至少一個不同的虛擬機(jī),各虛擬機(jī)分別運(yùn)行至少一個不同或相同的操作系統(tǒng)。虛擬化技術(shù)通過將不同的應(yīng)用運(yùn)行在不同的虛擬機(jī)上,可以避免不同應(yīng)用之間的互相干擾,例如,在一個應(yīng)用的崩潰時,不會影響其它應(yīng)用。
現(xiàn)有技術(shù)中,分別設(shè)置在兩個物理機(jī)(主設(shè)備側(cè)的物理機(jī)和備設(shè)備側(cè)的物理機(jī))中的虛擬機(jī)互為主備虛擬機(jī),主設(shè)備側(cè)的物理機(jī)中的虛擬機(jī)稱為主虛擬機(jī),備設(shè)備側(cè)的物理機(jī)中的虛擬機(jī)稱為備虛擬機(jī)。主虛擬機(jī)由主設(shè)備側(cè)的物理機(jī)中的VMM來監(jiān)控,備虛擬機(jī)由備設(shè)備側(cè)的物理機(jī)中的VMM來監(jiān)控。具體地,在主設(shè)備側(cè)的物理機(jī)中的VMM和備設(shè)備側(cè)的物理機(jī)中的VMM中均設(shè)置有代理(Agent)來監(jiān)控各自所在物理機(jī)上的主虛擬機(jī)或者備虛擬機(jī)。兩個VMM的代理通過心跳互相感知,若主設(shè)備側(cè)的物理機(jī)中VMM上的代理監(jiān)控到該主設(shè)備側(cè)的物理機(jī)上的主虛擬機(jī)發(fā)生異常時,通過心跳消息通知備設(shè)備側(cè)的物理機(jī)的VMM上的代理,以拉起備設(shè)備側(cè)物理機(jī)上的備虛擬機(jī),使得備設(shè)備側(cè)的物理機(jī)上的備虛擬機(jī)代替主設(shè)備側(cè)的物理機(jī)上的主虛擬機(jī)開始運(yùn)行,以實(shí)現(xiàn)對虛擬機(jī)的進(jìn)行異常處理,從而保證虛擬機(jī)的正常運(yùn)行,實(shí)現(xiàn)虛擬機(jī)的高可用性(High Availability ;HA)。發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下缺點(diǎn)現(xiàn)有技術(shù)的技術(shù)方案僅能對虛擬機(jī)的異常進(jìn)行處理,而無法對虛擬機(jī)中的應(yīng)用或者應(yīng)用組發(fā)生異常,或者虛擬機(jī)所在的物理機(jī)的發(fā)生異常進(jìn)行處理,因此現(xiàn)有技術(shù)的異常處理方案的靈活性較差。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種異常處理方法及系統(tǒng)、代理設(shè)備與控制裝置,用于解決現(xiàn)有技術(shù)中異常處理方案的靈活性較差的缺陷,以便提高異常處理的靈活性?!矫?本發(fā)明實(shí)施例提供一種異常處理方法,包括物理機(jī)的代理設(shè)備監(jiān)控被監(jiān)控對象是否發(fā)生異常;所述被監(jiān)控對象為運(yùn)行在所述物理機(jī)上的虛擬機(jī)、或者運(yùn)行在所述物理機(jī)上的虛擬機(jī)中的應(yīng)用或應(yīng)用組;當(dāng)所述被監(jiān)控對象發(fā)生異常時,所述物理機(jī)的代理設(shè)備向控制裝置發(fā)送所述被監(jiān)控對象的異常消息,以便所述控制裝置將自身存儲的所述被監(jiān)控對象的狀態(tài)信息更新為異常狀態(tài)信息;所述物理機(jī)的代理設(shè)備接收所述控制裝置發(fā)送的配置策略消息,所述配置策略消息由所述控制裝置根據(jù)所述被監(jiān)控對象的狀態(tài)信息進(jìn)行配置;所述物理機(jī)的代理設(shè)備根據(jù)所述配置策略消息進(jìn)行異常處理。另一方面,本發(fā)明實(shí)施例還提供一種異常處理方法,包括控制裝置監(jiān)控物理機(jī)是否發(fā)生異常,其中,所述物理機(jī)上運(yùn)行至少一個虛擬機(jī),所述至少一個虛擬機(jī)中每一個虛擬機(jī)上運(yùn)行至少一個應(yīng)用;當(dāng)所述物理機(jī)發(fā)生異常時,所述控制裝置將自身存儲的所述物理機(jī)上每一個虛擬機(jī)的狀態(tài)信息、以及所述每一個虛擬機(jī)中每一個應(yīng)用的狀態(tài)信息更新為異常狀態(tài)信息;所述控制裝置根據(jù)預(yù)設(shè)的配置策略消息進(jìn)行異常處理。再一方面,本發(fā)明實(shí)施例提供一種代理設(shè)備,包括 監(jiān)控模塊,用于監(jiān)控被監(jiān)控對象是否發(fā)生異常;所述被監(jiān)控對象為運(yùn)行在所述物理機(jī)上的虛擬機(jī)、或者運(yùn)行在所述物理機(jī)上的虛擬機(jī)中的應(yīng)用或應(yīng)用組;發(fā)送模塊,用于當(dāng)所述被監(jiān)控對象發(fā)生異常時,向控制裝置發(fā)送所述被監(jiān)控對象的異常消息,以便所述控制裝置將自身存儲的所述被監(jiān)控對象的狀態(tài)信息更新為異常狀態(tài)
信息;接收模塊,用于接收所述控制裝置發(fā)送的配置策略消息,所述配置策略消息由所述控制裝置根據(jù)所述被監(jiān)控對象的狀態(tài)信息進(jìn)行配置;異常處理模塊,用于根據(jù)所述配置策略消息進(jìn)行異常處理。又一方面,本發(fā)明實(shí)施例還提供一種控制裝置,包括監(jiān)控模塊,用于監(jiān)控物理機(jī)是否發(fā)生異常,其中,所述物理機(jī)上運(yùn)行至少一個虛擬機(jī),所述至少一個虛擬機(jī)中每一個虛擬機(jī)上運(yùn)行至少一個應(yīng)用;更新模塊,用于當(dāng)所述物理機(jī)異常時,將自身存儲的所述物理機(jī)上每一個虛擬機(jī)的狀態(tài)信息、以及所述每一個所述虛擬機(jī)中每一個應(yīng)用的狀態(tài)信息更新為異常狀態(tài)信息;異常處理模塊,用于根據(jù)預(yù)設(shè)的配置策略消息進(jìn)行異常處理。再另一方面,本發(fā)明實(shí)施例還提供一種異常處理系統(tǒng),包括主設(shè)備側(cè)物理機(jī)、備設(shè)備側(cè)物理機(jī)和控制裝置,其中,所述主設(shè)備側(cè)物理機(jī)和所述備設(shè)備側(cè)物理機(jī)互為主備機(jī);所述主設(shè)備側(cè)物理機(jī)和所述備設(shè)備側(cè)物理機(jī)上分別設(shè)置有虛擬機(jī)監(jiān)控裝置,所述主設(shè)備側(cè)物理機(jī)和所述備設(shè)備側(cè)物理機(jī)上運(yùn)行有至少一個虛擬機(jī),且所述至少一個虛擬機(jī)中每個虛擬機(jī)上運(yùn)行有至少一個應(yīng)用或應(yīng)用組;且每個所述虛擬機(jī)監(jiān)控裝置中設(shè)置有如上所述的代理設(shè)備;控制裝置分別與所述主設(shè)備側(cè)物理機(jī)和所述備設(shè)備側(cè)物理機(jī)上的代理設(shè)備相通信,且所述兩個代理設(shè)備互相通信。再又一方面,本發(fā)明實(shí)施例還提供一種異常處理系統(tǒng),包括主設(shè)備側(cè)物理機(jī)、備設(shè)備側(cè)物理機(jī)和控制裝置,所述主設(shè)備側(cè)物理機(jī)和所述備設(shè)備側(cè)物理機(jī)互為主備機(jī);所述控制裝置采用如上所述的控制裝置,所述主設(shè)備側(cè)物理機(jī)和所述備設(shè)備側(cè)物理機(jī)分別與所述控制裝置相通信本發(fā)明實(shí)施例的異常處理方法及系統(tǒng)、代理設(shè)備與控制裝置,通過采用上述技術(shù)方案,能夠克服現(xiàn)有技術(shù)中僅能對虛擬機(jī)的異常進(jìn)行處理,而無法對虛擬機(jī)中的應(yīng)用或者應(yīng)用組的異常進(jìn)行處理的缺陷,或者無法對虛擬機(jī)所在的物理機(jī)的異常進(jìn)行處理的缺陷,采用本發(fā)明實(shí)施例的技術(shù)方案,不僅可以對虛擬機(jī)的異常進(jìn)行處理,還能夠?qū)μ摂M機(jī)中的應(yīng)用或者應(yīng)用組,或者虛擬機(jī)所在的物理機(jī)的異常進(jìn)行處理,因此,本發(fā)明實(shí)施例的異常處理方案在實(shí)現(xiàn)虛擬機(jī)的HA過程中,靈活性較高。


為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I為本發(fā)明實(shí)施例提供的一種異常處理系統(tǒng)的架構(gòu)圖。圖2為本發(fā)明一實(shí)施例提供的異常處理方法的流程圖。
圖3為本發(fā)明另一實(shí)施例的異常處理方法的流程圖。圖4為本發(fā)明一實(shí)施例提供的異常處理方法的信令圖。圖5為本發(fā)明另一實(shí)施例提供的異常處理方法的信令圖。圖6為本發(fā)明又一實(shí)施例提供的異常處理方法的信令圖。圖7為本發(fā)明再一實(shí)施例提供的異常處理方法的信令圖。圖8為本發(fā)明實(shí)施例提供的代理設(shè)備的結(jié)構(gòu)示意圖。圖9為本發(fā)明實(shí)施例提供的控制裝置的結(jié)構(gòu)示意圖。
圖10為本發(fā)明一實(shí)施例提供的異常處理系統(tǒng)的結(jié)構(gòu)示意圖。圖11為本發(fā)明另一實(shí)施例提供的異常處理系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。圖I為本發(fā)明實(shí)施例提供的一種異常處理系統(tǒng)的架構(gòu)圖。如圖I所示,本實(shí)施例中的HA Controller具體可以為本發(fā)明實(shí)施例中的控制裝置,HA Agent具體可以為本發(fā)明實(shí)施例中的代理設(shè)備。其中物理機(jī)A為主設(shè)備側(cè)的物理機(jī),物理機(jī)B為備設(shè)備側(cè)的物理機(jī)。VMM A為主設(shè)備側(cè)的虛擬機(jī)監(jiān)控器(或虛擬機(jī)監(jiān)控裝置),VMM B為備設(shè)備側(cè)的虛擬機(jī)監(jiān)控器。在VMM A上設(shè)置的HA Agent為主設(shè)備側(cè)的代理設(shè)備,在VMM B上設(shè)置的HA Agent為備設(shè)備側(cè)的代理設(shè)備。如圖I所示,物理機(jī)A和物理機(jī)B上的HA Agent均可以與控制裝S HA Controller通信,圖I中的Guest OS為客戶端操作系統(tǒng)(Operating system,簡稱OS)。VM(主機(jī))為設(shè)置在主設(shè)備側(cè)的物理機(jī)A上的一個虛擬機(jī),VM(備機(jī))為設(shè)置在備設(shè)備側(cè)的物理機(jī)B上的一個虛擬機(jī)。VM(SW)和VM(備機(jī))互為主備的虛擬機(jī)。如圖I所示,其中VifO為虛擬機(jī)的虛擬網(wǎng)卡,作為應(yīng)用心跳網(wǎng)卡。該網(wǎng)卡和實(shí)際的物理網(wǎng)卡并不互通,它只和VMM的BrO互通。Vifl為虛擬機(jī)的虛擬網(wǎng)卡,作為應(yīng)用消息接收網(wǎng)卡,該網(wǎng)卡和實(shí)際的物理網(wǎng)卡并不互通,它只和VMM的Brl互通。Vifn為應(yīng)用的業(yè)務(wù)網(wǎng)卡,應(yīng)用通過該類型網(wǎng)卡進(jìn)行應(yīng)用數(shù)據(jù)發(fā)送、消息處理。這類型網(wǎng)卡和實(shí)際的物理網(wǎng)卡是互通的。
BrO為VMM上的網(wǎng)橋bridge,它僅和VifO連通,它并沒有綁定物理網(wǎng)卡,因此,BrO和VifO的廣播信息不會影響其他網(wǎng)絡(luò)。Brl為VMM上的網(wǎng)橋bridge,它僅和Vifl連通,它并沒有綁定物理網(wǎng)卡,同樣,Brl和Vifl的廣播信息不會影響其他網(wǎng)絡(luò)。Brn為VMM上的網(wǎng)橋bridge,它和Vifn連通,它綁定物理網(wǎng)卡,因此可以和其他虛擬機(jī)上的業(yè)務(wù)通信。MSend為心跳信息發(fā)送模塊,虛擬機(jī)中的應(yīng)用通過它發(fā)送心跳信息。MRev為消息接收模塊,應(yīng)用通過它接收HA Agent的控制信息,來實(shí)現(xiàn)對業(yè)務(wù)的啟動,停止等操作。本實(shí)施例中的應(yīng)用I、應(yīng)用η為跑在虛擬機(jī)上的具體業(yè)務(wù),比如企業(yè)信息管理系統(tǒng)、網(wǎng)上購書系統(tǒng)等,它通過本方案提供的HA框架實(shí)現(xiàn)自身業(yè)務(wù)的HA切換。應(yīng)用通過MSend發(fā)送心跳信息,來聲明它是“可用”的。VM(SW)為應(yīng)用所在的主機(jī),在發(fā)生異常前承擔(dān)應(yīng)用的運(yùn)行環(huán)境。VM(備機(jī))應(yīng)用所在的備機(jī),在VM(SW)發(fā)生異常時,接管VM(主機(jī))的應(yīng)用。VMM A為VM(SW)所 在的Hypervisor。VMM B為VM(備機(jī))所在的Hypervisor。物理機(jī)A為主機(jī)側(cè)的實(shí)際的物理機(jī),物理機(jī)B為備機(jī)側(cè)的實(shí)際的物理機(jī)。交換機(jī)為實(shí)際的交換機(jī)設(shè)備。其中需要說明的是,本實(shí)施例中的VifruBrn僅作示例性說明,以說明VifruBrn和VifO, Vifl, BrO, Brl的差異Vifn,Brn是和外部網(wǎng)絡(luò)互通的,而VifO, Vifl7BrO, Brl僅僅是VMM內(nèi)部的私有虛擬網(wǎng)絡(luò)。本實(shí)施例中,HA Controller具體為一個控制裝置,起到策略控制中心的作用,控制每種應(yīng)用或者應(yīng)用組或者虛擬機(jī)或者物理機(jī)發(fā)生異常后的HA行為,通過向HA Agent發(fā)送控制消息,實(shí)現(xiàn)了應(yīng)用的主備切換。主設(shè)備側(cè)的HA Agent會時時監(jiān)視應(yīng)用狀態(tài),一旦發(fā)現(xiàn)應(yīng)用狀態(tài)異常后,會通知HA Controller,HA Controller記錄了所管理應(yīng)用的狀態(tài)信息,這樣用戶或者其他系統(tǒng)可以通過HA Controller查詢各應(yīng)用的狀態(tài)信息。HA Controller記錄了應(yīng)用的如下信息應(yīng)用ID、所在主機(jī)ID、所在應(yīng)用組ID、應(yīng)用狀態(tài)(正常、異常、未知等)、時間等信息。其中HA Agent接收HA Controller的調(diào)度,通過brO監(jiān)控虛擬機(jī)虛擬網(wǎng)卡的網(wǎng)絡(luò)流量,通過Brl向虛擬機(jī)發(fā)送消息。HA Agent可以同時監(jiān)聽多個VM里面的多個應(yīng)用的心跳信息。其中,需要說明的是,虛擬機(jī)監(jiān)控器可以采用硬件或軟件的方式實(shí)現(xiàn);在采用硬件的方式實(shí)現(xiàn)虛擬機(jī)監(jiān)控器時,虛擬機(jī)監(jiān)控器中的代理設(shè)備可以采用硬件或軟件的方式實(shí)現(xiàn)。基于圖I所示的系統(tǒng)架構(gòu)圖,本發(fā)明實(shí)施例提供一種異常處理方法,如圖2所示。本實(shí)施例的異常處理方法的執(zhí)行主體為物理機(jī)的代理設(shè)備,具體地,該物理機(jī)的代理設(shè)備位于物理機(jī)中的虛擬機(jī)監(jiān)控器中。本實(shí)施例的異常處理方法,具體可以包括如下步驟100、物理機(jī)的代理設(shè)備監(jiān)控被監(jiān)控對象是否發(fā)生異常;其中,本實(shí)施例中的被監(jiān)控對象為運(yùn)行在物理機(jī)上的虛擬機(jī)、或者運(yùn)行在物理機(jī)上的虛擬機(jī)中的應(yīng)用或應(yīng)用組;其中,需要說明的是,本實(shí)施例中的應(yīng)用組可以由一組能夠相互影響的應(yīng)用構(gòu)成,如果該應(yīng)用組中一個應(yīng)用出現(xiàn)異常,該應(yīng)用組中的其他應(yīng)用會受到影響,此時認(rèn)為該應(yīng)用組出現(xiàn)異常;101、當(dāng)被監(jiān)控對象發(fā)生異常時,物理機(jī)的代理設(shè)備向控制裝置發(fā)送被監(jiān)控對象的異常消息,以便控制裝置將自身存儲的被監(jiān)控對象的狀態(tài)信息更新為異常狀態(tài)信息;其中,需要說明的是,當(dāng)監(jiān)控對象正常時,代理設(shè)備不執(zhí)行任何操作,繼續(xù)監(jiān)控即可;102、物理機(jī)的代理設(shè)備接收控制裝置發(fā)送的配置策略消息,該配置策略消息由控制裝置根據(jù)被監(jiān)控對象的狀態(tài)信息進(jìn)行配置;103、物理機(jī)的代理設(shè)備根據(jù)配置策略消息進(jìn)行異常處理。本實(shí)施例的異常處理方法可以用于監(jiān)控主設(shè)備側(cè)的虛擬機(jī)、還可以用于監(jiān)控主設(shè)備側(cè)的虛擬機(jī)中的應(yīng)用或應(yīng)用組是否發(fā)生異常,并在發(fā)生異常時進(jìn)行異常處理,以實(shí)現(xiàn)虛擬機(jī)的HA。因此本實(shí)施例中的代理設(shè)備具體可以為上述圖I所示的架構(gòu)圖中的HA Agent。此時對應(yīng)地本實(shí)施例的控制裝置具體可以為上述圖I所示架構(gòu)圖中的HA Controller。本實(shí)施例的異常處理方法,通過采用采用上述技術(shù)方案,能夠克服現(xiàn)有技術(shù)中僅 能對虛擬機(jī)的異常進(jìn)行處理,而無法對虛擬機(jī)中的應(yīng)用或者應(yīng)用組,進(jìn)行異常處理的缺陷,采用本實(shí)施例的技術(shù)方案,不僅可以對虛擬機(jī)的異常進(jìn)行處理,還能夠?qū)μ摂M機(jī)中的應(yīng)用或者應(yīng)用組的進(jìn)行異常處理,因此,本實(shí)施例的異常處理方案在實(shí)現(xiàn)應(yīng)用、應(yīng)用組或者虛擬機(jī)的HA過程中,靈活性較高??蛇x地,在上述圖2所示實(shí)施例的基礎(chǔ)上,還可以包括如下可選技術(shù)方案,形成上述圖2所示實(shí)施例的擴(kuò)展實(shí)施例。在圖2所示實(shí)施例的擴(kuò)展實(shí)施例中,上述圖2所示實(shí)施例中的物理機(jī)為主設(shè)備側(cè)的物理機(jī),物理機(jī)的代理設(shè)備為主設(shè)備側(cè)的代理設(shè)備;此時在圖2所示實(shí)施例的擴(kuò)展實(shí)施例中,102中物理機(jī)的代理設(shè)備接收到的配置策略消息用于指示代理設(shè)備重啟被監(jiān)控對象,當(dāng)重啟的次數(shù)達(dá)到預(yù)設(shè)閾值,被監(jiān)控對象仍然異常時,則通知備設(shè)備側(cè)拉起被監(jiān)控對象?;蛘?,102中物理機(jī)的代理設(shè)備接收到的配置策略消息用于指示代理設(shè)備進(jìn)行通知備設(shè)備側(cè)拉起被監(jiān)控對象,此時,可以不在主設(shè)備側(cè)重啟該被監(jiān)控對象,而直接在備設(shè)備側(cè)拉起該被監(jiān)控對象。進(jìn)一步可選地,在配置策略消息指示重啟被監(jiān)控對象時,當(dāng)重啟的次數(shù)達(dá)到預(yù)設(shè)閾值,被監(jiān)控對象仍然異常時,主設(shè)備側(cè)的代理設(shè)備通知備設(shè)備側(cè)拉起被監(jiān)控對象,此時對應(yīng)的步驟103 “物理機(jī)的代理設(shè)備根據(jù)配置策略消息進(jìn)行異常處理”,具體可以包括如下步驟(I)主設(shè)備側(cè)的代理設(shè)備根據(jù)配置策略消息,重啟被監(jiān)控對象;并更新重啟次數(shù);例如,當(dāng)?shù)谝淮沃貑⒈槐O(jiān)控對象時,重啟次數(shù)設(shè)為1,以后每次重啟一次被監(jiān)控對象,重啟次數(shù)加I ;(2)主設(shè)備側(cè)的代理設(shè)備判斷被監(jiān)控對象是否恢復(fù)正常;若代理設(shè)備判斷被監(jiān)控對象恢復(fù)正常,執(zhí)行步驟(3);否則,執(zhí)行步驟(4);(3)主設(shè)備側(cè)的代理設(shè)備向控制裝置發(fā)送被監(jiān)控對象重啟成功的消息,以便控制裝置將該控制裝置中存儲的被監(jiān)控對象的狀態(tài)信息更改為正常狀態(tài)信息,結(jié)束;(4)主設(shè)備側(cè)的代理設(shè)備判斷重啟次數(shù)是否達(dá)到預(yù)設(shè)閾值;若重啟次數(shù)未達(dá)到預(yù)設(shè)閾值時,執(zhí)行步驟(I);否則,確定重啟截止,執(zhí)行步驟(5);例如,若預(yù)設(shè)閾值為3,第二次重啟后被監(jiān)控對象仍然異常,則繼續(xù)執(zhí)行步驟(I);(5)主設(shè)備側(cè)的代理設(shè)備向備設(shè)備側(cè)的代理設(shè)備發(fā)送拉起被監(jiān)控對象的消息。
當(dāng)該配置策略消息用于指示通知備設(shè)備側(cè)拉起被監(jiān)控對象,此時對應(yīng)的步驟103 “代理設(shè)備根據(jù)配置策略消息進(jìn)行異常處理”僅包括上述步驟(5)。其中,需要說明的是,術(shù)語“拉起被監(jiān)控對象”具體是指在備設(shè)備側(cè)運(yùn)行被監(jiān)控對象,運(yùn)行在主設(shè)備側(cè)的被監(jiān)控對象發(fā)生異常時,可以通過通知被設(shè)備側(cè)運(yùn)行被監(jiān)控對象來為用戶提供不間斷的服務(wù)。本實(shí)施例的主設(shè)備側(cè)的代理設(shè)備,若與備設(shè)備側(cè)的代理設(shè)備無法通信時,主設(shè)備側(cè)的代理設(shè)備可以通過控制裝置向備設(shè)備側(cè)的代理設(shè)備發(fā)送拉起被監(jiān)控對象的消息;例如代理設(shè)備向控制裝置發(fā)送讓備設(shè)備側(cè)的代理設(shè)備拉起被監(jiān)控對象的消息,控制裝置接收該讓備設(shè)備側(cè)的代理設(shè)備拉起被監(jiān)控對象的消息,并向備設(shè)備側(cè)的代理設(shè)備發(fā)送拉起被監(jiān)控對象的消息,這樣,備設(shè)備側(cè)的代理設(shè)備接收到該消息之后,拉起被監(jiān)控對象,如拉起虛擬機(jī)、或者拉起虛擬機(jī)中的應(yīng)用或者應(yīng)用組??蛇x地,在圖2所示實(shí)施例的擴(kuò)展實(shí)施例中,當(dāng)被監(jiān)控對象為運(yùn)行在物理機(jī)上的虛擬機(jī)中的應(yīng)用時,步驟100中的“物理機(jī)的代理設(shè)備監(jiān)控被監(jiān)控對象是否發(fā)生異常”,具體可以包括若物理機(jī)的代理設(shè)備在預(yù)設(shè)時間段內(nèi)未接收到虛擬機(jī)中的應(yīng)用廣播的心跳消息,則物理機(jī)的代理設(shè)備確定虛擬機(jī)中的應(yīng)用發(fā)生異常,否則,物理機(jī)的代理設(shè)備確定虛擬機(jī)中的應(yīng)用正常??蛇x地,在圖2所示實(shí)施例的擴(kuò)展實(shí)施例中,若被監(jiān)控對象為運(yùn)行在物理機(jī)上的虛擬機(jī)中的應(yīng)用組時,步驟100中的“物理機(jī)的代理設(shè)備監(jiān)控被監(jiān)控對象是否發(fā)生異?!?,具體可以包括若物理機(jī)的代理設(shè)備在預(yù)設(shè)時間段內(nèi)未接收到所述應(yīng)用組中的任意一個應(yīng)用廣播的心跳消息,則物理機(jī)的代理設(shè)備確定虛擬機(jī)中的應(yīng)用組異常,否則,物理機(jī)的代理設(shè)備確定虛擬機(jī)中的應(yīng)用組正常。可選地,在圖2所示實(shí)施例的擴(kuò)展實(shí)施例中,若被監(jiān)控對象為運(yùn)行在物理機(jī)上的虛擬機(jī)時,步驟100中的“物理機(jī)的代理設(shè)備監(jiān)控被監(jiān)控對象是否異?!保唧w可以包括若物理機(jī)的代理設(shè)備在預(yù)設(shè)時間段內(nèi)未接收到虛擬機(jī)中的所有應(yīng)用廣播的心跳消息,則物理機(jī)的代理設(shè)備確定虛擬機(jī)發(fā)生異常,否則確定虛擬機(jī)正常;或者物理機(jī)的代理設(shè)備通過信令監(jiān)測確定虛擬機(jī)的狀態(tài)是否發(fā)生異常。例如圖I所示的異常處理系統(tǒng)架構(gòu)圖中,在物理機(jī)A—側(cè)為主設(shè)備側(cè),在主設(shè)備側(cè),代理設(shè)備(HA Agent)接收應(yīng)用(如應(yīng)用I)廣播的心跳消息,在具體實(shí)現(xiàn)時,可以在每個虛擬機(jī)中設(shè)置有心跳消息發(fā)送模塊(也可以稱為Msend模塊)、虛擬機(jī)的虛擬網(wǎng)卡VifO。對應(yīng)地在VMM上設(shè)置有網(wǎng)橋BrO,網(wǎng)橋BrO僅和虛擬機(jī)的虛擬網(wǎng)卡VifO連通,它并沒有綁定物理網(wǎng)卡,因此,網(wǎng)橋BrO和虛擬機(jī)的虛擬網(wǎng)卡VifO的廣播信息不占用任何物理網(wǎng)絡(luò)資源,從而能夠有效地節(jié)約網(wǎng)絡(luò)資源。應(yīng)用可以通過該心跳消息發(fā)送模塊(如Msend模塊)發(fā)送心跳消息,虛擬機(jī)的虛擬網(wǎng)卡vifO作為應(yīng)用心跳網(wǎng)卡,再把心跳消息轉(zhuǎn)給VMM中的網(wǎng)橋BrO,最終該消息由VMM中的代理設(shè)備監(jiān)聽并接收到。而且應(yīng)用每過一定的時間間隔就會廣播心跳消息, 在不考慮從心跳消息發(fā)送模塊到VMM中的代理設(shè)備之間的鏈路故障的情況下,若應(yīng)用正常,代理設(shè)備就會監(jiān)聽并接收到該應(yīng)用的心跳消息。若應(yīng)用發(fā)生異常,代理設(shè)備就接收不到該應(yīng)用的心跳消息。若在預(yù)設(shè)的時間長度內(nèi),代理設(shè)備檢測不到該應(yīng)用的心跳消息,則確定該應(yīng)用發(fā)生異常。
其中需要說明的是,本實(shí)施例的心跳消息中可以包括該消息ID,應(yīng)用ID、應(yīng)用名稱、應(yīng)用狀態(tài),以及該應(yīng)用所屬虛擬機(jī)所在的物理機(jī)的IP。上述實(shí)施例的異常處理方法,通過采用采用上述技術(shù)方案,能夠克服現(xiàn)有技術(shù)中僅能對虛擬機(jī)的異常進(jìn)行處理,而無法對虛擬機(jī)中的應(yīng)用或者應(yīng)用組進(jìn)行異常處理的缺陷,采用本實(shí)施例的技術(shù)方案,不僅可以對虛擬機(jī)的異常進(jìn)行處理,還能夠?qū)μ摂M機(jī)中的應(yīng)用或者應(yīng)用組的異常進(jìn)行處理,因此,本實(shí)施例的異常處理方案在實(shí)現(xiàn)虛擬機(jī)的HA過程中,靈活性較高;其次,主設(shè)備側(cè)的代理設(shè)備監(jiān)控到異常時,根據(jù)配置策略消息向備設(shè)備側(cè)的代理設(shè)備發(fā)送拉起所述被監(jiān)控對象的消息,使得在主設(shè)備側(cè)發(fā)生異常時,能夠及時地啟用備設(shè)備側(cè)的被監(jiān)控對象,從而可以為用戶提供連續(xù)的服務(wù);另外,主設(shè)備側(cè)的代理設(shè)備監(jiān)控到有異常發(fā)生時,主設(shè)備側(cè)的代理設(shè)備重啟被監(jiān)控對象,若重啟后恢復(fù)正常,則無需向備設(shè)備側(cè)發(fā)送拉起被監(jiān)控對象的消息,從而節(jié)約了通信開銷;再次,主設(shè)備側(cè)的代理設(shè)備監(jiān)控到有異常發(fā)生時,主設(shè)備側(cè)的代理設(shè)備重啟被監(jiān)控對象,若重啟次數(shù)達(dá)到預(yù)設(shè)閾值,且被監(jiān)控對象仍然異常,則向備設(shè)備側(cè)的代理設(shè)備發(fā)送拉起重啟被監(jiān)控對象,從而能夠提供連續(xù)的服務(wù),保證能夠向用戶提供不間斷的服務(wù);上述實(shí)施例中,通過采用上述技術(shù)方案對應(yīng)用、或者應(yīng)用組或者虛擬機(jī)進(jìn)行的監(jiān)控,能夠有效地保證對異常的監(jiān)控的效率,從而能夠在 應(yīng)用、或者應(yīng)用組或者虛擬機(jī)發(fā)生異常時,對異常進(jìn)行及時處理,從而保證了應(yīng)用、或者應(yīng)用組或者虛擬機(jī)的HA。圖3為本發(fā)明另一實(shí)施例的異常處理方法的流程圖。如圖3所示,本實(shí)施例的異常處理方法的執(zhí)行主體為控制裝置。本實(shí)施例的異常處理方法,具體可以包括如下步驟200、控制裝置監(jiān)控物理機(jī)是否發(fā)生異常;其中,本實(shí)施例中物理機(jī)上運(yùn)行至少一個虛擬機(jī),至少一個虛擬機(jī)中每一個虛擬機(jī)上運(yùn)行至少一個應(yīng)用;201、當(dāng)物理機(jī)發(fā)生異常時,控制裝置將自身存儲的物理機(jī)上的每一個虛擬機(jī)的狀態(tài)信息、以及每一個虛擬機(jī)中每一個應(yīng)用的狀態(tài)信息更新為異常狀態(tài)信息;202、控制裝置根據(jù)預(yù)設(shè)的配置策略消息進(jìn)行異常處理。本實(shí)施例的異常處理方法用于監(jiān)控物理機(jī)是否發(fā)生異常,并在發(fā)生異常時進(jìn)行異常處理,實(shí)現(xiàn)虛擬機(jī)的HA。本實(shí)施例的控制裝置具體可以為圖I所示的架構(gòu)圖中的HAController。本實(shí)施例的異常處理方法,通過采用采用上述技術(shù)方案,能夠克服現(xiàn)有技術(shù)中而無法對虛擬機(jī)所在的物理機(jī)的異常進(jìn)行處理的缺陷,采用本實(shí)施例的技術(shù)方案,不能夠?qū)μ摂M機(jī)所在的物理機(jī)的異常進(jìn)行處理,因此,本實(shí)施例的異常處理方案在實(shí)現(xiàn)虛擬機(jī)的HA過程中,靈活性較高。可選地,在上述圖3所示實(shí)施例的基礎(chǔ)上,還可以包括如下可選技術(shù)方案,形成上述圖3所示實(shí)施例的擴(kuò)展實(shí)施例??蛇x地,在圖3所示實(shí)施例的擴(kuò)展實(shí)施例中,當(dāng)物理機(jī)具體為主設(shè)備側(cè)的物理機(jī)時,步驟202中的控制裝置中預(yù)設(shè)的配置策略消息具體用于指示重啟主設(shè)備側(cè)的物理機(jī),當(dāng)主設(shè)備側(cè)的物理機(jī)重啟的次數(shù)達(dá)到預(yù)設(shè)閾值,且主設(shè)備側(cè)的物理機(jī)仍然異常時,通知備設(shè)備側(cè)拉起主設(shè)備側(cè)的物理機(jī)上運(yùn)行的至少一個虛擬機(jī)中的每一個虛擬機(jī),以及至少一個虛擬機(jī)中的每一個虛擬機(jī)上運(yùn)行的至少一個應(yīng)用中的每一個應(yīng)用;或者該預(yù)設(shè)的配置策略消息具體可以用于指示通知備設(shè)備側(cè)拉起主設(shè)備側(cè)的物理機(jī)上運(yùn)行的至少一個虛擬機(jī)中的每一個虛擬機(jī),以及至少一個虛擬機(jī)中的每一個虛擬機(jī)上運(yùn)行的至少一個應(yīng)用中的每一個應(yīng)用,以使得備設(shè)備側(cè)的虛擬機(jī)或者虛擬機(jī)中的應(yīng)用代替主設(shè)備側(cè)的虛擬機(jī)運(yùn)行或者虛擬機(jī)中的應(yīng)用運(yùn)行,以保證為用戶提供不間斷的服務(wù),從而實(shí)現(xiàn)HA。此時,不在主設(shè)備側(cè)重啟該主設(shè)備側(cè)的物理機(jī)上運(yùn)行的至少一個虛擬機(jī)中的每一個虛擬機(jī),以及至少一個虛擬機(jī)中的每一個虛擬機(jī)上運(yùn)行的至少一個應(yīng)用中的每一個應(yīng)用,而直接由備設(shè)備側(cè)拉起主設(shè)備側(cè)的物理機(jī)上運(yùn)行的至少一個虛擬機(jī)中的每一個虛擬機(jī),以及至少一個虛擬機(jī)中的每一個虛擬機(jī)上運(yùn)行的至少一個應(yīng)用中的每一個應(yīng)用。進(jìn)一步可選地,當(dāng)預(yù)設(shè)的配置策略消息用于指示重啟主設(shè)備側(cè)的物理機(jī),當(dāng)主設(shè)備側(cè)的物理機(jī)重啟的次數(shù)達(dá)到預(yù)設(shè)閾值,主設(shè)備側(cè)的物理機(jī)仍然異常時,控制裝置通知備設(shè)備側(cè)拉起主設(shè)備側(cè)的物理機(jī)上運(yùn)行的至少一個虛擬機(jī)中的每一個虛擬機(jī),以及至少一個虛擬機(jī)中的每一個虛擬機(jī)上運(yùn)行的至少一個應(yīng)用中的每一個應(yīng)用,此時對應(yīng)的步驟202中“控制裝置根據(jù)預(yù)設(shè)的配置策略消息進(jìn)行異常處理”,具體可以包括如下步驟(a)控制裝置根據(jù)配置策略消息,重啟主設(shè)備側(cè)的物理機(jī);并更新重啟次數(shù); 例如,當(dāng)?shù)谝淮沃貑⒈槐O(jiān)控對象時,重啟次數(shù)設(shè)為1,以后每次重啟一次被監(jiān)控對象,重啟次數(shù)加I ;(b)控制裝置判斷主設(shè)備側(cè)的物理機(jī)是否恢復(fù)正常;當(dāng)主設(shè)備側(cè)的物理機(jī)恢復(fù)正常,執(zhí)行步驟(C),否則,執(zhí)行步驟(d);(C)控制裝置將存儲的主設(shè)備側(cè)的物理機(jī)上的至少一個虛擬機(jī)中每一個虛擬機(jī)的狀態(tài)信息、以及至少一個虛擬機(jī)中每一個虛擬機(jī)上的至少一個應(yīng)用每一個應(yīng)用的狀態(tài)信息更新為正常狀態(tài)信息;結(jié)束;(d)控制裝置判斷重啟次數(shù)是否達(dá)到預(yù)設(shè)閾值;當(dāng)重啟次數(shù)未達(dá)到預(yù)設(shè)閾值時,執(zhí)行步驟(a);否則,確定重啟截止,執(zhí)行步驟(e);例如,若預(yù)設(shè)閾值為3,第二次重啟后被監(jiān)控對象仍然異常,則繼續(xù)執(zhí)行步驟(a);(e)控制裝置對主設(shè)備側(cè)的物理機(jī)進(jìn)行下電處理;執(zhí)行步驟⑴;(f)控制裝置向備設(shè)備側(cè)的物理機(jī)發(fā)送拉起主設(shè)備側(cè)的物理機(jī)上運(yùn)行的至少一個虛擬機(jī)中每一個虛擬機(jī),以及至少一個虛擬機(jī)中每一個虛擬機(jī)上運(yùn)行的至少一個應(yīng)用中的每一個應(yīng)用;可選地,還可以進(jìn)一步執(zhí)行步驟(g);(g)當(dāng)備設(shè)備側(cè)的物理機(jī)成功拉起主設(shè)備側(cè)的物理機(jī)上運(yùn)行的至少一個虛擬機(jī)中每一個虛擬機(jī),以及至少一個虛擬機(jī)中每一個虛擬機(jī)上運(yùn)行的至少一個應(yīng)用中的每一個應(yīng)用之后,控制裝置將存儲的主設(shè)備側(cè)的物理機(jī)上的至少一個虛擬機(jī)中每一個虛擬機(jī)的狀態(tài)信息、以及至少一個虛擬機(jī)中每一個虛擬機(jī)上的至少一個應(yīng)用中的每一個應(yīng)用的狀態(tài)信息更新為正常狀態(tài)信息。進(jìn)一步可選地,當(dāng)預(yù)設(shè)的配置策略消息用于指示通知備設(shè)備側(cè)拉起主設(shè)備側(cè)的物理機(jī)上運(yùn)行的至少一個虛擬機(jī)中每一個虛擬機(jī),以及至少一個虛擬機(jī)中每一個虛擬機(jī)上運(yùn)行的至少一個應(yīng)用中的每一個應(yīng)用,此時對應(yīng)的步驟202中“控制裝置根據(jù)預(yù)設(shè)的配置策略消息進(jìn)行異常處理”可以包括上述步驟(e)和步驟(f),進(jìn)一步地還可以包括上述步驟(g)??蛇x地,在圖3所示實(shí)施例的擴(kuò)展實(shí)施例中,步驟200 “控制裝置監(jiān)控物理機(jī)是否發(fā)生異?!?,具體可以包括若控制裝置在在預(yù)設(shè)時間段內(nèi)未接收到主設(shè)備側(cè)的物理機(jī)上的代理設(shè)備廣播的心跳消息時,則確定主設(shè)備側(cè)的物理機(jī)發(fā)生異常,否則確定主設(shè)備側(cè)的物理機(jī)正常。其中主設(shè)備側(cè)的物理機(jī)上的代理設(shè)備設(shè)置在主設(shè)備側(cè)的物理機(jī)的虛擬機(jī)監(jiān)控器中。通過采用上述異常處理方法,能夠?qū)μ摂M機(jī)所在的物理機(jī)的異常進(jìn)行處理,實(shí)現(xiàn)了虛擬機(jī)所在物理機(jī)的HA。上述實(shí)施例的異常處理方法,通過采用采用上述技術(shù)方案,能夠?qū)μ摂M機(jī)所在的物理機(jī)的異常進(jìn)行處理,克服了現(xiàn)有技術(shù)不能對虛擬機(jī)所在的物理機(jī)的異常進(jìn)行處理的缺陷;另外,當(dāng)控制裝置監(jiān)控到主設(shè)備的物理機(jī)發(fā)生異常時,根據(jù)配置策略消息對主設(shè)備側(cè)的物理機(jī)進(jìn)行下電處理,并向備設(shè)備的物理機(jī)發(fā)送拉起被監(jiān)控對象的消息,使得在主設(shè)備側(cè)的物理機(jī)發(fā)生異常時,能夠及時地啟用備設(shè)備側(cè)的物理機(jī),從而可以為用戶提供連續(xù)的服務(wù);另外,當(dāng)控制裝置監(jiān)控到主設(shè)備的物理機(jī)發(fā)生異常時,控制設(shè)備重啟被監(jiān)控對象,若重啟后恢復(fù)正常,則無需向備設(shè)備側(cè)發(fā)送拉起被監(jiān)控對象的消息,從而節(jié)約了通信開銷;再 次,當(dāng)控制裝置監(jiān)控到主設(shè)備的物理機(jī)發(fā)生異常時,控制設(shè)備重啟被監(jiān)控對象,若重啟次數(shù)達(dá)到預(yù)設(shè)閾值,且被監(jiān)控對象仍然異常,則向備設(shè)備側(cè)的代理設(shè)備發(fā)送拉起重啟被監(jiān)控對象,從而能夠提供連續(xù)的服務(wù),保證能夠向用戶提供不間斷的服務(wù);上述實(shí)施例中,通過采用上述技術(shù)方案對虛擬機(jī)所在物理機(jī)進(jìn)行的監(jiān)控,能夠有效地保證對異常的監(jiān)控的效率,從而能夠在虛擬機(jī)所在物理機(jī)發(fā)生異常時,對異常進(jìn)行及時處理,從而保證了虛擬機(jī)所在物理機(jī)的HA。上述實(shí)施例的異常處理方法均可以在上述圖I所示實(shí)施例中的異常處理系統(tǒng)架構(gòu)中來實(shí)現(xiàn)。下面以結(jié)合上述圖I所示實(shí)施例的異常處理系統(tǒng)架構(gòu),詳細(xì)介紹上述圖2和圖3所示實(shí)施例的異常處理的技術(shù)方案。圖4是本發(fā)明一實(shí)施例提供的異常處理方法的信令圖。如圖4所示,基于上述圖I 所示實(shí)施例的異常處理系統(tǒng)架構(gòu),以監(jiān)控虛擬機(jī)中的一個應(yīng)用為例詳細(xì)介紹本發(fā)明的技術(shù)方案。本實(shí)施例的異常處理方法,具體可以包括如下步驟300、VMM A側(cè)的HA Agent監(jiān)控VM(主機(jī))中運(yùn)行的應(yīng)用I是否有異常;本實(shí)施例中的VMM A側(cè)的HA Agent為主設(shè)備側(cè)的代理設(shè)備;VM (主機(jī))為運(yùn)行在VMM A所在的物理機(jī)A上的VM。具體地,VM(主機(jī))上的應(yīng)用啟動后,通過MSend向VifO廣播心跳信息;本實(shí)施例中的心跳消息中包含的主要信息有消息ID,應(yīng)用ID,應(yīng)用名稱,應(yīng)用狀態(tài),主機(jī)IP等信息。由于VM上會多個應(yīng)用,如果這多個應(yīng)用都需要監(jiān)控的,每個應(yīng)用都需要發(fā)送心跳信息。VM (主機(jī))的應(yīng)用通過MSend發(fā)送到VM (主機(jī))的虛擬網(wǎng)卡VifO,VifO再把消息轉(zhuǎn)到BrO,最終消息由VMM A上的HA Agent接收處理。其中BrO相當(dāng)于一臺的虛擬交換機(jī),虛擬網(wǎng)卡VifO連接到虛擬交換機(jī)BrO上。VMM A上的HA Agent時時監(jiān)聽虛擬交換機(jī)BrO的心跳信息,一旦有心跳消息過來,馬上接收該心跳消息。其中如果某個應(yīng)用是可用的,它就會持續(xù)發(fā)送心跳信息,否則就不發(fā)送。因?yàn)橐粋€HA Agent需要同時監(jiān)控多個應(yīng)用的狀態(tài),因此,HA Agent接收到心跳消息后,首先需要判斷該心跳是哪個應(yīng)用的心跳,以此來決定該應(yīng)用的狀態(tài)是否正常。舉例來說,如果可以持續(xù)接收到某個應(yīng)用A的心跳,則認(rèn)為這個應(yīng)用A是正常的。如果持續(xù)一段時間后,無法接收到該應(yīng)用A的心跳信息,則認(rèn)為該應(yīng)用A發(fā)生異常。HA Agent通過持續(xù)的監(jiān)聽多個應(yīng)用的心跳信息,HA Agent可以實(shí)現(xiàn)對多個應(yīng)用的狀態(tài)監(jiān)控。VM(SW)上應(yīng)用定時通過MSend向VifO廣播心跳信息,如果業(yè)務(wù)故障,將會終止心跳信息廣播。一旦應(yīng)用終止心跳消息廣播,HA Agent就會無法接收到該應(yīng)用的心跳信息,如果持續(xù)一段時間后,HA Agent仍然無法接收該應(yīng)用的心跳消息,則HA Agent認(rèn)為該應(yīng)用異常。本實(shí)施例中以監(jiān)控虛擬機(jī)VM(主機(jī))中的應(yīng)用I為例介紹本發(fā)明的技術(shù)方案。通過上述方式VMM A側(cè)的HA Agent可以監(jiān)控到應(yīng)用I是否異常。301、VMM A側(cè)的HA Agent發(fā)現(xiàn)應(yīng)用I異常后,則向HA Controller發(fā)送通知HAController應(yīng)用I異常的消息;其中消息具體可以包含消息ID,HA Agent (VMM A) ID,應(yīng)用ID,應(yīng)用狀態(tài)(狀態(tài)為異常)等信息。302、HA Controller接收到消息后,更改應(yīng)用I狀態(tài)信息為“異?!?。 303、HA Controller通知VMM A側(cè)的HA Agent該應(yīng)用I的HA配置策略;該配置策略具體是先重啟該應(yīng)用I,如果重啟失敗再在備機(jī)拉起該應(yīng)用I,且在該配置策略中還可以設(shè)置有重啟預(yù)設(shè)閾值次數(shù),例如優(yōu)先地可以設(shè)置重啟預(yù)設(shè)閾值次數(shù)為3次,即當(dāng)3次重啟均失敗后,此時再再備機(jī)拉起該應(yīng)用I。304,VMM A側(cè)的HA Agent接收該配置策略,通過向Vif I廣播重啟消息,例如該重啟消息中包含消息ID,應(yīng)用ID,啟動腳本,停止腳本等信息。305、VM(主機(jī))中的MRev接收到重啟消息后,調(diào)用應(yīng)用的停止腳本停止業(yè)務(wù),然后再調(diào)用啟動腳本重新拉起應(yīng)用I ;如果重啟成功,執(zhí)行步驟306,否則,執(zhí)行步驟309。306、VM (主機(jī))中的MSend向VMM A側(cè)的HA Agent發(fā)送應(yīng)用I重啟成功消息。307>VMM A側(cè)的HA Agent接收到重啟成功消息后,向HA Controller發(fā)送更新應(yīng)用I狀態(tài)信息的消息。308、HA Controller接收到更新應(yīng)用I狀態(tài)信息的消息后,更新應(yīng)用I狀態(tài)信息為“正常”。309、如果重啟次數(shù)達(dá)到重啟預(yù)設(shè)閾值,則VM(主機(jī))中的MSend向VMM A側(cè)的HAAgent發(fā)送應(yīng)用I拉起失敗的消息。該步驟與306并列。如果重啟失敗,但重啟次數(shù)未達(dá)到重啟預(yù)設(shè)閾值時,此時返回步驟304繼續(xù)重啟。310,VMM A側(cè)的HA Agent接收到應(yīng)用I拉起失敗的消息后,向VMM B側(cè)的HA Agent發(fā)送“拉起備機(jī)應(yīng)用”消息,以通知VMM B側(cè)的HA Agent在備機(jī)側(cè)拉起應(yīng)用1,該“備機(jī)應(yīng)用啟動”消息中包含消息ID,VMM A側(cè)的HA Agent的ID、應(yīng)用ID、應(yīng)用啟動腳本、應(yīng)用停止
腳本等信息。311、VMM B側(cè)的HA Agent接收到備機(jī)應(yīng)用啟動”消息后,通過Brl向Vifl廣播“應(yīng)用啟動”消息,該“應(yīng)用啟動”消息中包含消息ID,應(yīng)用ID,啟動腳本,停止腳本等信息。312、VM(備機(jī))中的MRev接收到“應(yīng)用啟動”消息后,MRev對運(yùn)行環(huán)境檢查后拉起該應(yīng)用I。具體地VM (備機(jī))中的MRev進(jìn)行環(huán)境檢查具體包括VM (備機(jī))中的MRev檢查應(yīng)用是否安裝,檢查啟動腳本、停止腳本是否存在等;環(huán)境檢查通過后,MRev通過調(diào)用該應(yīng)用的啟動腳本,拉起該應(yīng)用I。313、VM(備機(jī))中的MRev拉起成功后,VM(備機(jī))中的MSend向VMM B側(cè)的HAAgent發(fā)送拉起成功消息。314、VMM B側(cè)的HA Agent接收到拉起成功消息,向HA Controller發(fā)送更新應(yīng)用I狀態(tài)信息的消息。315、HA Controller接收到VMM B側(cè)的HA Agent發(fā)送的更新應(yīng)用I狀態(tài)信息的消息后,更新應(yīng)用I狀態(tài)信息為“正?!?。本實(shí)施例中的VM (主機(jī)或者備機(jī))中的MRev和MSend可以設(shè)置在一起,作為一個收發(fā)模塊。本實(shí)施例的異常處理方法,通過采用采用上述技術(shù)方案,VMM A側(cè)的HA Agent監(jiān) 控到應(yīng)用I異常時,根據(jù)配置策略消息先重啟應(yīng)用1,若重啟后應(yīng)用I仍異常,且重啟次數(shù)達(dá)至丨J預(yù)設(shè)閾值時,VMM A側(cè)的HA Agent向VMM B側(cè)的HA Agent發(fā)送拉起應(yīng)用I的消息,使得在VMM A側(cè)發(fā)生異常時,能夠及時地啟用VMM B側(cè)的應(yīng)用1,從而可以為用戶提供連續(xù)的服務(wù);通過采用上述技術(shù)方案對應(yīng)用進(jìn)行的監(jiān)控,能夠有效地保證對異常的監(jiān)控的效率,從而能夠在應(yīng)用發(fā)生異常時,對異常進(jìn)行及時處理,從而保證了應(yīng)用的HA。圖5是本發(fā)明另一實(shí)施例提供的異常處理方法的信令圖。如圖5所示,基于上述圖I所示實(shí)施例的異常處理系統(tǒng)架構(gòu),以監(jiān)控虛擬機(jī)中的一個應(yīng)用組為例詳細(xì)介紹本發(fā)明的技術(shù)方案。本實(shí)施例的異常處理方法,具體可以包括如下步驟400、VMM A中的HA Agent檢測VM(主機(jī))中的應(yīng)用組是否有異常。其中VM (主機(jī))是運(yùn)行在VMM A所在的物理主機(jī)上。其中應(yīng)用組是由一組應(yīng)用組成的,例如包括VM(SW)中的應(yīng)用I、應(yīng)用η和其他應(yīng)用。應(yīng)用組的每個應(yīng)用都需要定期的發(fā)送心跳信息,VMM A中的HA Agent實(shí)時檢測該應(yīng)用組內(nèi)每個應(yīng)用的狀態(tài),一旦發(fā)現(xiàn)有一個應(yīng)用狀態(tài)異常,則認(rèn)為該應(yīng)用組狀態(tài)異常。401、當(dāng)VMM A中的HA Agent發(fā)現(xiàn)VM(SW)中的應(yīng)用組異常后,向HA Controller發(fā)送更新應(yīng)用組狀態(tài)信息的消息。402、HA Controller接收到更新應(yīng)用組狀態(tài)信息的消息后,更新應(yīng)用組狀態(tài)信息為“異?!?。403、HA Controller通知VMM A側(cè)的HA Agent該應(yīng)用組的HA配置策略;該配置策略具體是停止本地的該應(yīng)用組,在備機(jī)拉起該應(yīng)用組。需要注意的是,在實(shí)際應(yīng)用中,該配置策略可以采用上述圖2或者圖3的所示實(shí)施例的擴(kuò)展實(shí)施例中的配置策略,在此不再
--舉例。404、VMM A側(cè)的HA Agent接收該配置策略,向VM(主機(jī))中的MRev發(fā)送停止應(yīng)用組內(nèi)的應(yīng)用的停止消息,該停止消息中包含該應(yīng)用組中各應(yīng)用ID、應(yīng)用停止腳本等信息。405、VM(主機(jī))中的MRev接收到該停止消息后,依次停止應(yīng)用組內(nèi)的各應(yīng)用。406、VM(主機(jī))中的MSend向VMM A中的HA Agent發(fā)送應(yīng)用組停止成功的消息。407,VMM A中的HA Agent接收到該應(yīng)用組停止成功的消息后,VMM A中的HA Agent向VMM B中的HA Agent發(fā)送啟動應(yīng)用組的啟動消息,該啟動消息中包含應(yīng)用組ID,應(yīng)用啟動腳本等信息。408、VMM B中的HA Agent接收到該啟動消息后,向VM(備機(jī))中的MRev發(fā)送拉起該應(yīng)用組的消息。409、VM (備機(jī))中的MRev依次拉起應(yīng)用組內(nèi)的應(yīng)用。410、VM(備機(jī))中的MSend向VMM B中的HA Agent發(fā)送應(yīng)用組拉起成功的消息。411、VMM B中的HA Agent通知HA Controller更新應(yīng)用組狀態(tài)信息。412、HA Controller接收到消息后,更新應(yīng)用組狀態(tài)信息為“正常”本實(shí)施例的異常處理方法,通過采用采用上述技術(shù)方案,VMM A側(cè)的HA Agent監(jiān) 控到應(yīng)用組異常時,根據(jù)配置策略消息向VMM B側(cè)的HA Agent發(fā)送拉起該應(yīng)用組的消息,使得在VMM A側(cè)發(fā)生異常時,能夠及時地啟用VMM B側(cè)的應(yīng)用組,從而可以為用戶提供連續(xù)的服務(wù);通過采用上述技術(shù)方案對應(yīng)用進(jìn)行的監(jiān)控,能夠有效地保證對異常的監(jiān)控的效率, 從而能夠在應(yīng)用組發(fā)生異常時,對異常進(jìn)行及時處理,從而保證了應(yīng)用組的HA。圖6是本發(fā)明又一實(shí)施例提供的異常處理方法的信令圖。如圖6所示,基于上述圖I所示實(shí)施例的異常處理系統(tǒng)架構(gòu),以監(jiān)控虛擬機(jī)為例詳細(xì)介紹本發(fā)明的技術(shù)方案。本實(shí)施例的異常處理方法,具體可以包括如下步驟500、VMM A中的HA Agent監(jiān)控VM(主機(jī))是否有異常,其中VM (主機(jī))是運(yùn)行在VMM A所在的物理主機(jī)上。具體地,HA Agent監(jiān)控VM(主機(jī))是否有異常包括當(dāng)預(yù)設(shè)時間段內(nèi)未接收到虛擬機(jī)中的所有應(yīng)用廣播的心跳消息,或者通過監(jiān)測確定虛擬機(jī)的狀態(tài)異常時,確定虛擬機(jī)異常,否則確定虛擬機(jī)正常。如果HA Agent發(fā)現(xiàn)持續(xù)一段時間內(nèi),某個需要監(jiān)控的VM內(nèi)部應(yīng)用的心跳信息為零,則認(rèn)為該VM狀態(tài)異常?;蛘咄ㄟ^調(diào)用系統(tǒng)信令來監(jiān)測VM(SW)的狀態(tài),并確定VM(SW)的狀態(tài)是正常還是異常。501、VMM A中的HA Agent發(fā)現(xiàn)VM(主機(jī))異常后,向HA Controller發(fā)送更新VM(主機(jī))所有應(yīng)用狀態(tài)信息的更新消息。502、HA Controller接收到更新消息后,更新該VM(主機(jī))以及該VM(主機(jī))的所有應(yīng)用狀態(tài)信息為“異?!?。503,HA Controller向VMM A側(cè)的HA Agent發(fā)送該虛擬機(jī)的配置策略;該配置策略具體可以是先重啟該VM(主機(jī))I次,如果重啟失敗再在備機(jī)拉起該VM。504、VMM A側(cè)的HA Agent接收該配置策略,對VM(主機(jī))嘗試重新啟動。505、如果重啟成功,貝U VMM A側(cè)的HA Agent向HA Controller發(fā)送更新VM(主機(jī))及該VM(SW)中的所有應(yīng)用狀態(tài)信息的更新消息。506、HA Controller接收到更新消息后,更新該VM狀態(tài)信息及該VM中的所有應(yīng)用狀態(tài)信息為“正?!?。507、如果重啟失敗,則VMM A側(cè)的HA Agent向VMM B側(cè)的HA Agent發(fā)送拉起VM (備機(jī))的拉起消息。508、VMM B側(cè)的HA Agent接收到拉起消息后,啟動VM(備機(jī))。叨9、VM(IW)啟動后,VMMB 側(cè)的 HA Agent 向 HA Controller 發(fā)送 VM(備機(jī))啟動成功。510、HA Controllei^EVM(IW)狀態(tài)信息置為“主機(jī)”。51UVMM B側(cè)的HA Agent持續(xù)監(jiān)聽VM(主機(jī))上的各應(yīng)用的心跳信息,一旦發(fā)現(xiàn)有各應(yīng)用的心跳信息,則認(rèn)為該VM(主機(jī))已經(jīng)成功啟動。
512、VMM B側(cè)的HA Agent向HA Controller發(fā)送更新該VM(主機(jī))中各應(yīng)用的狀態(tài)信息的更新消息。513、HA Controller接收到更新消息后,更新該VM(主機(jī))中各應(yīng)用狀態(tài)信息為
“正?!?。本實(shí)施例的異常處理方法,通過采用采用上述技術(shù)方案,VMM A側(cè)的HA Agent監(jiān)控到虛擬機(jī)異常時,根據(jù)配置策略消息先重啟虛擬機(jī),若重啟后虛擬機(jī)仍異常,且重啟次數(shù)達(dá)到預(yù)設(shè)閾值時,VMM A側(cè)的HA Agent向VMM B側(cè)的HA Agent發(fā)送拉起該虛擬機(jī)的消息,使得在VMM A側(cè)發(fā)生異常時,能夠及時地啟用VMM B側(cè)的虛擬機(jī),從而可以為用戶提供連續(xù)的服務(wù);通過采用上述技術(shù)方案對應(yīng)用進(jìn)行的監(jiān)控,能夠有效地保證對異常的監(jiān)控的效率,從而能夠在虛擬機(jī)發(fā)生異常時,對異常進(jìn)行及時處理,從而保證了虛擬機(jī)的HA。圖7是本發(fā)明再一實(shí)施例提供的異常處理方法的信令圖。如圖7所示,基于上述圖I所示實(shí)施例的異常處理系統(tǒng)架構(gòu),以監(jiān)控HA Agent所在VMM所屬的物理機(jī)為例詳細(xì)介 紹本發(fā)明的技術(shù)方案。本實(shí)施例的異常處理方法,具體可以包括如下步驟600、HA Controller監(jiān)控物理機(jī)A是否有異常。其中HA Controller和VMM A中的HA Agent之間有一個網(wǎng)絡(luò)心跳檢測,如果持續(xù)一段時間內(nèi),HA Controller無法檢測到VMM A中的HA Agent的心跳信息,則認(rèn)為該VMM A中的HA Agent的狀態(tài)異常,從而認(rèn)為所在的物理機(jī)A出現(xiàn)異常。60UHA Controller發(fā)現(xiàn)物理機(jī)A異常后,更新其中的物理機(jī)A的狀態(tài)信息為“異
堂”
巾 O602,HA Controller更新該物理機(jī)A上運(yùn)行的VM以及VM的所有應(yīng)用的狀態(tài)信息為“異?!薄?03、HA Controller對物理機(jī)A實(shí)行下電處理。604、HA Controller通知物理機(jī)B依次拉起物理機(jī)A上的VM。例如具體地,可以通知物理機(jī)B上的VMM B上的HA Agent依次拉起物理機(jī)A上的VM。605、拉起成功后,物理機(jī)B向HA Controller返回拉起成功響應(yīng)。例如物理機(jī)B上的VMM B上的HA Agent向HA Controller返回拉起成功響應(yīng)。物理機(jī)B升級為主設(shè)備側(cè)。606, HA Controller更新VM的狀態(tài)信息為“正?!???蛇x地,步驟602之后,HA Controller也可以對該物理機(jī)A進(jìn)行重啟,當(dāng)物理機(jī)A重啟預(yù)設(shè)閾值次數(shù)后仍異常,再進(jìn)行步驟603-606。本實(shí)施例的異常處理方法,通過采用采用上述技術(shù)方案,HA Controlle監(jiān)控到物理機(jī)A有異常時,根據(jù)配置策略消息通知物理機(jī)B依次拉起物理機(jī)A上的VM,使得在物理機(jī)A發(fā)生異常時,能夠及時地啟用物理機(jī)B,從而可以為用戶提供連續(xù)的服務(wù);通過采用上述技術(shù)方案對物理機(jī)進(jìn)行的監(jiān)控,能夠有效地保證對異常的監(jiān)控的效率,從而能夠在物理機(jī)發(fā)生異常時,對異常進(jìn)行及時處理,從而保證了物理機(jī)的HA。上述圖4-圖7所示實(shí)施例中的配置策略僅用于舉例,實(shí)際應(yīng)用中的配置策略可以參考上述圖2或圖3所示的實(shí)施例,在此不再贅述。圖8為本發(fā)明實(shí)施例提供的物理機(jī)中的代理設(shè)備的結(jié)構(gòu)示意圖。如圖8所示,本實(shí)施例的代理設(shè)備,具體可以包括監(jiān)控模塊10、發(fā)送模塊11、接收模塊12和異常處理模塊13。其中,監(jiān)控模塊10用于監(jiān)控被監(jiān)控對象是否發(fā)生異常;被監(jiān)控對象為運(yùn)行在物理機(jī)上的虛擬機(jī)、或者運(yùn)行在物理機(jī)上的虛擬機(jī)中的應(yīng)用或者應(yīng)用組;發(fā)送模塊11與監(jiān)控模塊10連接,發(fā)送模塊11用于當(dāng)監(jiān)控模塊10監(jiān)控被監(jiān)控對象發(fā)生異常時,向控制裝置發(fā)送被監(jiān)控對象的異常消息,以便該控制裝置將自身存儲的被監(jiān)控對象的狀態(tài)信息更新為異常狀態(tài)信息;接收模塊12用于接收控制裝置發(fā)送的配置策略消息,該配置策略消息由控制裝置根據(jù)被監(jiān)控對象的狀態(tài)信息進(jìn)行配置;異常處理模塊13與接收模塊12連接,異常處理模塊13用于根據(jù)接收模塊12接收的配置策略消息進(jìn)行異常處理。
本實(shí)施例的代理設(shè)備,通過采用上述模塊實(shí)現(xiàn)異常處理的實(shí)現(xiàn)機(jī)制與上述相關(guān)方法實(shí)施例的實(shí)現(xiàn)機(jī)制相同,詳細(xì)可以參考上述相關(guān)方法實(shí)施例的記載,在此不再贅述。本實(shí)施例的代理設(shè)備,通過采用上述模塊,能夠克服現(xiàn)有技術(shù)中僅能對虛擬機(jī)的異常進(jìn)行處理,而無法對虛擬機(jī)中的應(yīng)用或者應(yīng)用組的異常進(jìn)行處理的缺陷,采用本實(shí)施例的技術(shù)方案,不僅可以對虛擬機(jī)的異常進(jìn)行處理,還能夠?qū)μ摂M機(jī)中的應(yīng)用或者應(yīng)用組的異常進(jìn)行處理,因此,本實(shí)施例的異常處理方案在實(shí)現(xiàn)應(yīng)用、應(yīng)用組或者虛擬機(jī)的HA過程中,靈活性較高??蛇x地,在上述圖8所示實(shí)施例的基礎(chǔ)上,進(jìn)一步還可以包括如下技術(shù)方案。首先,圖8所示實(shí)施例的代理設(shè)備中的物理機(jī)為主設(shè)備側(cè)的物理機(jī),物理機(jī)的代理設(shè)備為主設(shè)備側(cè)的代理設(shè)備。其中配置策略消息可以用于指示重啟被監(jiān)控對象,當(dāng)重啟的次數(shù)達(dá)到預(yù)設(shè)閾值,被監(jiān)控對象仍然異常時,通知備設(shè)備側(cè)拉起被監(jiān)控對象?;蛘咴撆渲貌呗韵⑦€可以用于指示通知備設(shè)備側(cè)拉起被監(jiān)控對象??蛇x地,當(dāng)配置策略消息用于指示通知備設(shè)備側(cè)拉起被監(jiān)控對象時,本實(shí)施例的物理機(jī)的代理設(shè)備中,異常處理模塊13具體用于根據(jù)配置策略消息,通知發(fā)送模塊11向備設(shè)備側(cè)的代理設(shè)備發(fā)送拉起被監(jiān)控對象的消息。發(fā)送模塊11還用于在接收到異常處理模塊13發(fā)送的通知消息時,向備設(shè)備側(cè)的代理設(shè)備發(fā)送拉起被監(jiān)控對象的消息。可選地,當(dāng)配置策略消息用于指示重啟被監(jiān)控對象,當(dāng)重啟的次數(shù)達(dá)到預(yù)設(shè)閾值,被監(jiān)控對象仍然異常時,通知備設(shè)備側(cè)的代理設(shè)備拉起被監(jiān)控對象時,本實(shí)施例的代理設(shè)備中,異常處理模塊13具體用于根據(jù)接收模塊12接收的配置策略消息,重啟被監(jiān)控對象;并更新重啟次數(shù);并判斷重啟被監(jiān)控對象之后,被監(jiān)控對象是否恢復(fù)正常;以及判斷重啟次數(shù)是否達(dá)到預(yù)設(shè)閾值。當(dāng)重啟后被監(jiān)控對象仍然異常,且重啟次數(shù)未達(dá)到預(yù)設(shè)閾值時,再次重啟被監(jiān)控對象;并更新重啟次數(shù),直到確定被監(jiān)控對象仍然異常,且重啟次數(shù)達(dá)到預(yù)設(shè)閾值時,確定重啟截止;其中,發(fā)送模塊11還用于當(dāng)異常處理模塊13確定重啟截止時,向備設(shè)備側(cè)的代理設(shè)備發(fā)送拉起被監(jiān)控對象的消息。進(jìn)一步可選地,在異常處理模塊13重啟被監(jiān)控對象之后,當(dāng)監(jiān)控模塊監(jiān)控10監(jiān)控到被監(jiān)控對象恢復(fù)正常時,發(fā)送模塊11還用于向控制裝置發(fā)送被監(jiān)控對象重啟成功的消息,以便該控制裝置將控制裝置中存儲的被監(jiān)控對象的狀態(tài)信息更改為正常信息。
進(jìn)一步可選地,發(fā)送模塊11具體用于通過控制裝置向備設(shè)備側(cè)的代理設(shè)備發(fā)送拉起被監(jiān)控對象的消息。可選地,圖8所示實(shí)施例的代理設(shè)備中,當(dāng)被監(jiān)控對象為運(yùn)行在物理機(jī)上的虛擬機(jī)中的應(yīng)用時,監(jiān)控模塊10具體用于在預(yù)設(shè)時間段內(nèi)接收模塊12未接收到虛擬機(jī)中的應(yīng)用廣播的心跳消息時,確定虛擬機(jī)中的應(yīng)用異常,在預(yù)設(shè)時間段內(nèi)接收模塊12接收到虛擬機(jī)中的應(yīng)用廣播的心跳消息時,確定虛擬機(jī)中的應(yīng)用正常。其中,接收模塊12還用于接收虛擬機(jī)中的應(yīng)用廣播的心跳消息??蛇x地,圖8所示實(shí)施例的代理設(shè)備中,當(dāng)被監(jiān)控對象為運(yùn)行在物理機(jī)上的虛擬機(jī)中的應(yīng)用組時,監(jiān)控模塊10監(jiān)控模塊具體用于在預(yù)設(shè)時間段內(nèi)接收模塊12未接收到虛 擬機(jī)中的應(yīng)用組中的任意一個應(yīng)用廣播的心跳消息時,確定虛擬機(jī)中的應(yīng)用組發(fā)生異常,在預(yù)設(shè)時間段內(nèi)接收模塊12接收到虛擬機(jī)中的應(yīng)用組中的任意一個應(yīng)用廣播的心跳消息時,確定虛擬機(jī)中的應(yīng)用組正常。其中,接收模塊12還用于接收虛擬機(jī)中的應(yīng)用組中的任意一個應(yīng)用廣播的心跳消息。可選地,圖8所示實(shí)施例的代理設(shè)備中,當(dāng)被監(jiān)控對象為運(yùn)行在物理機(jī)上的虛擬機(jī)時,監(jiān)控模塊10監(jiān)控模塊具體用于在預(yù)設(shè)時間段內(nèi)接收模塊12未接收到虛擬機(jī)中的所有應(yīng)用廣播的心跳消息時,確定虛擬機(jī)異常;在預(yù)設(shè)時間段內(nèi)接收模塊12接收到虛擬機(jī)中的所有應(yīng)用廣播的心跳消息時,確定所述虛擬機(jī)正常;其中,接收模塊12還用于接收虛擬機(jī)中的所有應(yīng)用廣播的心跳消息。其中,監(jiān)控模塊10還可以具體用于通過信令監(jiān)測確定虛擬機(jī)的狀態(tài)是否發(fā)生異

巾O上述實(shí)施例的代理設(shè)備,通過采用上述模塊實(shí)現(xiàn)異常處理的實(shí)現(xiàn)機(jī)制與上述相關(guān)方法實(shí)施例的實(shí)現(xiàn)機(jī)制相同,詳細(xì)可以參考上述相關(guān)方法實(shí)施例的記載,在此不再贅述。上述實(shí)施例的代理設(shè)備,通過采用上述模塊,能夠克服現(xiàn)有技術(shù)中僅能對虛擬機(jī)的異常進(jìn)行監(jiān)控,而無法對虛擬機(jī)中的應(yīng)用或者應(yīng)用組進(jìn)行異常進(jìn)行處理的缺陷,采用本實(shí)施例的技術(shù)方案,不僅可以對虛擬機(jī)的異常進(jìn)行監(jiān)控,還能夠?qū)μ摂M機(jī)中的應(yīng)用或者應(yīng)用組的異常進(jìn)行處理,因此,本實(shí)施例的異常處理方案在實(shí)現(xiàn)應(yīng)用、應(yīng)用組或者虛擬機(jī)的HA過程中,靈活性較高。其次,本實(shí)施例的代理設(shè)備為主設(shè)備側(cè)的代理設(shè)備時,當(dāng)監(jiān)控到異常時,根據(jù)配置策略消息向備設(shè)備側(cè)的代理設(shè)備發(fā)送拉起所述被監(jiān)控對象的消息,使得在主設(shè)備側(cè)發(fā)生異常時,能夠及時地啟用備設(shè)備側(cè)的被監(jiān)控對象,從而可以為用戶提供連續(xù)的服務(wù);另外,主設(shè)備側(cè)的代理設(shè)備監(jiān)控到有異常發(fā)生時,主設(shè)備側(cè)的代理設(shè)備重啟被監(jiān)控對象,若重啟后恢復(fù)正常,則無需向備設(shè)備側(cè)發(fā)送拉起被監(jiān)控對象的消息,從而節(jié)約了通信開銷;再次,主設(shè)備側(cè)的代理設(shè)備監(jiān)控到有異常發(fā)生時,主設(shè)備側(cè)的代理設(shè)備重啟被監(jiān)控對象,若重啟次數(shù)達(dá)到預(yù)設(shè)閾值,且被監(jiān)控對象仍然異常,則向備設(shè)備側(cè)的代理設(shè)備發(fā)送拉起重啟被監(jiān)控對象,從而能夠提供連續(xù)的服務(wù),保證能夠向用戶提供不間斷的服務(wù);上述實(shí)施例中,通過采用上述技術(shù)方案對應(yīng)用、或者應(yīng)用組或者虛擬機(jī)進(jìn)行的監(jiān)控,能夠有效地保證對異常的監(jiān)控的效率,從而能夠在應(yīng)用、或者應(yīng)用組或者虛擬機(jī)發(fā)生異常時,對異常進(jìn)行及時處理,從而保證了應(yīng)用、或者應(yīng)用組或者虛擬機(jī)的HA。圖9為本發(fā)明實(shí)施例提供的控制裝置的結(jié)構(gòu)示意圖。如圖9所示,本實(shí)施例的控制裝置,可以包括監(jiān)控模塊20、更新模塊21和異常處理模塊22。
其中,監(jiān)控模塊20用于監(jiān)控物理機(jī)是否發(fā)生異常;其中,該物理機(jī)上運(yùn)行至少一個虛擬機(jī),至少一個虛擬機(jī)中每一個虛擬機(jī)上運(yùn)行至少一個應(yīng)用;更新模塊21與監(jiān)控模塊20連接,更新模塊21用于當(dāng)監(jiān)控模塊20監(jiān)控到物理機(jī)異常時,將自身存儲的物理機(jī)上每一個虛擬機(jī)的狀態(tài)信息、以及每一個虛擬機(jī)中每一個應(yīng)用的狀態(tài)信息更新為異常狀態(tài)信息;異常處理模塊22與監(jiān)控模塊20連接,異常處理模塊22用于當(dāng)監(jiān)控模塊20監(jiān)控到主設(shè)備側(cè)的物理機(jī)異常時,根據(jù)預(yù)設(shè)的配置策略消息進(jìn)行異常處理。本實(shí)施例的控制裝置,通過采用上述模塊實(shí)現(xiàn)異常處理的實(shí)現(xiàn)機(jī)制與上述相關(guān)方法實(shí)施例的實(shí)現(xiàn)機(jī)制相同,詳細(xì)可以參考上述相關(guān)方法實(shí)施例的記載,在此不再贅述。本實(shí)施例的控制裝置,通過采用上述模塊能夠克服現(xiàn)有技術(shù)中僅能對虛擬機(jī)的異常進(jìn)行處理,而無法對虛擬機(jī)所在的物理機(jī)的異常進(jìn)行處理的缺陷,采用本實(shí)施例的技術(shù) 方案,不僅可以對虛擬機(jī)的異常進(jìn)行處理,還能夠?qū)μ摂M機(jī)所在的物理機(jī)的異常進(jìn)行處理,因此,本實(shí)施例的異常處理方案在實(shí)現(xiàn)虛擬機(jī)的HA過程中,靈活性較高??蛇x地,在上述圖9所示實(shí)施例的基礎(chǔ)上,進(jìn)一步還可以包括如下技術(shù)方案。圖9所示實(shí)施例中,該物理機(jī)為主設(shè)備側(cè)的物理機(jī);該配置策略消息具體可以用于指示重啟主設(shè)備側(cè)的物理機(jī),當(dāng)主設(shè)備側(cè)的物理機(jī)重啟的次數(shù)達(dá)到預(yù)設(shè)閾值,主設(shè)備側(cè)的物理機(jī)仍然異常時,通知備設(shè)備側(cè)拉起主設(shè)備側(cè)的物理機(jī)上運(yùn)行的至少一個虛擬機(jī)中的每一個虛擬機(jī),以及至少一個虛擬機(jī)中的每一個虛擬機(jī)上運(yùn)行的至少一個應(yīng)用中的每一個應(yīng)用?;蛘咴撆渲貌呗韵⒕唧w可以用于指示通知備設(shè)備側(cè)拉起主設(shè)備側(cè)的物理機(jī)上運(yùn)行的至少一個虛擬機(jī)中的每一個虛擬機(jī),以及至少一個虛擬機(jī)中的每一個虛擬機(jī)上運(yùn)行的至少一個應(yīng)用中的每一個應(yīng)用??蛇x地,當(dāng)配置策略消息用于指示通知備設(shè)備側(cè)拉起主設(shè)備側(cè)的物理機(jī)上運(yùn)行的至少一個虛擬機(jī)中的每一個虛擬機(jī),以及至少一個虛擬機(jī)中的每一個虛擬機(jī)上運(yùn)行的至少一個應(yīng)用中的每一個應(yīng)用。本實(shí)施例的控制裝置中,異常處理模塊22具體用于根據(jù)配置策略消息,對主設(shè)備側(cè)的物理機(jī)進(jìn)行下電處理;向備設(shè)備側(cè)的物理機(jī)發(fā)送拉起主設(shè)備側(cè)的物理機(jī)上運(yùn)行的至少一個虛擬機(jī)中每一個虛擬機(jī),以及所述每一個虛擬機(jī)上運(yùn)行的每一個應(yīng)用的消息。更新模塊21還用于在備設(shè)備側(cè)的物理機(jī)成功拉起主設(shè)備側(cè)的物理機(jī)上運(yùn)行的每一個虛擬機(jī),以及所述每一個虛擬機(jī)上運(yùn)行的每一個應(yīng)用之后,將自身存儲的主設(shè)備側(cè)的物理機(jī)上每一個虛擬機(jī)的狀態(tài)信息、以及所述每一個虛擬機(jī)上中每一個應(yīng)用的狀態(tài)信息更新為正常狀態(tài)信息。可選地,上述異常處理模塊22還可以用于當(dāng)監(jiān)控模塊20監(jiān)控到主設(shè)備側(cè)的物理機(jī)異常時,根據(jù)配置策略消息,重啟主設(shè)備側(cè)的物理機(jī);并更新重啟次數(shù);判斷重啟之后,主設(shè)備側(cè)的物理機(jī)是否恢復(fù)正常;以及判斷重啟次數(shù)是否達(dá)到預(yù)設(shè)閾值;當(dāng)確定主設(shè)備側(cè)的物理機(jī)未恢復(fù)正常,且重啟次數(shù)未達(dá)到預(yù)設(shè)閾值時,再次重啟所述主設(shè)備側(cè)的物理機(jī);并更新重啟次數(shù),直到確定主設(shè)備側(cè)的物理機(jī)仍然異常,且重啟次數(shù)達(dá)到所述預(yù)設(shè)閾值時,確定重啟截止。進(jìn)一步可選地,本實(shí)施例的控制裝置中還包括接收模塊、該接收模塊接收物理機(jī)上的代理設(shè)備廣播的心跳消息。監(jiān)控模塊20具體用于在預(yù)設(shè)時間段內(nèi)接收模塊未接收到物理機(jī)上的代理設(shè)備廣播的心跳消息時,確定物理機(jī)發(fā)生異常,在預(yù)設(shè)時間段內(nèi)接收模塊接收到物理機(jī)上的代理設(shè)備廣播的心跳消息時,物理機(jī)正常。該代理設(shè)備設(shè)置在主設(shè)備側(cè)的物理機(jī)上的VMM上。本實(shí)施例的控制裝置,通過采用上述模塊實(shí)現(xiàn)異常處理的實(shí)現(xiàn)機(jī)制與上述相關(guān)方法實(shí)施例的實(shí)現(xiàn)機(jī)制相同,詳細(xì)可以參考上述相關(guān)方法實(shí)施例的記載,在此不再贅述。本實(shí)施例的控制裝置,通過采用上述模塊能夠克服現(xiàn)有技術(shù)中無法對虛擬機(jī)所在的物理機(jī)的異常進(jìn)行處理的缺陷,采用本實(shí)施例的技術(shù)方案,能夠?qū)崿F(xiàn)對虛擬機(jī)所在的物理機(jī)的異常進(jìn)行處理,因此,本實(shí)施例的異常處理方案在實(shí)現(xiàn)虛擬機(jī)的HA過程中,靈活性較高。另外,物理機(jī)為主設(shè)備側(cè)的物理機(jī)時,本實(shí)施例中的控制裝置監(jiān)控到主設(shè)備的物理機(jī)發(fā)生異常時,根據(jù)配置策略消息對主設(shè)備側(cè)的物理機(jī)進(jìn)行下電處理,并向備設(shè)備的物理機(jī)發(fā)送拉起被監(jiān)控對象的消息,使得在主設(shè)備側(cè)的物理機(jī)發(fā)生異常時,能夠及時地啟用備設(shè)備側(cè)的物理機(jī),從而可以為用戶提供連續(xù)的服務(wù);另外,當(dāng)控制裝置監(jiān)控到主設(shè)備的物理機(jī)發(fā)生異常時,控制設(shè)備重啟被監(jiān)控對象,若重啟后恢復(fù)正常,則無需向備設(shè)備側(cè)發(fā)送拉起被監(jiān)控對象的消息,從而節(jié)約了通信開銷;再次,當(dāng)控制裝置監(jiān)控到主設(shè)備的物理機(jī)發(fā)生異常 時,控制設(shè)備重啟被監(jiān)控對象,若重啟次數(shù)達(dá)到預(yù)設(shè)閾值,且被監(jiān)控對象仍然異常,則向備設(shè)備側(cè)的代理設(shè)備發(fā)送拉起重啟被監(jiān)控對象,從而能夠提供連續(xù)的服務(wù),保證能夠向用戶提供不間斷的服務(wù);上述實(shí)施例的控制裝置,通過采用上述技術(shù)方案對虛擬機(jī)所在物理機(jī)進(jìn)行的監(jiān)控,能夠有效地保證對異常的監(jiān)控的效率,從而能夠在虛擬機(jī)所在物理機(jī)發(fā)生異常時,對異常進(jìn)行及時處理,從而保證了虛擬機(jī)所在物理機(jī)的HA。圖10為本發(fā)明一實(shí)施例提供的異常處理系統(tǒng)的結(jié)構(gòu)示意圖,如圖10所示,本實(shí)施例的異常處理系統(tǒng),可以包括主設(shè)備側(cè)物理機(jī)30、備設(shè)備側(cè)物理機(jī)40和控制裝置50,主設(shè)備側(cè)物理機(jī)30和備設(shè)備側(cè)物理機(jī)40互為主備機(jī),主設(shè)備側(cè)物理機(jī)30上設(shè)置有虛擬機(jī)監(jiān)控裝置301、備設(shè)備側(cè)物理機(jī)40上設(shè)置有虛擬機(jī)監(jiān)控裝置401 ;主設(shè)備側(cè)物理機(jī)30上運(yùn)行有至少一個虛擬機(jī)302,且至少一個虛擬機(jī)302中的每個虛擬機(jī)302上能夠運(yùn)行至少一個應(yīng)用或應(yīng)用組。備設(shè)備物理機(jī)40作為主設(shè)備物理機(jī)30的備用機(jī),在主設(shè)備物理機(jī)30出現(xiàn)異常時,能夠升級為主設(shè)備物理機(jī),因此備設(shè)備側(cè)物理機(jī)40上能運(yùn)行至少一個虛擬機(jī)402,各虛擬機(jī)402中能夠運(yùn)行至少一個應(yīng)用或者應(yīng)用組。至少一個虛擬機(jī)402以及每一個虛擬機(jī)402中的至少一個應(yīng)用或者應(yīng)用組,均作為至少一個虛擬機(jī)302以及每一個虛擬機(jī)302中的至少一個應(yīng)用或者應(yīng)用組的備份。虛擬機(jī)監(jiān)控裝置301中設(shè)置有代理設(shè)備303 ;代理設(shè)備303能夠?qū)χ魑锢頇C(jī)30中的虛擬機(jī)302進(jìn)行監(jiān)控。虛擬機(jī)監(jiān)控裝置401中設(shè)置有代理設(shè)備403 ;代理設(shè)備403能夠?qū)湮锢頇C(jī)40中的虛擬機(jī)402進(jìn)行監(jiān)控。具體地代理設(shè)備303和代理設(shè)備403具體可以采用上述圖8所示實(shí)施例的代理設(shè)備來實(shí)現(xiàn),詳細(xì)可以參考上述實(shí)施例的記載,在此不再贅述。圖10中以主備設(shè)備側(cè)物理機(jī)30上能運(yùn)行的一個虛擬機(jī)302,備設(shè)備側(cè)物理機(jī)40上運(yùn)行的一個虛擬機(jī)402為例來介紹本發(fā)明的技術(shù)方案。本實(shí)施例中控制裝置50分別與代理設(shè)備303和代理設(shè)備403相通信,且代理設(shè)備303和代理設(shè)備403也能夠互相通信。本實(shí)施例中的虛擬機(jī)監(jiān)控裝置301和虛擬機(jī)監(jiān)控裝置401具體可以為采用VMM來實(shí)現(xiàn)。主設(shè)備側(cè)物理機(jī)30上的代理設(shè)備303用于檢測主設(shè)備側(cè)的物理機(jī)上運(yùn)行的虛擬機(jī)上的應(yīng)用或者應(yīng)用組或者虛擬機(jī),并當(dāng)主設(shè)備側(cè)的物理機(jī)上運(yùn)行的虛擬機(jī)上的應(yīng)用或者應(yīng)用組或者虛擬機(jī)出現(xiàn)異常時,向控制裝置50發(fā)送主設(shè)備側(cè)的物理機(jī)上運(yùn)行的虛擬機(jī)上的應(yīng)用或者應(yīng)用組或者虛擬機(jī)異常的消息,控制裝置50接收到主設(shè)備側(cè)的物理機(jī)上運(yùn)行的虛擬機(jī)上的應(yīng)用或者應(yīng)用組或者虛擬機(jī)異常的消息之后,將控制裝置50中該虛擬機(jī)上的應(yīng)用或者應(yīng)用組或者虛擬機(jī)的狀態(tài)更新為異常狀態(tài);并向主設(shè)備側(cè)的代理設(shè)備303發(fā)送的配置策略消息;主設(shè)備側(cè)的代理設(shè)備303接收控制裝置50發(fā)送的配置策略消息,并根據(jù)配置策略消息進(jìn)行異常處理;詳細(xì)可以參考上述相關(guān)實(shí)施例的記載,在此不再贅述。本實(shí)施例的異常處理系統(tǒng),通過采用上述技術(shù)方案,能夠克服現(xiàn)有技術(shù)中僅能對虛擬機(jī)的異常進(jìn)行處理,而無法對虛擬機(jī)中的應(yīng)用或者應(yīng)用組的異常進(jìn)行處理的缺陷,采用本實(shí)施例的技術(shù)方案,不僅可以對虛擬機(jī)的異常進(jìn)行處理,還能夠?qū)μ摂M機(jī)中的應(yīng)用或者應(yīng)用組的異常進(jìn)行處理,因此,本實(shí)施例的異常處理方案在實(shí)現(xiàn)應(yīng)用、應(yīng)用組或者虛擬機(jī)的HA過程中,靈活性較高。圖11為本發(fā)明另一實(shí)施例提供的異常處理系統(tǒng)的結(jié)構(gòu)示意圖,如圖11所示,本實(shí)施例的異常處理系統(tǒng),包括主設(shè)備側(cè)物理機(jī)60、備設(shè)備側(cè)物理機(jī)70和控制裝置80,主設(shè)備側(cè)物理機(jī)60和備設(shè)備側(cè)物理機(jī)70互為主備機(jī);控制裝置80控具體可以采用上述圖9所示實(shí)施例的控制裝置來實(shí)現(xiàn),詳細(xì)可以參考上述實(shí)施例的記載,在此不再贅述。本實(shí)施例的異常處理系統(tǒng)中,主設(shè)備側(cè)物理機(jī)60和備設(shè)備側(cè)物理機(jī)70分別與控制裝置80相通信。本實(shí)施例的異常處理系統(tǒng)中,控制裝置80用于監(jiān)控正在運(yùn)行的主設(shè)備側(cè)物理機(jī)60是否異常;主設(shè)備側(cè)物理機(jī)60上運(yùn)行至少一個虛擬機(jī),且各虛擬機(jī)上運(yùn)行有至少一個應(yīng)用;當(dāng)主設(shè)備側(cè)物理機(jī)60異常時,控制裝置80將主設(shè)備側(cè)物理機(jī)60上存儲的至少一個虛擬機(jī)中每一個虛擬機(jī)的狀態(tài)信息、以及至少一個虛擬機(jī)中每一個虛擬機(jī)上的至少一個應(yīng)用中的每一個應(yīng)用的狀態(tài)信息更新為異常狀態(tài)信息;并根據(jù)預(yù)設(shè)的配置策略消息進(jìn)行異常處理;詳細(xì)可以參考上述相關(guān)實(shí)施例的記載,在此不再贅述。本實(shí)施例的異常處理系統(tǒng),通過采用上述技術(shù)方案,能夠克服現(xiàn)有技術(shù)中無法對虛擬機(jī)所在的物理機(jī)的異常進(jìn)行處理的缺陷,采用本實(shí)施例的技術(shù)方案,能夠?qū)μ摂M機(jī)所在的物理機(jī)的異常進(jìn)行處理,實(shí)現(xiàn)虛擬機(jī)所在物理機(jī)的HA,靈活性較高。本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲于一計算機(jī)可讀取存儲介質(zhì)中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。以上所描述的裝置實(shí)施例僅僅是示意性的,其中作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到至少兩個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其 中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實(shí)施。最后應(yīng)說明的是以上各實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案 的范圍。
權(quán)利要求
1.一種異常處理方法,其特征在于,包括 物理機(jī)的代理設(shè)備監(jiān)控被監(jiān)控對象是否發(fā)生異常;所述被監(jiān)控對象為運(yùn)行在所述物理機(jī)上的虛擬機(jī)、或者運(yùn)行在所述物理機(jī)上的虛擬機(jī)中的應(yīng)用或應(yīng)用組; 當(dāng)所述被監(jiān)控對象發(fā)生異常時,所述物理機(jī)的代理設(shè)備向控制裝置發(fā)送所述被監(jiān)控對象的異常消息,以便所述控制裝置將自身存儲的所述被監(jiān)控對象的狀態(tài)信息更新為異常狀態(tài)息; 所述物理機(jī)的代理設(shè)備接收所述控制裝置發(fā)送的配置策略消息,所述配置策略消息由所述控制裝置根據(jù)所述被監(jiān)控對象的狀態(tài)信息進(jìn)行配置; 所述物理機(jī)的代理設(shè)備根據(jù)所述配置策略消息進(jìn)行異常處理。
2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述物理機(jī)為主設(shè)備側(cè)的物理機(jī),所述物理機(jī)的代理設(shè)備為所述主設(shè)備側(cè)的代理設(shè)備; 貝1J,所述物理機(jī)的代理設(shè)備根據(jù)所述配置策略消息進(jìn)行異常處理,包括 所述主設(shè)備側(cè)的代理設(shè)備根據(jù)所述配置策略消息,向備設(shè)備側(cè)的代理設(shè)備發(fā)送拉起所述被監(jiān)控對象的消息。
3.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述物理機(jī)為主設(shè)備側(cè)的物理機(jī),所述物理機(jī)的代理設(shè)備為所述主設(shè)備側(cè)的代理設(shè)備; 貝1J,所述物理機(jī)的代理設(shè)備根據(jù)所述配置策略消息進(jìn)行異常處理,包括 所述主設(shè)備側(cè)的代理設(shè)備根據(jù)所述配置策略消息,重啟所述被監(jiān)控對象;并更新重啟次數(shù); 所述主設(shè)備側(cè)的代理設(shè)備判斷重啟所述被監(jiān)控對象之后所述被監(jiān)控對象是否恢復(fù)正常;以及判斷所述重啟次數(shù)是否達(dá)到預(yù)設(shè)閾值; 當(dāng)重啟后所述被監(jiān)控對象仍然異常,且所述重啟次數(shù)未達(dá)到所述預(yù)設(shè)閾值時,所述主設(shè)備側(cè)的代理設(shè)備再次重啟所述被監(jiān)控對象,并更新所述重啟次數(shù),直到所述被監(jiān)控對象仍然異常,且所述重啟次數(shù)達(dá)到所述預(yù)設(shè)閾值時確定重啟截止; 在重啟截止后,所述主設(shè)備側(cè)的代理設(shè)備向備設(shè)備側(cè)的代理設(shè)備發(fā)送拉起所述被監(jiān)控對象的消息。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,在所述主設(shè)備側(cè)的代理設(shè)備重啟所述被監(jiān)控對象之后,所述方法還包括 當(dāng)重啟后所述被監(jiān)控對象恢復(fù)正常時,所述主設(shè)備側(cè)的代理設(shè)備向所述控制裝置發(fā)送所述被監(jiān)控對象重啟成功的消息,以便所述控制裝置將所述控制裝置中存儲的所述被監(jiān)控對象的狀態(tài)信息更改為正常狀態(tài)信息。
5.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述主設(shè)備側(cè)的代理設(shè)備向所述備設(shè)備側(cè)的代理設(shè)備發(fā)送拉起所述被監(jiān)控對象的消息,包括 所述主設(shè)備側(cè)的代理設(shè)備通過所述控制裝置向所述備設(shè)備側(cè)的代理設(shè)備發(fā)送拉起所述被監(jiān)控對象的消息。
6.根據(jù)權(quán)利要求1-5任一所述的方法,其特征在于,當(dāng)所述被監(jiān)控對象為運(yùn)行在所述物理機(jī)上的所述虛擬機(jī)中的應(yīng)用時,所述物理機(jī)的代理設(shè)備監(jiān)控被監(jiān)控對象是否發(fā)生異 常,包括 若所述物理機(jī)的代理設(shè)備在預(yù)設(shè)時間段內(nèi)未接收到所述應(yīng)用廣播的心跳消息,則所述物理機(jī)的代理設(shè)備確定所述虛擬機(jī)中的應(yīng)用發(fā)生異常,否則,所述物理機(jī)的代理設(shè)備確定所述虛擬機(jī)中的應(yīng)用正常。
7.根據(jù)權(quán)利要求1-5任一所述的方法,其特征在于,當(dāng)所述被監(jiān)控對象為運(yùn)行在所述物理機(jī)上的所述虛擬機(jī)中的應(yīng)用組時,所述物理機(jī)的代理設(shè)備監(jiān)控被監(jiān)控對象是否發(fā)生異常,包括 若所述物理機(jī)的代理設(shè)備在預(yù)設(shè)時間段內(nèi)未接收到所述應(yīng)用組中的任意一個應(yīng)用廣播的心跳消息,則所述物理機(jī)的代理設(shè)備確定所述虛擬機(jī)中的所述應(yīng)用組發(fā)生異常,否則,所述物理機(jī)的代理設(shè)備確定所述虛擬機(jī)中的所述應(yīng)用組正常。
8.根據(jù)權(quán)利要求1-5任一所述的方法,其特征在于,當(dāng)所述被監(jiān)控對象為運(yùn)行在所述物理機(jī)上的所述虛擬機(jī)時,所述物理機(jī)的代理設(shè)備監(jiān)控被監(jiān)控對象是否發(fā)生異常,包括 若所述物理機(jī)的代理設(shè)備在預(yù)設(shè)時間段內(nèi)未接收到所述虛擬機(jī)中的所有應(yīng)用廣播的心跳消息,則所述物理機(jī)的代理設(shè)備確定所述虛擬機(jī)發(fā)生異常,否則,所述物理機(jī)的代理設(shè)備確定所述虛擬機(jī)正常。
9.一種異常處理方法,其特征在于,包括 控制裝置監(jiān)控物理機(jī)是否發(fā)生異常,其中,所述物理機(jī)上運(yùn)行至少一個虛擬機(jī),所述至少一個虛擬機(jī)中每一個虛擬機(jī)上運(yùn)行至少一個應(yīng)用; 當(dāng)所述物理機(jī)發(fā)生異常時,所述控制裝置將自身存儲的所述物理機(jī)上每一個虛擬機(jī)的狀態(tài)信息、以及所述每一個虛擬機(jī)中每一個應(yīng)用的狀態(tài)信息更新為異常狀態(tài)信息; 所述控制裝置根據(jù)預(yù)設(shè)的配置策略消息進(jìn)行異常處理。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述物理機(jī)為主設(shè)備側(cè)的物理機(jī); 貝U,所述控制裝置根據(jù)預(yù)設(shè)的配置策略消息進(jìn)行異常處理,包括 所述控制裝置對所述主設(shè)備側(cè)的物理機(jī)進(jìn)行下電處理; 所述控制裝置向備設(shè)備側(cè)的物理機(jī)發(fā)送拉起所述主設(shè)備側(cè)的物理機(jī)上運(yùn)行的每一個虛擬機(jī)以及所述每一個虛擬機(jī)上運(yùn)行的每一個應(yīng)用的消息; 進(jìn)一步地,所述方法還包括 在所述備設(shè)備側(cè)的物理機(jī)成功拉起所述主設(shè)備側(cè)的物理機(jī)上運(yùn)行的每一個虛擬機(jī),以及所述每一個虛擬機(jī)上運(yùn)行的每一個應(yīng)用之后,所述控制裝置將自身存儲的所述主設(shè)備側(cè)的物理機(jī)上的每一個虛擬機(jī)的狀態(tài)信息、以及所述每一個虛擬機(jī)中每一個應(yīng)用的狀態(tài)信息更新為正常狀態(tài)信息。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,在所述控制裝置對所述主設(shè)備側(cè)的物理機(jī)進(jìn)行下電處理之前,所述方法還包括 所述控制裝置重啟所述主設(shè)備側(cè)的物理機(jī);并更新重啟次數(shù); 所述控制裝置判斷所述主設(shè)備側(cè)的物理機(jī)是否恢復(fù)正常;以及判斷所述重啟次數(shù)是否達(dá)到預(yù)設(shè)閾值; 當(dāng)判斷所述主設(shè)備側(cè)的物理機(jī)未恢復(fù)正常,且所述重啟次數(shù)未達(dá)到預(yù)設(shè)閾值時,則所述控制裝置再次重啟所述主設(shè)備側(cè)的物理機(jī),并更新所述重啟次數(shù),直到確定所述主設(shè)備側(cè)的物理機(jī)仍然異常,且所述重啟次數(shù)達(dá)到所述預(yù)設(shè)閾值時,確定重啟截止。
12.根據(jù)權(quán)利要求10或11所述的方法,其特征在于,所述控制裝置監(jiān)控主設(shè)備側(cè)的物理機(jī)是否發(fā)生異常,包括若所述控制裝置在預(yù)設(shè)時間段內(nèi)未接收到所述主設(shè)備側(cè)的物理機(jī)上的代理設(shè)備廣播的心跳消息時,則所述控制裝置確定所述主設(shè)備側(cè)的物理機(jī)發(fā)生異常,否則,所述控制裝置確定所述主設(shè)備側(cè)的物理機(jī)正常。
13.—種物理機(jī)的代理設(shè)備,其特征在于,包括 監(jiān)控模塊,用于監(jiān)控被監(jiān)控對象是否發(fā)生異常;所述被監(jiān)控對象為運(yùn)行在所述物理機(jī)上的虛擬機(jī)、或者運(yùn)行在所述物理機(jī)上的虛擬機(jī)中的應(yīng)用或應(yīng)用組; 發(fā)送模塊,用于當(dāng)所述被監(jiān)控對象發(fā)生異常時,向控制裝置發(fā)送所述被監(jiān)控對象的異常消息,以便所述控制裝置將自身存儲的所述被監(jiān)控對象的狀態(tài)信息更新為異常狀態(tài)信息; 接收模塊,用于接收所述控制裝置發(fā)送的配置策略消息,所述配置策略消息由所述控制裝置根據(jù)所述被監(jiān)控對象的狀態(tài)信息進(jìn)行配置; 異常處理模塊,用于根據(jù)所述配置策略消息進(jìn)行異常處理。
14.根據(jù)權(quán)利要求13所述的設(shè)備,其特征在于,所述物理機(jī)為主設(shè)備側(cè)的物理機(jī),所述物理機(jī)的代理設(shè)備為所述主設(shè)備側(cè)的代理設(shè)備;所述異常處理模塊具體用于根據(jù)所述配置策略消息,通知所述發(fā)送模塊向備設(shè)備側(cè)的代理設(shè)備發(fā)送拉起所述被監(jiān)控對象的消息; 所述發(fā)送模塊,還用于在接收到所述異常處理模塊發(fā)送的通知消息時,向備設(shè)備側(cè)的代理設(shè)備發(fā)送拉起所述被監(jiān)控對象的消息。
15.根據(jù)權(quán)利要求13所述的設(shè)備,其特征在于,所述物理機(jī)為主設(shè)備側(cè)的物理機(jī),所述物理機(jī)的代理設(shè)備為所述主設(shè)備側(cè)的代理設(shè)備;所述異常處理模塊具體用于根據(jù)所述配置策略消息,重啟所述被監(jiān)控對象;并更新重啟次數(shù);判斷重啟所述被監(jiān)控對象之后所述被監(jiān)控對象是否恢復(fù)正常;以及判斷所述重啟次數(shù)是否達(dá)到預(yù)設(shè)閾值;當(dāng)重啟后所述被監(jiān)控對象仍然異常,且所述重啟次數(shù)未達(dá)到所述預(yù)設(shè)閾值時,再次重啟所述被監(jiān)控對象,并更新所述重啟次數(shù),直到所述被監(jiān)控對象仍然異常,且所述重啟次數(shù)達(dá)到所述預(yù)設(shè)閾值時確定重啟截止; 所述發(fā)送模塊,還用于當(dāng)所述異常處理模塊確定重啟截止時,向所述備設(shè)備側(cè)的代理設(shè)備發(fā)送拉起所述被監(jiān)控對象的消息。
16.根據(jù)權(quán)利要求15所述的設(shè)備,其特征在于,在所述異常處理模塊重啟所述被監(jiān)控對象之后,當(dāng)所述監(jiān)控模塊監(jiān)控到所述被監(jiān)控對象恢復(fù)正常時,所述發(fā)送模塊還用于向所述控制裝置發(fā)送所述被監(jiān)控對象重啟成功的消息,以便所述控制裝置將所述控制裝置中存儲的所述被監(jiān)控對象的狀態(tài)信息更改為正常狀態(tài)信息。
17.根據(jù)權(quán)利要求14所述的設(shè)備,其特征在于,所述發(fā)送模塊具體用于通過所述控制裝置向所述備設(shè)備側(cè)的代理設(shè)備發(fā)送拉起所述被監(jiān)控對象的消息。
18.根據(jù)權(quán)利要求13-17任一所述的設(shè)備,其特征在于,當(dāng)所述被監(jiān)控對象為運(yùn)行在所述物理機(jī)上的所述虛擬機(jī)中的應(yīng)用時,所述監(jiān)控模塊具體用于在預(yù)設(shè)時間段內(nèi)所述接收模塊未接收到所述虛擬機(jī)中的應(yīng)用廣播的心跳消息時,確定所述虛擬機(jī)中的應(yīng)用發(fā)生異常,在預(yù)設(shè)時間段內(nèi)所述接收模塊接收到所述虛擬機(jī)中的應(yīng)用廣播的心跳消息時,確定所述虛擬機(jī)中的應(yīng)用正常; 所述接收模塊,還用于接收所述虛擬機(jī)中的應(yīng)用廣播的心跳消息。
19.根據(jù)權(quán)利要求13-17任一所述的設(shè)備,其特征在于,當(dāng)所述被監(jiān)控對象為運(yùn)行在所述物理機(jī)上的所述虛擬機(jī)中的應(yīng)用組時,所述監(jiān)控模塊具體用于在預(yù)設(shè)時間段內(nèi)所述接收模塊未接收到所述虛擬機(jī)中的所述應(yīng)用組中的任意一個應(yīng)用廣播的心跳消息時,確定所述虛擬機(jī)中的所述應(yīng)用組發(fā)生異常,在預(yù)設(shè)時間段內(nèi)所述接收模塊接收到所述虛擬機(jī)中的所述應(yīng)用組中的任意一個應(yīng)用廣播的心跳消息時,確定所述虛擬機(jī)中的所述應(yīng)用組正常; 所述接收模塊,還用于接收所述虛擬機(jī)中的所述應(yīng)用組中的任意一個應(yīng)用廣播的心跳消息。
20.根據(jù)權(quán)利要求13-17任一所述的設(shè)備,其特征在于,當(dāng)所述被監(jiān)控對象為運(yùn)行在物理機(jī)上的所述虛擬機(jī)時,所述監(jiān)控模塊具體用于在預(yù)設(shè)時間段內(nèi)所述接收模塊未接收到所述虛擬機(jī)中的所有應(yīng)用廣播的心跳消息時,確定所述虛擬機(jī)異常;在預(yù)設(shè)時間段內(nèi)所述接收模塊接收到所述虛擬機(jī)中的所有應(yīng)用廣播的心跳消息時,確定所述虛擬機(jī)正常; 所述接收模塊,還用于接收所述虛擬機(jī)中的所有應(yīng)用廣播的心跳消息。
21.—種控制裝置,其特征在于,包括 監(jiān)控模塊,用于監(jiān)控物理機(jī)是否發(fā)生異常,其中,所述物理機(jī)上運(yùn)行至少一個虛擬機(jī),所述至少一個虛擬機(jī)中每一個虛擬機(jī)上運(yùn)行至少一個應(yīng)用; 更新模塊,用于當(dāng)所述物理機(jī)異常時,將自身存儲的所述物理機(jī)上每一個虛擬機(jī)的狀態(tài)信息、以及所述每一個所述虛擬機(jī)中每一個應(yīng)用的狀態(tài)信息更新為異常狀態(tài)信息; 異常處理模塊,用于根據(jù)預(yù)設(shè)的配置策略消息進(jìn)行異常處理。
22.根據(jù)權(quán)利要求21所述的裝置,其特征在于,所述物理機(jī)為主設(shè)備側(cè)的物理機(jī);所述異常處理模塊具體用于根據(jù)所述配置策略消息,對所述主設(shè)備側(cè)的物理機(jī)進(jìn)行下電處理,向備設(shè)備側(cè)的物理機(jī)發(fā)送拉起所述主設(shè)備側(cè)的物理機(jī)上運(yùn)行的每一個虛擬機(jī)以及所述每一個虛擬機(jī)上運(yùn)行的每一個應(yīng)用的消息; 所述更新模塊,還用于在所述備設(shè)備側(cè)的物理機(jī)成功拉起所述主設(shè)備側(cè)的物理機(jī)上運(yùn)行的每一個虛擬機(jī),以及所述每一個虛擬機(jī)上運(yùn)行的每一個應(yīng)用之后,將自身存儲的所述主設(shè)備側(cè)的物理機(jī)上的每一個虛擬機(jī)的狀態(tài)信息、以及所述每一個虛擬機(jī)中每一個應(yīng)用的狀態(tài)信息更新為正常狀態(tài)信息。
23.根據(jù)權(quán)利要求22所述的裝置,其特征在于,所述異常處理模塊,還用于根據(jù)所述配置策略消息,重啟所述主設(shè)備側(cè)的物理機(jī);并更新重啟次數(shù);判斷所述主設(shè)備側(cè)的物理機(jī)是否恢復(fù)正常;以及判斷所述重啟次數(shù)是否達(dá)到預(yù)設(shè)閾值;當(dāng)確定所述主設(shè)備側(cè)的物理機(jī)未恢復(fù)正常,且所述重啟次數(shù)未達(dá)到預(yù)設(shè)閾值時,再次重啟所述主設(shè)備側(cè)的物理機(jī);并更新所述重啟次數(shù),直到確定所述主設(shè)備側(cè)的物理機(jī)仍然異常,且所述重啟次數(shù)達(dá)到所述預(yù)設(shè)閾值時,確定重啟截止。
24.根據(jù)權(quán)利要求22或23任一所述的裝置,其特征在于,所述裝置還包括接收模塊; 所述接收模塊,用于接收所述主設(shè)備側(cè)的物理機(jī)上的代理設(shè)備廣播的心跳消息; 貝U,所述監(jiān)控模塊具體用于在預(yù)設(shè)時間段內(nèi)所述接收模塊未接收到所述主設(shè)備側(cè)的物理機(jī)上的代理設(shè)備廣播的心跳消息時,確定所述主設(shè)備側(cè)的物理機(jī)發(fā)生異常,在預(yù)設(shè)時間段內(nèi)所述接收模塊接收到所述主設(shè)備側(cè)的物理機(jī)上的代理設(shè)備廣播的心跳消息時,確定所述主設(shè)備側(cè)的物理機(jī)正常。
25.一種異常處理系統(tǒng),其特征在于,包括主設(shè)備側(cè)物理機(jī)、備設(shè)備側(cè)物理機(jī)和控制裝置,其中,所述主設(shè)備側(cè)物理機(jī)和所述備設(shè)備側(cè)物理機(jī)互為主備機(jī);所述主設(shè)備側(cè)物理機(jī)和所述備設(shè)備側(cè)物理機(jī)上分別設(shè)置有虛擬機(jī)監(jiān)控裝置,所述主設(shè)備側(cè)物理機(jī)和所述備設(shè)備側(cè)物理機(jī)上運(yùn)行有至少一個虛擬機(jī),且所述至少一個虛擬機(jī)中的每個虛擬機(jī)上運(yùn)行有至少一個應(yīng)用或應(yīng)用組;每個所述虛擬機(jī)監(jiān)控裝置中設(shè)置有如上權(quán)利要求13-20中任一所述的代理設(shè)備;控制裝置分別與所述主設(shè)備側(cè)物理機(jī)和所述備設(shè)備側(cè)物理機(jī)上的代理設(shè)備相通信,且所述兩個代理設(shè)備互相通信。
26. 一種異常處理系統(tǒng),其特征在于,包括主設(shè)備側(cè)物理機(jī)、備設(shè)備側(cè)物理機(jī)和控制裝置,所述主設(shè)備側(cè)物理機(jī)和所述備設(shè)備側(cè)物理機(jī)互為主備機(jī);所述控制裝置采用如上權(quán)利要求21-24中任一所述的控制裝置,所述主設(shè)備側(cè)物理機(jī)和所述備設(shè)備側(cè)物理機(jī)分別與所述控制裝置相通信。
全文摘要
本發(fā)明實(shí)施例提供一種異常處理方法及系統(tǒng)、代理設(shè)備與控制裝置。其方法包括物理機(jī)的代理設(shè)備監(jiān)控被監(jiān)控對象是否發(fā)生異常;所述被監(jiān)控對象為運(yùn)行在物理機(jī)上的虛擬機(jī)、或者運(yùn)行在物理機(jī)上的虛擬機(jī)中的應(yīng)用或者應(yīng)用組;當(dāng)所述被監(jiān)控對象發(fā)生異常時,物理機(jī)的代理設(shè)備向控制裝置發(fā)送所述被監(jiān)控對象的異常消息,以便所述控制裝置將自身存儲的所述被監(jiān)控對象的狀態(tài)信息更新為異常狀態(tài)信息;接收所述控制裝置發(fā)送的配置策略消息,所述配置策略消息由所述控制裝置根據(jù)所述被監(jiān)控對象的狀態(tài)信息進(jìn)行配置;根據(jù)所述配置策略消息進(jìn)行異常處理。采用本發(fā)明實(shí)施例的異常處理方案在實(shí)現(xiàn)虛擬機(jī)的HA過程中,靈活性較高。
文檔編號G06F9/455GK102708018SQ20121011853
公開日2012年10月3日 申請日期2012年4月20日 優(yōu)先權(quán)日2012年4月20日
發(fā)明者趙守忠 申請人:華為技術(shù)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1