虛擬機管理方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種虛擬機管理方法,包括:第一管理節(jié)點在第一數(shù)據(jù)中心的第一計算節(jié)點創(chuàng)建主虛擬機,在第二數(shù)據(jù)中心的第二計算節(jié)點創(chuàng)建所述主虛擬機的容錯虛擬機,所述容錯虛擬機與所述主虛擬機規(guī)格相同;指示所述第一計算節(jié)點將所述主虛擬機的內(nèi)存數(shù)據(jù)同步到所述第二計算節(jié)點。本發(fā)明實施例還提供相應(yīng)的裝置。本發(fā)明技術(shù)方案由于將主虛擬機和容錯虛擬機分別創(chuàng)建在不同的數(shù)據(jù)中心內(nèi),使得,當(dāng)主虛擬機或者主虛擬機所在的數(shù)據(jù)中心發(fā)生故障時,可以將業(yè)務(wù)即時切換到另一數(shù)據(jù)中心的容錯虛擬機,從而使業(yè)務(wù)在整個數(shù)據(jù)中心故障時也能夠持續(xù)可用。
【專利說明】虛擬機管理方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,具體涉及一種虛擬機管理方法及裝置。
【背景技術(shù)】
[0002]現(xiàn)有的虛擬機(Virtual Machine, VM)容錯(Fault Tolerance)技術(shù)可以創(chuàng)建與主虛擬機保持實時同步的虛擬機影子實例,當(dāng)發(fā)生硬件故障時,能夠在兩個虛擬機實例之間進(jìn)行即時故障切換,從而消除數(shù)據(jù)丟失或業(yè)務(wù)中斷的風(fēng)險,使應(yīng)用在服務(wù)器發(fā)生故障的情況下也能夠持續(xù)可用。
[0003]請參考圖1,現(xiàn)有的虛擬機容錯方法包括:在一個計算節(jié)點中開通稱為生產(chǎn)主機的虛擬機,并對已經(jīng)開通的生產(chǎn)主機開通容錯特性,同時,在另外一個計算節(jié)點上自動會生成稱為容錯主機的虛擬機。正常運行情況下,生產(chǎn)主機對外提供業(yè)務(wù)且與容錯主機同步,但容錯主機處于暫停狀態(tài),不對外提供服務(wù);生產(chǎn)主機和容錯主機采用共享存儲器,使用同一塊存儲單元保存內(nèi)存數(shù)據(jù),保證兩者的內(nèi)存數(shù)據(jù)一致。當(dāng)生產(chǎn)主機或者生產(chǎn)主機所在的物理節(jié)點發(fā)生不可恢復(fù)故障后,虛擬資源管理節(jié)點會檢測到生產(chǎn)主機故障,則虛擬資源管理節(jié)點將容錯主機置于工作狀態(tài),接替生產(chǎn)主機提供業(yè)務(wù),因為內(nèi)存數(shù)據(jù)是完全一致的,所以業(yè)務(wù)宕機時間為零。
[0004]現(xiàn)有的虛擬機容錯技術(shù)只適用于在同一個數(shù)據(jù)中心內(nèi)部進(jìn)行故障虛擬機切換,如果整個數(shù)據(jù)中心出現(xiàn)大規(guī)模故障,例如,火災(zāi)、水災(zāi)或供電故障燈,則現(xiàn)有的虛擬機容錯技術(shù)難以實現(xiàn)故障虛擬機切換,不能保證業(yè)務(wù)持續(xù)可用,可靠性不夠高。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實施例提供一種虛擬機管理方法及裝置,以解決現(xiàn)有的虛擬機容錯技術(shù)在整個數(shù)據(jù)中心出現(xiàn)大規(guī)模故障時不能保證業(yè)務(wù)持續(xù)可用的技術(shù)問題。
[0006]本發(fā)明第一方面提供一種虛擬機管理方法,包括:
[0007]用于虛擬機容錯系統(tǒng),所述虛擬機容錯系統(tǒng)包括第一數(shù)據(jù)中心和第二數(shù)據(jù)中心,所述第一數(shù)據(jù)中心和所述第二數(shù)據(jù)中心分別包括管理節(jié)點和計算節(jié)點以及存儲設(shè)備,所述計算節(jié)點與所述存儲設(shè)備連接;所述第一數(shù)據(jù)中心的存儲設(shè)備和所述第二數(shù)據(jù)中心的存儲設(shè)備通信,且所述第一數(shù)據(jù)中心的第一管理節(jié)點和所述第二數(shù)據(jù)中心的第二管理節(jié)點通信;所述方法包括:所述第一管理節(jié)點在所述第一數(shù)據(jù)中心的第一計算節(jié)點創(chuàng)建主虛擬機,在所述第二數(shù)據(jù)中心的第二計算節(jié)點創(chuàng)建所述主虛擬機的容錯虛擬機,所述容錯虛擬機與所述主虛擬機規(guī)格相同;指示所述第一計算節(jié)點將所述主虛擬機的內(nèi)存數(shù)據(jù)同步到所述第二計算節(jié)點。
[0008]在第一種可能的實現(xiàn)方式中,所述虛擬機管理方法還包括:若所述第一管理節(jié)點檢測到所述主虛擬機發(fā)生故障,則將所述容錯虛擬機轉(zhuǎn)為運行態(tài);或者,若所述第二管理節(jié)點檢測到所述第一數(shù)據(jù)中心發(fā)生故障,則將述容錯虛擬機轉(zhuǎn)為運行態(tài)。
[0009]結(jié)合第一方面或者第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述第一管理節(jié)點在所述第一數(shù)據(jù)中心的第一計算節(jié)點創(chuàng)建主虛擬機之前還包括:所述第一管理節(jié)點接收來自客戶端的虛擬機創(chuàng)建申請,所述虛擬機創(chuàng)建申請包含需要創(chuàng)建的虛擬機的規(guī)格;根據(jù)所述虛擬機創(chuàng)建申請,生成并下發(fā)創(chuàng)建虛擬機指令給所述第一計算節(jié)點和所述第二計算節(jié)點。
[0010]結(jié)合第一方面或者第一種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述虛擬機容錯系統(tǒng)還包括域名系統(tǒng);所述虛擬機管理方法還包括:所述域名系統(tǒng)建立所述主虛擬機運行的業(yè)務(wù)的域名與所述主虛擬機的地址的映射關(guān)系;若所述業(yè)務(wù)從所述主虛擬機遷移至所述容錯虛擬機,則將所述映射關(guān)系中的地址更新為所述所述容錯虛擬機的地址。
[0011]結(jié)合第一方面或者第一種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述虛擬機管理方法還包括:所述第一管理節(jié)點指示所述第一數(shù)據(jù)中心的路由設(shè)備發(fā)布所述主虛擬機運行的業(yè)務(wù)的精細(xì)路由,指示所述第二數(shù)據(jù)中心的路由設(shè)備發(fā)布所述業(yè)務(wù)的粗略路由;若檢測到所述業(yè)務(wù)從所述主虛擬機遷移至所述容錯虛擬機,則切換路由發(fā)布策略,指示所述第二數(shù)據(jù)中心的路由設(shè)備發(fā)布所述業(yè)務(wù)的精細(xì)路由,指示所述第一數(shù)據(jù)中心的路由設(shè)備發(fā)布所述業(yè)務(wù)的粗略路由;其中,所述精細(xì)路由包括所述主虛擬機或容錯虛擬機的地址,所述粗略路由包括所述主虛擬機或容錯虛擬機所屬的虛擬局域網(wǎng)的地址。
[0012]本發(fā)明第二方面提供一種虛擬機管理裝置,包括:
[0013]用于虛擬機容錯系統(tǒng),所述虛擬機容錯系統(tǒng)包括第一數(shù)據(jù)中心和第二數(shù)據(jù)中心,所述第一數(shù)據(jù)中心和所述第二數(shù)據(jù)中心分別包括管理節(jié)點和計算節(jié)點以及存儲設(shè)備,所述計算節(jié)點與所述存儲設(shè)備連接;所述第一數(shù)據(jù)中心的存儲設(shè)備和所述第二數(shù)據(jù)中心的存儲設(shè)備通信,且所述第一數(shù)據(jù)中心的第一管理節(jié)點和所述第二數(shù)據(jù)中心的第二管理節(jié)點通信;所述虛擬機管理裝置部署在所述第一管理節(jié)點和第二管理節(jié)點中,所述虛擬機管理裝置包括:創(chuàng)建單元,用于在所述第一數(shù)據(jù)中心的第一計算節(jié)點創(chuàng)建主虛擬機,在所述第二數(shù)據(jù)中心的第二計算節(jié)點創(chuàng)建所述主虛擬機的容錯虛擬機,所述容錯虛擬機與所述主虛擬機規(guī)格相同;同步單元,用于指示所述第一計算節(jié)點將所述主虛擬機的內(nèi)存數(shù)據(jù)同步到所述第二計算節(jié)點。
[0014]在第一種可能的實現(xiàn)方式中,所述虛擬機管理裝置還包括:檢測單元,用于檢測所述主虛擬機和所述第一數(shù)據(jù)中心是否發(fā)生故障;切換單元,用于若所述檢測單元檢測到所述主虛擬機或者所述第一數(shù)據(jù)中心發(fā)生故障,則將所述容錯虛擬機轉(zhuǎn)為運行態(tài)。
[0015]結(jié)合第二方面或者第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述虛擬機管理裝置還包括:接收單元,用于接收來自客戶端的虛擬機創(chuàng)建申請,所述虛擬機創(chuàng)建申請包含需要創(chuàng)建的虛擬機的規(guī)格;所述創(chuàng)建單元,具體用于根據(jù)所述虛擬機創(chuàng)建申請,生成并下發(fā)創(chuàng)建虛擬機指令給所述第一計算節(jié)點和所述第二計算節(jié)點。
[0016]結(jié)合第二方面或者第一種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述虛擬機容錯系統(tǒng)還包括域名系統(tǒng);所述域名系統(tǒng)用于建立所述主虛擬機運行的業(yè)務(wù)的域名與所述主虛擬機的地址的映射關(guān)系;所述虛擬機管理裝置還包括:域名發(fā)布控制單元,用于若所述業(yè)務(wù)從所述主虛擬機遷移至所述容錯虛擬機,則指示所述域名系統(tǒng)將所述映射關(guān)系中的地址更新為所述所述容錯虛擬機的地址。
[0017]結(jié)合第二方面或者第一種可能的實現(xiàn)方式,在第四種可能的實現(xiàn)方式中,所述虛擬機管理裝置還包括:路由發(fā)布控制單元,用于指示所述第一數(shù)據(jù)中心的路由設(shè)備發(fā)布所述主虛擬機運行的業(yè)務(wù)的精細(xì)路由,指示所述第二數(shù)據(jù)中心的路由發(fā)布設(shè)備發(fā)布所述業(yè)務(wù)的粗略路由;還用于若所述業(yè)務(wù)從所述主虛擬機遷移至所述容錯虛擬機,則切換路由發(fā)布策略,指示所述第二數(shù)據(jù)中心的路由設(shè)備發(fā)布所述業(yè)務(wù)的精細(xì)路由,指示所述第一數(shù)據(jù)中心的路由設(shè)備發(fā)布所述業(yè)務(wù)的粗略路由;其中,所述精細(xì)路由包括所述主虛擬機或容錯虛擬機的地址,所述粗略路由包括所述主虛擬機或容錯虛擬機所屬的虛擬局域網(wǎng)的地址。
[0018]本發(fā)明實施例采用將主虛擬機和容錯虛擬機分別創(chuàng)建在不同的數(shù)據(jù)中心內(nèi)的技術(shù)方案,使得,當(dāng)主虛擬機或者主虛擬機所在的數(shù)據(jù)中心發(fā)生故障時,可以將業(yè)務(wù)即時切換到另一數(shù)據(jù)中心的容錯虛擬機,從而使業(yè)務(wù)在整個數(shù)據(jù)中心故障時也能夠持續(xù)可用,解決了現(xiàn)有的虛擬機容錯技術(shù)的缺陷。
【專利附圖】
【附圖說明】
[0019]圖1是現(xiàn)有的虛擬機容錯技術(shù)的示意圖;
[0020]圖2是本發(fā)明實施例提供的虛擬機容錯系統(tǒng)的示意圖;
[0021]圖3是本發(fā)明實施例提供的虛擬機管理方法的流程圖;
[0022]圖4是本實施例跨數(shù)據(jù)中心的虛擬機容錯流程圖;
[0023]圖5是本實施例中用戶開通帶有跨站容錯特性的虛擬機的流程圖;
[0024]圖6是本發(fā)明一個實施例的網(wǎng)絡(luò)架構(gòu)的示意圖;
[0025]圖7本發(fā)明另一實施例的網(wǎng)絡(luò)架構(gòu)的示意圖;
[0026]圖8是本發(fā)明實施例提供的虛擬機管理裝置的示意圖。
【具體實施方式】
[0027]本發(fā)明實施例提供一種虛擬機管理方法及裝置,可以解決現(xiàn)有的虛擬機容錯技術(shù)在整個數(shù)據(jù)中心出現(xiàn)大規(guī)模故障時不能保證業(yè)務(wù)持續(xù)可用的技術(shù)問題。
[0028]為了使本【技術(shù)領(lǐng)域】的人員更好地理解本發(fā)明方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本發(fā)明保護的范圍。
[0029]實施例一、
[0030]本發(fā)明實施例提供一種虛擬機管理方法,用于虛擬機容錯系統(tǒng)。
[0031]請參考圖2,虛擬機容錯系統(tǒng)包括兩個數(shù)據(jù)中心,即第一數(shù)據(jù)中心和第二數(shù)據(jù)中心,每個數(shù)據(jù)中心包括管理節(jié)點和計算節(jié)點以及存儲設(shè)備,每個數(shù)據(jù)中心內(nèi)的計算節(jié)點與存儲設(shè)備連接;第一數(shù)據(jù)中心的存儲設(shè)備和所述第二數(shù)據(jù)中心的存儲設(shè)備通信,且第一數(shù)據(jù)中心的管理節(jié)點和第二數(shù)據(jù)中心的管理節(jié)點通信。
[0032]其中,管理節(jié)點具體可以是虛擬資源管理節(jié)點。計算節(jié)點具體可以采用光纖通道(Fibre Channel,FC)與存儲設(shè)備連接。多個計算節(jié)點可以構(gòu)成物理集群,多個存儲設(shè)備則可以構(gòu)成存儲局域網(wǎng)絡(luò)(Storage Area Network, SAN)。每個數(shù)據(jù)中心還可以部署有云計算管理平臺,以便對整個數(shù)據(jù)中心進(jìn)行統(tǒng)一管理,虛擬資源管理節(jié)點和其它網(wǎng)絡(luò)設(shè)備例如防火墻(firewall, Fff)等接入云計算管理平臺,云計算管理平臺則通過核心交換機(CoreSwitch, CSW)接入互聯(lián)網(wǎng)。第一數(shù)據(jù)中心和第二數(shù)據(jù)中心的存儲設(shè)備通過光纖鏈路通信,管理節(jié)點通過二層(L2)鏈路通信。所述二層鏈路具體可以是物理鏈路例如光纖鏈路或者雙絞線電纜等,也可以是虛擬專用網(wǎng)絡(luò)(Virtual Private Network, VPN)鏈路。
[0033]具體的,第一數(shù)據(jù)中心和第二數(shù)據(jù)中心可以采用華為存儲設(shè)備6600T遠(yuǎn)程同步功能實現(xiàn)相互同步,優(yōu)選兩個數(shù)據(jù)中心是同城的數(shù)據(jù)中心,相互距離最好不超過lOOKm,以保證同步效果。存儲設(shè)備之間的光纖鏈路采用物理光纖,優(yōu)選延遲小于1ms,物理帶寬大于等于1GB。出于同步性能和兼容性等方面的考慮,與計算節(jié)點通過光纖通道連接的多個存儲設(shè)備構(gòu)成的SAN采用光纖通道SAN。
[0034]需要注意的是,分別承擔(dān)生產(chǎn)站點和容災(zāi)站點功能的兩個數(shù)據(jù)中心的業(yè)務(wù)都要通過主網(wǎng)關(guān)出口,因此網(wǎng)絡(luò)規(guī)劃時生產(chǎn)站點和容災(zāi)站點間的業(yè)務(wù)網(wǎng)絡(luò)帶寬需要考慮這一部分的冗余;同時需要支持跨站點的虛擬機熱遷移,也要考慮這一部分流量冗余。
[0035]下面具體介紹本發(fā)明實施例方法,為方便描述,下文中將第一數(shù)據(jù)中心的管理節(jié)點稱為第一管理節(jié)點,將第二數(shù)據(jù)中心的管理節(jié)點稱為第二管理節(jié)點。
[0036]請參考圖3,本發(fā)明實施例提供的虛擬機管理方法包括:
[0037]301、第一管理節(jié)點在第一數(shù)據(jù)中心的第一計算節(jié)點創(chuàng)建主虛擬機,在第二數(shù)據(jù)中心的第二計算節(jié)點創(chuàng)建所述主虛擬機的容錯虛擬機,容錯虛擬機與主虛擬機的規(guī)格相同。
[0038]本發(fā)明實施例的虛擬機容錯系統(tǒng),其兩個數(shù)據(jù)中心的兩個管理節(jié)點只有一個處于正常運行狀態(tài),稱為主管理節(jié)點,另一個管理節(jié)點處于暫停狀態(tài),稱為備管理節(jié)點;當(dāng)主管理節(jié)點所在的數(shù)據(jù)中心發(fā)生故障時,原來的備管理節(jié)點自動升主,成為新的主管理節(jié)點。
[0039]為保證虛擬機能夠在異地容錯,本實施例中由主管理節(jié)點將主虛擬機和容錯虛擬機分別創(chuàng)建在兩個數(shù)據(jù)中心內(nèi)。假定當(dāng)前的主管理節(jié)點是第一管理節(jié)點,則由第一管理節(jié)點在第一數(shù)據(jù)中心的的第一計算節(jié)點創(chuàng)建主虛擬機,在第二數(shù)據(jù)中心的第二計算節(jié)點創(chuàng)建所述主虛擬機的容錯虛擬機,且容錯虛擬機與主虛擬機的規(guī)格相同。所述規(guī)格相同是指主虛擬機占用的CPU和內(nèi)存等資源與容錯虛擬機占用的CPU和內(nèi)存等資源相同。
[0040]一種實施方式中,需要創(chuàng)建虛擬機時,客戶端發(fā)送虛擬機創(chuàng)建申請,所述虛擬機創(chuàng)建申請包含需要創(chuàng)建的虛擬機的規(guī)格,并且包含開通容錯特性的指示;當(dāng)?shù)谝还芾砉?jié)點接收到來自客戶端的虛擬機創(chuàng)建申請后,下發(fā)創(chuàng)建虛擬機指令給第一數(shù)據(jù)中心中的第一計算節(jié)點,以便在所述第一計算節(jié)點創(chuàng)建所需要的規(guī)格的虛擬機。同時,下發(fā)創(chuàng)建虛擬機指令給第二數(shù)據(jù)中心中的第二計算節(jié)點,以便在第二數(shù)據(jù)中心的第二計算節(jié)點創(chuàng)建與主虛擬機規(guī)格相同的容錯虛擬機,作為主虛擬機的影子實例。當(dāng)主虛擬機正常運行提供業(yè)務(wù)時,容錯虛擬機處于暫停狀態(tài)。
[0041]302、指示第一計算節(jié)點將主虛擬機的內(nèi)存數(shù)據(jù)同步到第二計算節(jié)點。
[0042]作為主管理節(jié)點的第一計算節(jié)點可以實時檢測主虛擬機的運行狀態(tài)。若檢測到主虛擬機運行正常,則實時進(jìn)行主虛擬機和容錯虛擬機的數(shù)據(jù)同步,包括:指示第一計算節(jié)點采用遠(yuǎn)程同步功能將主虛擬機的內(nèi)存數(shù)據(jù)實時同步到第二計算節(jié)點。同步過程中,內(nèi)存數(shù)據(jù)通過管理層面的L2鏈路傳遞,底層SAN數(shù)據(jù)通過存儲層面的光纖鏈路傳遞。
[0043]可選的,302之后還可以包括:若主虛擬機發(fā)生故障,則將容錯虛擬機轉(zhuǎn)為運行態(tài)。具體包括:若第一管理節(jié)點檢測到所述主虛擬機發(fā)生故障,則將所述容錯虛擬機轉(zhuǎn)為運行態(tài),以接替所述主虛擬機繼續(xù)提供業(yè)務(wù)?;蛘?,若整個第一數(shù)據(jù)中心發(fā)生故障,導(dǎo)致主虛擬機以及第一管理節(jié)點均停止工作時,第二管理節(jié)點自動切換為主管理節(jié)點,由第二管理節(jié)點將容錯虛擬機轉(zhuǎn)為運行態(tài),以接替主虛擬機繼續(xù)提供業(yè)務(wù)。
[0044]為了對上述方法做進(jìn)一步的說明,下面從不同的角度分別進(jìn)行詳細(xì)描述:
[0045]圖4本實施例跨數(shù)據(jù)中心的容錯流程,包括:
[0046]1、主虛擬機(又稱為生產(chǎn)虛擬主機或生產(chǎn)主機)正常運行時,作為管理節(jié)點的虛擬資源管理節(jié)點檢測主虛擬機的運行狀態(tài)。
[0047]2、若主虛擬機正常運行,虛擬資源管理節(jié)點控制生產(chǎn)主機和容錯虛擬機(又稱為容錯主機)之間同步內(nèi)存數(shù)據(jù)。具體為:控制生產(chǎn)主機所在計算節(jié)點通過管理層面網(wǎng)絡(luò)將主虛擬機的內(nèi)存數(shù)據(jù)同步到容錯主機所在計算節(jié)點。
[0048]3、生產(chǎn)主機發(fā)生不可恢復(fù)故障后,虛擬資源管理節(jié)點檢測到生產(chǎn)主機故障。
[0049]4、虛擬資源管理節(jié)點控制容錯主機轉(zhuǎn)為運行狀態(tài),接替生產(chǎn)主機繼續(xù)提供業(yè)務(wù)。
[0050]圖5是本實施例中用戶開通帶有跨站容錯特性的虛擬機的流程,包括:
[0051]1、用戶登錄自助服務(wù)門戶(Portal),計劃開通帶跨站容錯屬性的VM。
[0052]2、用戶申請創(chuàng)建VM,選擇VM帶有跨數(shù)據(jù)中心的容錯特性。
[0053]3、運營系統(tǒng)提交管理員審批VM申請。
[0054]4、管理員審批創(chuàng)建VM申請。
[0055]5、運營系統(tǒng)提交VM創(chuàng)建申請,傳遞VM規(guī)格。
[0056]6、云計算管理平臺傳遞創(chuàng)建虛擬機指令,包含虛擬機規(guī)格。
[0057]7、云計算管理平臺下的管理節(jié)點下發(fā)包含虛擬機規(guī)格的創(chuàng)建虛擬機指令給計算節(jié)點。
[0058]8、計算節(jié)點根據(jù)指令創(chuàng)建虛擬機,分配虛擬機所需資源,包含容錯屬性。
[0059]同時,管理節(jié)點還下發(fā)創(chuàng)建虛擬機指令給另一數(shù)據(jù)中心的另一計算節(jié)點,在另一計算節(jié)點創(chuàng)建相同規(guī)格的容錯虛擬機。
[0060]9、返回創(chuàng)建虛擬機結(jié)果給客戶端。
[0061]綜上,本發(fā)明實施例提供了一種虛擬機管理方法,該方法采用將主虛擬機和容錯虛擬機分別創(chuàng)建在不同的數(shù)據(jù)中心內(nèi)的技術(shù)方案,使得,當(dāng)主虛擬機或者主虛擬機所在的數(shù)據(jù)中心發(fā)生故障時,可以將主虛擬機運行的業(yè)務(wù)即時切換到另一數(shù)據(jù)中心的容錯虛擬機,從而使業(yè)務(wù)在整個數(shù)據(jù)中心故障時也能夠持續(xù)可用,解決了現(xiàn)有的虛擬機容錯技術(shù)的缺陷。
[0062]本技術(shù)方案可以用在公有云,提供對外租賃的多租戶場景,用戶可以選擇自己的業(yè)務(wù)是否有跨數(shù)據(jù)中心容錯的屬性。同時本技術(shù)方案也可以用在私有云,私有云所在企業(yè)需要擁有至少2個數(shù)據(jù)中心。
[0063]一種實施方式中,本發(fā)明虛擬機容錯系統(tǒng)的網(wǎng)絡(luò)架構(gòu)圖如圖6所示,其中的資源池具體為圖2中示出的數(shù)據(jù)中心。為了解決跨數(shù)據(jù)中心的虛擬機容錯之后,業(yè)務(wù)的地址跨數(shù)據(jù)中心變化,而帶來的虛擬機業(yè)務(wù)切換所遇到的問題;本發(fā)明實施例的虛擬機容錯系統(tǒng)還包括域名系統(tǒng);本發(fā)明實施例提供的虛擬機管理方法還可以包括:
[0064]Al、域名系統(tǒng)建立所述主虛擬機運行的業(yè)務(wù)的域名與所述主虛擬機的地址的映射關(guān)系;
[0065]A2、若所述業(yè)務(wù)從所述主虛擬機遷移至所述容錯虛擬機,則將所述映射關(guān)系中的地址更新為所述所述容錯虛擬機的地址。[0066]其中,域名系統(tǒng)用于接收來自客戶端的業(yè)務(wù)訪問請求,所述業(yè)務(wù)訪問請求中攜帶業(yè)務(wù)的域名;根據(jù)業(yè)務(wù)的域名解析主虛擬機的地址,并將主虛擬機的地址返回給客戶端。
[0067]可選的,所述域名系統(tǒng)具體可以包括全局域名系統(tǒng)和分屬于兩個數(shù)據(jù)中心的兩個下級域名系統(tǒng)。所述域名系統(tǒng)具體可以采用全球流量管理系統(tǒng)和域名系統(tǒng)(Domain NameSystem, DNS)。客戶端訪問主虛擬機提供的業(yè)務(wù)之前,首先要經(jīng)過全局域名系統(tǒng)解析域名;全局域名系統(tǒng)對所述業(yè)務(wù)的域名進(jìn)行初次解析后,根據(jù)解析結(jié)果判斷該業(yè)務(wù)的域名所屬的數(shù)據(jù)中心,將所述業(yè)務(wù)的域名授權(quán)給該數(shù)據(jù)中心對應(yīng)的下級域名系統(tǒng)進(jìn)一步解析,由所述對應(yīng)的下級域名系統(tǒng)解析出運行所述業(yè)務(wù)的的主虛擬機的地址。當(dāng)業(yè)務(wù)從主虛擬機遷移到容錯虛擬機后,業(yè)務(wù)的公網(wǎng)地址就發(fā)生了變化,具體為從原主虛擬機的地址變化為原容錯虛擬機的地址,則域名系統(tǒng)更新所述映射關(guān)系。
[0068]以上,本發(fā)明實施例采用由域名系統(tǒng)根據(jù)業(yè)務(wù)是否遷移實時更新業(yè)務(wù)的域名對應(yīng)的主虛擬機的地址,解決了跨數(shù)據(jù)中心的虛擬機容錯之后,業(yè)務(wù)的地址跨數(shù)據(jù)中心變化,而帶來的虛擬機業(yè)務(wù)切換所遇到的問題。
[0069]另一種實施方式中,本發(fā)明虛擬機容錯系統(tǒng)的網(wǎng)絡(luò)架構(gòu)圖如圖7所示,其中的資源池具體為圖2中示出的數(shù)據(jù)中心。為了解決跨數(shù)據(jù)中心的虛擬機容錯之后,業(yè)務(wù)的地址跨數(shù)據(jù)中心變化,而帶來的虛擬機業(yè)務(wù)切換所遇到的問題;本發(fā)明實施例提供的虛擬機管理方法還可以包括:
[0070]B1、第一管理節(jié)點指示第一數(shù)據(jù)中心的路由設(shè)備發(fā)布主虛擬機運行的業(yè)務(wù)的精細(xì)路由,指示第二數(shù)據(jù)中心的路由設(shè)備發(fā)布所述業(yè)務(wù)的粗略路由;
[0071]B2、第一管理節(jié)點若檢測到所述業(yè)務(wù)從所述主虛擬機遷移至所述容錯虛擬機,則切換路由發(fā)布策略,指示所述第二數(shù)據(jù)中心的路由設(shè)備發(fā)布所述業(yè)務(wù)的精細(xì)路由,指示第一數(shù)據(jù)中心的路由設(shè)備發(fā)布所述業(yè)務(wù)的粗略路由;
[0072]其中,所述精細(xì)路由包括所述主虛擬機或容錯虛擬機的地址,所述粗略路由包括所述主虛擬機或容錯虛擬機所屬的虛擬局域網(wǎng)的地址。
[0073]本實施方式適用于兩個數(shù)據(jù)中心在同城,并且運營商可以為一個業(yè)務(wù)提供同城同網(wǎng)段的IP地址,即一個公網(wǎng)IP地址可以在一個數(shù)據(jù)中心,也可以切換到另外一個數(shù)據(jù)中心的應(yīng)用場景。所述第一或第二數(shù)據(jù)中心的路由設(shè)備具體可以是防火墻或者核心交換機或者網(wǎng)關(guān)所在的匯聚交換機。
[0074]所述的切換路由發(fā)布策略具體可以包括:
[0075]1、如果使用了防火墻進(jìn)行網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation, NAT),則在防火墻上發(fā)布對外路由,否則在核心交換機上發(fā)布路由,如果沒有核心交換機則在網(wǎng)關(guān)所在的匯聚交換機發(fā)布路由;
[0076]2、虛擬機業(yè)務(wù)所運行側(cè)的站點,也就是主虛擬機所在數(shù)據(jù)中心的路由設(shè)備對外發(fā)布該網(wǎng)段的精細(xì)路由,對端站點也就是容錯虛擬機所在的數(shù)據(jù)中心的路由設(shè)備發(fā)布該網(wǎng)段的粗略路由。如果規(guī)劃兩側(cè)站點對外分別提供不同業(yè)務(wù),也是按照同樣策略進(jìn)行發(fā)布。
[0077]3、舉例說明:某個數(shù)據(jù)中心直接通過匯聚交換機對外三層接入。按照規(guī)劃,業(yè)務(wù)A的虛擬機運行在站點1,業(yè)務(wù)A的虛擬局域網(wǎng)VLAN子網(wǎng)是10.1.1.0/24,則在站點I發(fā)布業(yè)務(wù)A的精細(xì)路由10.1.1.0/25;10.1.1.128/25,在站點2發(fā)布業(yè)務(wù)A的粗略路由10.1.1.0/24 ;業(yè)務(wù)B的虛擬機運行在站點2,業(yè)務(wù)B的VLAN子網(wǎng)是10.1.2.0/24,則在站點I發(fā)布業(yè)務(wù)B的粗略路由10.1.2.0/24,在站點2發(fā)布業(yè)務(wù)B的精細(xì)路由10.1.2.0/25; 10.1.2.128/25。所述的站點可以理解為數(shù)據(jù)中心。
[0078]4、當(dāng)發(fā)生容錯切換后,由主管理節(jié)點切換明細(xì)路由和粗略路由的發(fā)布,按照規(guī)劃,某個虛擬機業(yè)務(wù)所運行側(cè)的站點主機發(fā)生故障,主機發(fā)生容錯切換,在容災(zāi)站點容錯生效并被拉起。此時該主虛擬機的公網(wǎng)IP地址,變?yōu)樵诠收险军c發(fā)布粗略路由,在對端站點發(fā)布明細(xì)路由,這樣,互聯(lián)網(wǎng)上的流量訪問可以通過互聯(lián)網(wǎng)的公網(wǎng)路由表訪問到正確的業(yè)務(wù)所在站點。
[0079]以上,本發(fā)明實施例采用由主管理節(jié)點根據(jù)業(yè)務(wù)是否遷移指示路由設(shè)備發(fā)布精細(xì)路由或粗略路由,解決了跨數(shù)據(jù)中心的虛擬機容錯之后,業(yè)務(wù)的地址跨數(shù)據(jù)中心變化,而帶來的虛擬機業(yè)務(wù)切換所遇到的問題。
[0080]實施例二、
[0081]請參考圖8,本發(fā)明實施例提供一種虛擬機管理裝置800,用于虛擬機容錯系統(tǒng),所述系統(tǒng)包括第一數(shù)據(jù)中心和第二數(shù)據(jù)中心,所述第一數(shù)據(jù)中心和所述第二數(shù)據(jù)中心分別包括管理節(jié)點和計算節(jié)點以及存儲設(shè)備,所述計算節(jié)點與所述存儲設(shè)備連接;所述第一數(shù)據(jù)中心和所述第二數(shù)據(jù)中心的存儲設(shè)備通信,且所述第一數(shù)據(jù)中心的第一管理節(jié)點和所述第二數(shù)據(jù)中心的第二管理節(jié)點通信;
[0082]所述虛擬機管理裝置800部署在第一管理節(jié)點和第二管理節(jié)點中,具體包括:
[0083]創(chuàng)建單元801,用于在所述第一數(shù)據(jù)中心的第一計算節(jié)點創(chuàng)建主虛擬機,在所述第二數(shù)據(jù)中心的第二計算節(jié)點創(chuàng)建所述主虛擬機的容錯虛擬機,所述容錯虛擬機與所述主虛擬機規(guī)格相同;
[0084]同步單元802,用于指示所述第一計算節(jié)點將所述主虛擬機的內(nèi)存數(shù)據(jù)同步到所述第二計算節(jié)點。
[0085]一種實施方式中,所述虛擬機管理裝置800還可以包括:
[0086]檢測單元,用于檢測所述主虛擬機和所述第一數(shù)據(jù)中心是否發(fā)生故障;
[0087]切換單元,用于若所述檢測單元檢測到所述主虛擬機或者所述第一數(shù)據(jù)中心發(fā)生故障,則控制所述容錯虛擬機轉(zhuǎn)為運行態(tài)。
[0088]可選的,另一種實施方式中,所述虛擬機管理裝置800還可以包括:
[0089]接收單元,用于接收來自客戶端的虛擬機創(chuàng)建申請,所述虛擬機創(chuàng)建申請包含需要創(chuàng)建的虛擬機的規(guī)格;
[0090]相應(yīng)的,所述創(chuàng)建單元801,具體用于根據(jù)所述虛擬機創(chuàng)建申請,生成并下發(fā)創(chuàng)建虛擬機指令給所述第一計算節(jié)點和所述第二計算節(jié)點。
[0091]可選的,又一種實施方式中,所述虛擬機容錯系統(tǒng)還包括域名系統(tǒng),所述域名系統(tǒng)用于建立所述主虛擬機運行的業(yè)務(wù)的域名與所述主虛擬機的地址的映射關(guān)系;所述虛擬機管理裝置800還可以包括:域名發(fā)布控制單元,用于若所述業(yè)務(wù)從所述主虛擬機遷移至所述容錯虛擬機,則指示所述域名系統(tǒng)將所述映射關(guān)系中的地址更新為所述所述容錯虛擬機的地址。
[0092]可選的,再一種實施方式中,所述虛擬機管理裝置800還可以包括:
[0093]路由發(fā)布控制單元,用于指示所述第一數(shù)據(jù)中心的路由設(shè)備發(fā)布所述主虛擬機運行的業(yè)務(wù)的精細(xì)路由,指示所述第二數(shù)據(jù)中心的路由發(fā)布設(shè)備發(fā)布所述業(yè)務(wù)的粗略路由;還用于若所述業(yè)務(wù)從所述主虛擬機遷移至所述容錯虛擬機,則切換路由發(fā)布策略,指示所述第二數(shù)據(jù)中心的路由設(shè)備發(fā)布所述業(yè)務(wù)的精細(xì)路由,指示所述第一數(shù)據(jù)中心的路由設(shè)備發(fā)布所述業(yè)務(wù)的粗略路由;其中,所述精細(xì)路由包括所述主虛擬機或容錯虛擬機的地址,所述粗略路由包括所述主虛擬機或容錯虛擬機所屬的虛擬局域網(wǎng)的地址。
[0094]以上,對本發(fā)明實施例裝置進(jìn)行了說明,更詳細(xì)的描述請參考實施例一。
[0095]本發(fā)明實施例提供的虛擬機管理裝置部署在管理節(jié)點,可以將主虛擬機和容錯虛擬機分別創(chuàng)建在不同的數(shù)據(jù)中心內(nèi),當(dāng)主虛擬機所在的數(shù)據(jù)中心發(fā)生不可恢復(fù)故障時,將業(yè)務(wù)即時切換到另一數(shù)據(jù)中心的容錯虛擬機的技術(shù)方案,從而使業(yè)務(wù)在整個數(shù)據(jù)中心故障時也能夠持續(xù)可用,解決了現(xiàn)有的虛擬機容錯技術(shù)的缺陷。
[0096]本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟可以通過硬件來完成,也可以通過程序指令相關(guān)的硬件來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:只讀存儲器、隨機讀取存儲器、磁盤或光盤等。
[0097]以上對本發(fā)明實施例所提供的虛擬機管理方法及相應(yīng)的裝置進(jìn)行了詳細(xì)介紹,但以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想,不應(yīng)理解為對本發(fā)明的限制。本【技術(shù)領(lǐng)域】的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種虛擬機管理方法,其特征在于,用于虛擬機容錯系統(tǒng),所述虛擬機容錯系統(tǒng)包括第一數(shù)據(jù)中心和第二數(shù)據(jù)中心,所述第一數(shù)據(jù)中心和所述第二數(shù)據(jù)中心分別包括管理節(jié)點和計算節(jié)點以及存儲設(shè)備,所述計算節(jié)點與所述存儲設(shè)備連接;所述第一數(shù)據(jù)中心的存儲設(shè)備和所述第二數(shù)據(jù)中心的存儲設(shè)備通信,且所述第一數(shù)據(jù)中心的第一管理節(jié)點和所述第二數(shù)據(jù)中心的第二管理節(jié)點通信;所述方法包括: 所述第一管理節(jié)點在所述第一數(shù)據(jù)中心的第一計算節(jié)點創(chuàng)建主虛擬機,在所述第二數(shù)據(jù)中心的第二計算節(jié)點創(chuàng)建所述主虛擬機的容錯虛擬機,所述容錯虛擬機與所述主虛擬機規(guī)格相同; 指示所述第一計算節(jié)點將所述主虛擬機的內(nèi)存數(shù)據(jù)同步到所述第二計算節(jié)點。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,還包括: 若所述第一管理節(jié)點檢測到所述主虛擬機發(fā)生故障,則將所述容錯虛擬機轉(zhuǎn)為運行態(tài);或者,若所述第二管理節(jié)點檢測到所述第一數(shù)據(jù)中心發(fā)生故障,則將述容錯虛擬機轉(zhuǎn)為運行態(tài)。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述第一管理節(jié)點在所述第一數(shù)據(jù)中心的第一計算節(jié)點創(chuàng)建主虛擬機之前還包括: 所述第一管理節(jié)點接收來自客戶端的虛擬機創(chuàng)建申請,所述虛擬機創(chuàng)建申請包含需要創(chuàng)建的虛擬機的規(guī)格; 根據(jù)所述虛擬機創(chuàng)建申請,生成并下發(fā)創(chuàng)建虛擬機指令給所述第一計算節(jié)點和所述第二計算節(jié)點。
4.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述虛擬機容錯系統(tǒng)還包括域名系統(tǒng);所述方法還包括: 所述域名系統(tǒng)建立所述主虛擬機運行的業(yè)務(wù)的域名與所述主虛擬機的地址的映射關(guān)系; 若所述業(yè)務(wù)從所述主虛擬機遷移至所述容錯虛擬機,則將所述映射關(guān)系中的地址更新為所述所述容錯虛擬機的地址。
5.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,還包括: 所述第一管理節(jié)點指示所述第一數(shù)據(jù)中心的路由設(shè)備發(fā)布所述主虛擬機運行的業(yè)務(wù)的精細(xì)路由,指示所述第二數(shù)據(jù)中心的路由設(shè)備發(fā)布所述業(yè)務(wù)的粗略路由; 若檢測到所述業(yè)務(wù)從所述主虛擬機遷移至所述容錯虛擬機,則切換路由發(fā)布策略,指示所述第二數(shù)據(jù)中心的路由設(shè)備發(fā)布所述業(yè)務(wù)的精細(xì)路由,指示所述第一數(shù)據(jù)中心的路由設(shè)備發(fā)布所述業(yè)務(wù)的粗略路由; 其中,所述精細(xì)路由包括所述主虛擬機或容錯虛擬機的地址,所述粗略路由包括所述主虛擬機或容錯虛擬機所屬的虛擬局域網(wǎng)的地址。
6.一種虛擬機管理裝置,其特征在于,用于虛擬機容錯系統(tǒng),所述虛擬機容錯系統(tǒng)包括第一數(shù)據(jù)中心和第二數(shù)據(jù)中心,所述第一數(shù)據(jù)中心和所述第二數(shù)據(jù)中心分別包括管理節(jié)點和計算節(jié)點以及存儲設(shè)備,所述計算節(jié)點與所述存儲設(shè)備連接;所述第一數(shù)據(jù)中心的存儲設(shè)備和所述第二數(shù)據(jù)中心的存儲設(shè)備通信,且所述第一數(shù)據(jù)中心的第一管理節(jié)點和所述第二數(shù)據(jù)中心的第二管理節(jié)點通信;所述虛擬機管理裝置部署在所述第一管理節(jié)點和第二管理節(jié)點中,所述虛擬機管理裝置包括:創(chuàng)建單元,用于在所述第一數(shù)據(jù)中心的第一計算節(jié)點創(chuàng)建主虛擬機,在所述第二數(shù)據(jù)中心的第二計算節(jié)點創(chuàng)建所述主虛擬機的容錯虛擬機,所述容錯虛擬機與所述主虛擬機規(guī)格相同; 同步單元,用于指示所述第一計算節(jié)點將所述主虛擬機的內(nèi)存數(shù)據(jù)同步到所述第二計算節(jié)點。
7.根據(jù)權(quán)利要求6所述的虛擬機管理裝置,其特征在于,還包括: 檢測單元,用于檢測所述主虛擬機和所述第一數(shù)據(jù)中心是否發(fā)生故障; 切換單元,用于若所述檢測單元檢測到所述主虛擬機或者所述第一數(shù)據(jù)中心發(fā)生故障,則將所述容錯虛擬機轉(zhuǎn)為運行態(tài)。
8.根據(jù)權(quán)利要求6或7所述的虛擬機管理裝置,其特征在于,還包括: 接收單元,用于接收來自客戶端的虛擬機創(chuàng)建申請,所述虛擬機創(chuàng)建申請包含需要創(chuàng)建的虛擬機的規(guī)格; 所述創(chuàng)建單元,具體用于根據(jù)所述虛擬機創(chuàng)建申請,生成并下發(fā)創(chuàng)建虛擬機指令給所述第一計算節(jié)點和所述第二計算節(jié)點。
9.根據(jù)權(quán)利要求6或7所述的虛擬機管理裝置,其特征在于,所述虛擬機容錯系統(tǒng)還包括域名系統(tǒng);所述域名系統(tǒng)用于建立所述主虛擬機運行的業(yè)務(wù)的域名與所述主虛擬機的地址的映射關(guān)系;所述虛擬機管理裝置還包括: 域名發(fā)布控制單元,用于若所述業(yè)務(wù)從所述主虛擬機遷移至所述容錯虛擬機,則指示所述域名系統(tǒng)將所述映射關(guān)系中的地址更新為所述所述容錯虛擬機的地址。
10.根據(jù)權(quán)利要求6或7所述的虛擬機管理裝置,其特征在于,還包括: 路由發(fā)布控制單元,用于指示所述第一數(shù)據(jù)中心的路由設(shè)備發(fā)布所述主虛擬機運行的業(yè)務(wù)的精細(xì)路由,指示所述第二數(shù)據(jù)中心的路由發(fā)布設(shè)備發(fā)布所述業(yè)務(wù)的粗略路由;還用于若所述業(yè)務(wù)從所述主虛擬機遷移至所述容錯虛擬機,則切換路由發(fā)布策略,指示所述第二數(shù)據(jù)中心的路由設(shè)備發(fā)布所述業(yè)務(wù)的精細(xì)路由,指示所述第一數(shù)據(jù)中心的路由設(shè)備發(fā)布所述業(yè)務(wù)的粗略路由; 其中,所述精細(xì)路由包括所述主虛擬機或容錯虛擬機的地址,所述粗略路由包括所述主虛擬機或容錯虛擬機所屬的虛擬局域網(wǎng)的地址。
【文檔編號】G06F9/455GK103581177SQ201310507851
【公開日】2014年2月12日 申請日期:2013年10月24日 優(yōu)先權(quán)日:2013年10月24日
【發(fā)明者】王春風(fēng), 張永森 申請人:華為技術(shù)有限公司