一種高成功率的xen虛擬機(jī)容錯機(jī)制的制作方法
【專利摘要】本發(fā)明涉及云計(jì)算領(lǐng)域,特別是一種高成功率的XEN虛擬機(jī)容錯機(jī)制。本發(fā)明首先通過配置文件設(shè)置專門的單獨(dú)物理機(jī)作為容錯備節(jié)點(diǎn);然后各節(jié)點(diǎn)將自己相關(guān)信息發(fā)送給集群控制器統(tǒng)一保存;用戶執(zhí)行虛擬機(jī)容錯時,系統(tǒng)首先執(zhí)行嚴(yán)格的容錯條件檢測,具體包括平臺檢測、狀態(tài)檢測、半虛擬化檢測、資源檢測、網(wǎng)絡(luò)檢測以及軟硬件檢測等;如果系統(tǒng)通過了全部的檢測,則產(chǎn)生容錯記錄,或者產(chǎn)生異常阻止本次容錯操作;根據(jù)容錯記錄調(diào)用虛擬機(jī)容錯接口執(zhí)行容錯。本發(fā)明解決了云平臺上為了實(shí)現(xiàn)高可用而大量使用XEN虛擬機(jī)容錯技術(shù)卻由于主備節(jié)點(diǎn)環(huán)境不統(tǒng)一、條件不滿足等存在的低成功率問題;可以用于XEN虛擬機(jī)容錯。
【專利說明】一種高成功率的XEN虛擬機(jī)容錯機(jī)制
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及云計(jì)算領(lǐng)域,特別是一種高成功率的XEN虛擬機(jī)容錯機(jī)制。
【背景技術(shù)】
[0002]在云計(jì)算時代,虛擬機(jī)全面取代物理機(jī)作為業(yè)務(wù)部署和運(yùn)行的載體,對于業(yè)務(wù)連續(xù)性要求特別高的應(yīng)用,物理機(jī)一般采取冗余的手段,在主服務(wù)器的基礎(chǔ)上增加一個備服務(wù)器作為后備,在主服務(wù)器發(fā)生故障時能代替主服務(wù)器繼續(xù)運(yùn)行業(yè)務(wù)應(yīng)用,可這種情況下主服務(wù)器和備服務(wù)器的IP地址是不同,即使第一時間改DNS的映射地址,也需要一段時間才能更新到客戶的服務(wù)器上,業(yè)務(wù)勢必受到一定程度的影響。
[0003]虛擬化技術(shù)被廣泛采用以后,虛擬機(jī)容錯技術(shù)取代了冗余技術(shù)成為這類應(yīng)用的首選,虛擬機(jī)容錯技術(shù)中主虛擬機(jī)和備虛擬機(jī)的IP地址是一致的,在切換的過程中不會影響到用戶訪問,而且切換時間短到毫秒級,因此,虛擬機(jī)容錯技術(shù)是此類應(yīng)用最理想的解決方案。
[0004]可虛擬機(jī)容錯技術(shù)因?yàn)閷μ摂M機(jī)的網(wǎng)絡(luò)、虛擬機(jī)操作系統(tǒng)、虛擬機(jī)硬件等方面都有比較苛刻的要求,因此,其應(yīng)用范圍不廣,在一般的私有云上進(jìn)行虛擬機(jī)容錯的成功率很低。因此,需要一種高成功率的虛擬機(jī)容錯機(jī)制.
【發(fā)明內(nèi)容】
[0005]本發(fā)明解決的技術(shù)問題在于提供一種高成功率的XEN虛擬機(jī)容錯機(jī)制,解決現(xiàn)階段云計(jì)算環(huán)境下虛擬機(jī)大量容錯而存在的高業(yè)務(wù)、低效率問題。
[0006]本發(fā)明解決上述技術(shù)問題的技術(shù)方案是:
[0007]包括如下步驟:
[0008]首先通過配置文件設(shè)置專門的單獨(dú)物理機(jī)作為容錯備節(jié)點(diǎn);
[0009]然后各虛擬機(jī)主、備節(jié)點(diǎn)將自己相關(guān)信息發(fā)送給集群控制器集統(tǒng)一保存;
[0010]用戶執(zhí)行虛擬機(jī)容錯時,系統(tǒng)首先執(zhí)行嚴(yán)格的容錯條件檢測,具體包括平臺檢測、狀態(tài)檢測、半虛擬化檢測、資源檢測、網(wǎng)絡(luò)檢測以及軟硬件檢測等;
[0011]如果系統(tǒng)通過了全部的檢測,則產(chǎn)生容錯記錄,或者產(chǎn)生異常阻止本次容錯操作;
[0012]根據(jù)容錯記錄調(diào)用虛擬機(jī)容錯接口執(zhí)行容錯。
[0013]所述的虛擬機(jī)容錯是指給正在運(yùn)行特定服務(wù)的虛擬機(jī)A設(shè)置一臺同樣配置的虛擬機(jī)B并保持?jǐn)?shù)據(jù)動態(tài)同步狀態(tài),當(dāng)虛擬機(jī)A由于某種原因出現(xiàn)異常而無法繼續(xù)提供特定服務(wù)時,虛擬機(jī)B自動啟動并接過虛擬機(jī)A的任務(wù)對外繼續(xù)提供同樣的服務(wù),且數(shù)據(jù)不丟失;
[0014]所述的容錯主節(jié)點(diǎn)和容錯備節(jié)點(diǎn)則分別是指虛擬機(jī)A所在的物理服務(wù)器節(jié)點(diǎn)和虛擬機(jī)B所在物理服務(wù)器節(jié)點(diǎn);
[0015]所述的XEN是一種虛擬機(jī)管理程序,在物理服務(wù)器節(jié)點(diǎn)上面運(yùn)行XEN可以使其本身具有創(chuàng)建虛擬機(jī)、管理虛擬機(jī)的能力;另外XEN同樣具有虛擬機(jī)動態(tài)容錯功能.[0016]所述的相關(guān)信息主要有兩方面來源:通過節(jié)點(diǎn)配置文件讀取獲得的節(jié)點(diǎn)名稱、節(jié)點(diǎn)虛擬化類型、IP網(wǎng)絡(luò)信息、內(nèi)存大小、磁盤容量等;通過調(diào)用系統(tǒng)工具所獲得的節(jié)點(diǎn)平臺相關(guān)的內(nèi)核信息、CPU類型信息等。
[0017]所述的集群控制器即管理端,用于獲取并存儲所有節(jié)點(diǎn)資源信息、虛擬化相關(guān)信息,同時接受處理用戶請求。
[0018]所述的平臺檢測是指檢測待容錯虛擬機(jī)所在的主節(jié)點(diǎn)及備節(jié)點(diǎn)虛擬化檢測,只有XEN虛擬化節(jié)點(diǎn)才支持虛擬機(jī)容錯;
[0019]所述的虛擬機(jī)狀態(tài)檢測規(guī)定只有處于正在運(yùn)行狀態(tài)下并且沒有執(zhí)行其他長操作的虛擬機(jī)才提供容錯功能;其他長操作是指耗時比較長的相關(guān)操作,例如虛擬機(jī)打包、虛擬機(jī)遷移等;
[0020]所述的半虛擬化檢測是指對虛擬機(jī)系統(tǒng)本身的檢測,只有當(dāng)虛擬機(jī)系統(tǒng)本身沒有安裝半虛擬化驅(qū)動的條件下才允許虛擬機(jī)進(jìn)行容錯;的半虛擬機(jī)驅(qū)動是指云計(jì)算虛擬化領(lǐng)域內(nèi)提供的一種I/o驅(qū)動程序,該驅(qū)動程序能夠使虛擬機(jī)獲得較高性能的I/O讀寫能力,保證虛擬機(jī)和物理機(jī)性具有相當(dāng)?shù)男阅埽?br>
[0021]所述的資源監(jiān)測是指在虛擬機(jī)容錯開始之前見檢驗(yàn)容錯備節(jié)點(diǎn)是否具有該虛擬機(jī)運(yùn)行所需要的CPU、內(nèi)存及磁盤等相關(guān)資源,只有資源滿足的條件下才繼續(xù)執(zhí)行容錯操作;
[0022]所述的網(wǎng)絡(luò)檢測是指保證容錯主備節(jié)點(diǎn)上網(wǎng)絡(luò)資源一致,容錯之前先創(chuàng)建并啟動容錯虛擬機(jī)所必須的VLAN、網(wǎng)橋等;
[0023]所述的軟硬件檢測是檢測主備節(jié)點(diǎn)的Linux內(nèi)核版本、CPU類型等相關(guān)信息。
[0024]所述的容錯信息記錄是指當(dāng)所有檢測條件都滿足的前提下,將用戶虛擬機(jī)容錯請求保存,記錄日志;
[0025]所述的啟動容錯是指調(diào)用XEN虛擬機(jī)管理程序的remus工具執(zhí)行虛擬機(jī)容錯。
[0026]本發(fā)明方案的有益效果如下:
[0027]1、本發(fā)明設(shè)計(jì)的機(jī)制能從物理資源、網(wǎng)絡(luò)資源方面保證XEN虛擬機(jī)容錯的條件得到滿足,并且通過進(jìn)行軟硬件環(huán)境檢查大大提高了 XEN虛擬機(jī)容錯的成功率;
[0028]2、本機(jī)制具有通用性,實(shí)現(xiàn)原理及方法簡單易用,能夠快速的在第三方云平臺上實(shí)現(xiàn)。
【專利附圖】
【附圖說明】
[0029]下面結(jié)合附圖對本發(fā)明進(jìn)一步說明:
[0030]附圖為本發(fā)明的流程圖。
【具體實(shí)施方式】
[0031]見附圖所示,本發(fā)明云平臺管理員首先通過配置文件配置各個計(jì)算節(jié)點(diǎn),如節(jié)點(diǎn)虛擬化平臺類型,節(jié)點(diǎn)名稱等;特別地,在容錯備節(jié)點(diǎn)上我們添加如下配置項(xiàng):
[0032]#configure compute node is fault tolreant node(FT), default is not
[0033]C0MPUTE_TYPE=FT[0034]配置有COMPUTE_TYPE=FT向的節(jié)點(diǎn)屬于容錯備節(jié)點(diǎn),專門用來接收虛擬機(jī)容錯。
[0035]云平臺啟動之后,計(jì)算節(jié)點(diǎn)讀取配置文件的各配置項(xiàng)保存并將匯報給集群控制器,集群控 制器獲取所有節(jié)點(diǎn)的信息并分別保存在Node數(shù)據(jù)結(jié)構(gòu)中,其中Node結(jié)構(gòu)部分代碼如下:
[0036]
public class Node {
private List<NodeType> type;
private AvailableVmResource availableVmResource;
[0037]
【權(quán)利要求】
1.一種高成功率的XEN虛擬機(jī)容錯機(jī)制,其特征在于: 包括如下步驟: 首先通過配置文件設(shè)置專門的單獨(dú)物理機(jī)作為容錯備節(jié)點(diǎn); 然后各虛擬機(jī)主、備節(jié)點(diǎn)將自己相關(guān)信息發(fā)送給集群控制器集統(tǒng)一保存; 用戶執(zhí)行虛擬機(jī)容錯時,系統(tǒng)首先執(zhí)行嚴(yán)格的容錯條件檢測,具體包括平臺檢測、狀態(tài)檢測、半虛擬化檢測、資源檢測、網(wǎng)絡(luò)檢測以及軟硬件檢測等; 如果系統(tǒng)通過了全部的檢測,則產(chǎn)生容錯記錄,或者產(chǎn)生異常阻止本次容錯操作; 根據(jù)容錯記錄調(diào)用虛擬機(jī)容錯接口執(zhí)行容錯。
2.根據(jù)權(quán)利要求1所述的XEN虛擬機(jī)容錯機(jī)制,其特征在于:所述的虛擬機(jī)容錯是指給正在運(yùn)行特定服務(wù)的虛擬機(jī)A設(shè)置一臺同樣配置的虛擬機(jī)B并保持?jǐn)?shù)據(jù)動態(tài)同步狀態(tài),當(dāng)虛擬機(jī)A由于某種原因出現(xiàn)異常而無法繼續(xù)提供特定服務(wù)時,虛擬機(jī)B自動啟動并接過虛擬機(jī)A的任務(wù)對外繼續(xù)提供同樣的服務(wù),且數(shù)據(jù)不丟失; 所述的容錯主節(jié)點(diǎn)和容錯備節(jié)點(diǎn)則分別是指虛擬機(jī)A所在的物理服務(wù)器節(jié)點(diǎn)和虛擬機(jī)B所在物理服務(wù)器節(jié)點(diǎn); 所述的XEN是一種虛擬機(jī)管理程序,在物理服務(wù)器節(jié)點(diǎn)上面運(yùn)行XEN可以使其本身具有創(chuàng)建虛擬機(jī)、管理虛擬機(jī)的能力;另外XEN同樣具有虛擬機(jī)動態(tài)容錯功能。
3.根據(jù)權(quán)利要求1所述的XEN虛擬機(jī)容錯機(jī)制,其特征在于:所述的相關(guān)信息主要有兩方面來源:通過節(jié)點(diǎn)配置文件讀取獲得的節(jié)點(diǎn)名稱、節(jié)點(diǎn)虛擬化類型、IP網(wǎng)絡(luò)信息、內(nèi)存大小、磁盤容量等;通過調(diào)用系統(tǒng)工具所獲得的節(jié)點(diǎn)平臺相關(guān)的內(nèi)核信息、CPU類型信息坐寸O
4.根據(jù)權(quán)利要求2所述的XEN虛擬機(jī)容錯機(jī)制,其特征在于:所述的相關(guān)信息主要有兩方面來源:通過節(jié)點(diǎn)配置文件讀取獲得的節(jié)點(diǎn)名稱、節(jié)點(diǎn)虛擬化類型、IP網(wǎng)絡(luò)信息、內(nèi)存大小、磁盤容量等;通過調(diào)用系統(tǒng)工具所獲得的節(jié)點(diǎn)平臺相關(guān)的內(nèi)核信息、CPU類型信息等ο
5.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的XEN虛擬機(jī)容錯機(jī)制,其特征在于:所述的集群控制器即管理端,用于獲取并存儲所有節(jié)點(diǎn)資源信息、虛擬化相關(guān)信息,同時接受處理用戶請求。
6.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的XEN虛擬機(jī)容錯機(jī)制,其特征在于:所述的平臺檢測是指檢測待容錯虛擬機(jī)所在的主節(jié)點(diǎn)及備節(jié)點(diǎn)虛擬化檢測,只有XEN虛擬化節(jié)點(diǎn)才支持虛擬機(jī)容錯; 所述的虛擬機(jī)狀態(tài)檢測規(guī)定只有處于正在運(yùn)行狀態(tài)下并且沒有執(zhí)行其他長操作的虛擬機(jī)才提供容錯功能;其他長操作是指耗時比較長的相關(guān)操作,例如虛擬機(jī)打包、虛擬機(jī)遷移等; 所述的半虛擬化檢測是指對虛擬機(jī)系統(tǒng)本身的檢測,只有當(dāng)虛擬機(jī)系統(tǒng)本身沒有安裝半虛擬化驅(qū)動的條件下才允許虛擬機(jī)進(jìn)行容錯;的半虛擬機(jī)驅(qū)動是指云計(jì)算虛擬化領(lǐng)域內(nèi)提供的一種I/o驅(qū)動程序,該驅(qū)動程序能夠使虛擬機(jī)獲得較高性能的I/O讀寫能力,保證虛擬機(jī)和物理機(jī)性具有相當(dāng)?shù)男阅埽? 所述的資源監(jiān)測是指在虛擬機(jī)容錯開始之前見檢驗(yàn)容錯備節(jié)點(diǎn)是否具有該虛擬機(jī)運(yùn)行所需要的CPU、內(nèi)存及磁盤等相關(guān)資源,只有資源滿足的條件下才繼續(xù)執(zhí)行容錯操作;所述的網(wǎng)絡(luò)檢測是指保證容錯主備節(jié)點(diǎn)上網(wǎng)絡(luò)資源一致,容錯之前先創(chuàng)建并啟動容錯虛擬機(jī)所必須的VLAN、網(wǎng)橋等; 所述的軟硬件檢測是檢測主備節(jié)點(diǎn)的Linux內(nèi)核版本、CPU類型等相關(guān)信息。
7.根據(jù)權(quán)利要求5所述的XEN虛擬機(jī)容錯機(jī)制,其特征在于:所述的平臺檢測是指檢測待容錯虛擬機(jī)所在的主節(jié)點(diǎn)及備節(jié)點(diǎn)虛擬化檢測,只有XEN虛擬化節(jié)點(diǎn)才支持虛擬機(jī)容錯; 所述的虛擬機(jī)狀態(tài)檢測規(guī)定只有處于正在運(yùn)行狀態(tài)下并且沒有執(zhí)行其他長操作的虛擬機(jī)才提供容錯功能;其他長操作是指耗時比較長的相關(guān)操作,例如虛擬機(jī)打包、虛擬機(jī)遷移等; 所述的半虛擬化檢測是指對虛擬機(jī)系統(tǒng)本身的檢測,只有當(dāng)虛擬機(jī)系統(tǒng)本身沒有安裝半虛擬化驅(qū)動的條件下才允許虛擬機(jī)進(jìn)行容錯;的半虛擬機(jī)驅(qū)動是指云計(jì)算虛擬化領(lǐng)域內(nèi)提供的一種I/o驅(qū)動程序,該驅(qū)動程序能夠使虛擬機(jī)獲得較高性能的I/O讀寫能力,保證虛擬機(jī)和物理機(jī)性具有相當(dāng)?shù)男阅埽? 所述的資源監(jiān)測是指在虛擬機(jī)容錯開始之前見檢驗(yàn)容錯備節(jié)點(diǎn)是否具有該虛擬機(jī)運(yùn)行所需要的CPU、內(nèi)存及磁盤等相關(guān)資源,只有資源滿足的條件下才繼續(xù)執(zhí)行容錯操作; 所述的網(wǎng)絡(luò)檢測是指保證容錯主備節(jié)點(diǎn)上網(wǎng)絡(luò)資源一致,容錯之前先創(chuàng)建并啟動容錯虛擬機(jī)所必須的VLAN、網(wǎng)橋等; 所述的軟硬件檢測是檢測主備節(jié)點(diǎn)的Linux內(nèi)核版本、CPU類型等相關(guān)信息。
8.根據(jù)權(quán)利要求1至4任一項(xiàng)所述的XEN虛擬機(jī)容錯機(jī)制,其特征在于:所述的容錯信息記錄是指當(dāng)所有檢測條件都滿足的前提下,將用戶虛擬機(jī)容錯請求保存,記錄日志; 所述的啟動容錯是指調(diào)用XEN虛擬機(jī)管理程序的remus工具執(zhí)行虛擬機(jī)容錯。
9.根據(jù)權(quán)利要求5所述的XEN虛擬機(jī)容錯機(jī)制,其特征在于:所述的容錯信息記錄是指當(dāng)所有檢測條件都滿足的前提下,將用戶虛擬機(jī)容錯請求保存,記錄日志; 所述的啟動容錯是指調(diào)用XEN虛擬機(jī)管理程序的remus工具執(zhí)行虛擬機(jī)容錯。
10.根據(jù)權(quán)利要求6所述的XEN虛擬機(jī)容錯機(jī)制,其特征在于:所述的容錯信息記錄是指當(dāng)所有檢測條件都滿足的前提下,將用戶虛擬機(jī)容錯請求保存,記錄日志; 所述的啟動容錯是指調(diào)用XEN虛擬機(jī)管理程序的remus工具執(zhí)行虛擬機(jī)容錯。
【文檔編號】G06F9/455GK103729263SQ201310719585
【公開日】2014年4月16日 申請日期:2013年12月23日 優(yōu)先權(quán)日:2013年12月23日
【發(fā)明者】熊夢, 楊松, 莫展鵬, 季統(tǒng)凱 申請人:國云科技股份有限公司