欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種云環(huán)境下的分布式系統(tǒng)多級故障容錯(cuò)方法

文檔序號:6535772閱讀:381來源:國知局
一種云環(huán)境下的分布式系統(tǒng)多級故障容錯(cuò)方法
【專利摘要】本發(fā)明公開了一種云環(huán)境下的分布式系統(tǒng)多級故障容錯(cuò)方法,包括:基于虛擬機(jī)磁盤快照的分布式應(yīng)用協(xié)同備份算法,能夠?qū)/O狀態(tài)以及所依賴的操作系統(tǒng)環(huán)境進(jìn)行備份;分層故障檢測和恢復(fù)機(jī)制,能夠?qū)崟r(shí)地檢測物理層、虛擬化層、云平臺層、虛擬機(jī)OS層和應(yīng)用層故障,針對不同的故障采用相匹配的故障恢復(fù)方法。使得故障檢測和恢復(fù)細(xì)化到模塊,采用自頂向下逐級恢復(fù)的策略,做到恢復(fù)開銷最小化;基于模板的虛擬容錯(cuò)集群服務(wù)部署策略,用戶能夠利用虛擬機(jī)模板一鍵部署虛擬機(jī)容錯(cuò)集群,并上傳作業(yè)進(jìn)行托管,同時(shí)使用經(jīng)過授權(quán)的容錯(cuò)PaaS服務(wù)。本發(fā)明能夠有效的解決現(xiàn)有集群部署復(fù)雜,容錯(cuò)開銷大的問題,并且能夠全方位應(yīng)對云計(jì)算環(huán)境下分布式應(yīng)用各層次故障。
【專利說明】一種云環(huán)境下的分布式系統(tǒng)多級故障容錯(cuò)方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于云計(jì)算可靠性研究中的計(jì)算容災(zāi)領(lǐng)域,更具體地,涉及一種云環(huán)境下的分布式系統(tǒng)多級故障容錯(cuò)方法。
【背景技術(shù)】
[0002]在集群容錯(cuò)方面,傳統(tǒng)的容錯(cuò)技術(shù)主要的是為了應(yīng)對集群中的計(jì)算節(jié)點(diǎn)失效問題,主要采用的手段是時(shí)間冗余機(jī)制,即出現(xiàn)節(jié)點(diǎn)故障時(shí)利用備用節(jié)點(diǎn)接替故障節(jié)點(diǎn),然后對業(yè)務(wù)應(yīng)用程序進(jìn)行回滾,從之前的某一個(gè)時(shí)刻開始重新執(zhí)行。進(jìn)程檢查點(diǎn)/回滾是一種比較成熟和通用的利用時(shí)間冗余機(jī)制進(jìn)行容錯(cuò)的技術(shù)。進(jìn)程檢查點(diǎn)技術(shù)能夠?qū)⑦M(jìn)行運(yùn)行的CPU寄存器狀態(tài)和內(nèi)存映像保存到外部存儲設(shè)備形成檢查點(diǎn)文件,當(dāng)節(jié)點(diǎn)失效時(shí),可以在備用節(jié)點(diǎn)上利用檢查點(diǎn)文件將進(jìn)程恢復(fù)到被保存時(shí)刻的狀態(tài)繼續(xù)運(yùn)行,實(shí)現(xiàn)遷移。這種技術(shù)的開銷較小,但是可能因?yàn)檫w移的目的節(jié)點(diǎn)系統(tǒng)環(huán)境和原節(jié)點(diǎn)不一致,造成恢復(fù)失敗。在分布式環(huán)境下,由于分布式應(yīng)用各節(jié)點(diǎn)之間存在通信,一個(gè)節(jié)點(diǎn)失效就會(huì)造成其他節(jié)點(diǎn)無法正常運(yùn)行,因此,產(chǎn)生了分布式進(jìn)程檢查點(diǎn)協(xié)議,它要求在進(jìn)行檢查點(diǎn)設(shè)置的過程中,采用相應(yīng)的協(xié)議對進(jìn)程之間的通信進(jìn)行協(xié)調(diào),形成全局的一致性檢查點(diǎn)。根據(jù)檢查點(diǎn)和恢復(fù)協(xié)議的不同可分為獨(dú)立檢查點(diǎn)、協(xié)同檢查點(diǎn)和通訊誘導(dǎo)檢查點(diǎn)?;跈z查點(diǎn)的容錯(cuò)方法通常需要添加操作系統(tǒng)內(nèi)核模塊的方式來支持對一個(gè)進(jìn)程鏡像做檢查點(diǎn)(比如伯克利大學(xué)的BLCR系統(tǒng)),同時(shí)還需要運(yùn)用協(xié)同檢查點(diǎn)協(xié)議來處理進(jìn)程間不斷出現(xiàn)的復(fù)雜關(guān)系。
[0003]引入虛擬化技術(shù)之后,為系統(tǒng)容錯(cuò)提供了新的解決方案。虛擬化技術(shù)通過在操作系統(tǒng)之下插入一個(gè)新的虛擬層,可以有效管理和控制客戶操作系統(tǒng),可以對整個(gè)操作系統(tǒng)進(jìn)行備份,從而減少和避免應(yīng)用進(jìn)程間的耦合關(guān)系,達(dá)到對應(yīng)用透明的目的。同時(shí)利用虛擬化技術(shù)的優(yōu)勢,比如影子頁表,內(nèi)存壓縮等技術(shù),可以減少整個(gè)系統(tǒng)備份的時(shí)間。單個(gè)虛擬機(jī)的備份技術(shù)主要有虛擬機(jī)檢查點(diǎn)技術(shù)。虛擬機(jī)檢查點(diǎn)技術(shù)通過對整個(gè)虛擬機(jī)的內(nèi)存、CPU等狀態(tài)進(jìn)行保存,能夠使虛擬機(jī)在任何狀態(tài)下恢復(fù)到做檢查點(diǎn)時(shí)的狀態(tài),同時(shí)結(jié)合增量檢查點(diǎn)技術(shù)能夠提升備份的效率。但是虛擬機(jī)檢查對于有消息通信的多虛擬機(jī),并不能很好的解決其中所帶來的問題,比如通過協(xié)同保護(hù)通信信道狀態(tài)等。
[0004]在虛擬集群環(huán)境下,除了考慮單個(gè)虛擬機(jī)的備份之外,還要解決虛擬機(jī)之間的消息通訊問題。有研究者提出了虛擬集群環(huán)境下的協(xié)同容錯(cuò)方案,它對每個(gè)虛擬機(jī)獨(dú)立地設(shè)置檢查點(diǎn),同時(shí)在虛擬機(jī)管理器層利用協(xié)同協(xié)議來保證多虛擬機(jī)全局檢查點(diǎn)的一致性狀態(tài)。這種方案對虛擬集群內(nèi)的應(yīng)用時(shí)透明的,但是其同步過程需要對每個(gè)虛擬機(jī)的網(wǎng)絡(luò)進(jìn)行阻塞,時(shí)間開銷較大,同時(shí)對整個(gè)虛擬機(jī)內(nèi)存進(jìn)行備份造成很大的空間開銷。
[0005]綜上所述,現(xiàn)有的虛擬集群分布式系統(tǒng)容錯(cuò)方案分別存在如下不足:
[0006]直接利用物理集群分布式系統(tǒng)容錯(cuò)方案:高成本,物理集群容錯(cuò)方案一般采用進(jìn)程級的分布式檢查點(diǎn)方法,它只能對進(jìn)程的狀態(tài)進(jìn)行備份和回滾,而不能保存操作系統(tǒng)的狀態(tài)和環(huán)境。當(dāng)出現(xiàn)節(jié)點(diǎn)失效時(shí),只能將備份文件遷移到冗余的備用節(jié)點(diǎn)進(jìn)行恢復(fù),因此需要多余的節(jié)點(diǎn)一直處于運(yùn)行狀態(tài),這對資源造成極大的浪費(fèi)。此外,其擴(kuò)展性差,應(yīng)用程序恢復(fù)時(shí)需要解決進(jìn)程遷移時(shí)對目標(biāo)節(jié)點(diǎn)環(huán)境依賴問題,如IP地址、運(yùn)行時(shí)環(huán)境等,因此恢復(fù)過程對目標(biāo)系統(tǒng)環(huán)境依賴性強(qiáng),對于新的應(yīng)用可能存在問題。功能完備性差,只能解決虛擬機(jī)失效問題,對于下層的虛擬機(jī)管理器甚至物理機(jī)故障不能進(jìn)行容錯(cuò)。
[0007]基于虛擬機(jī)內(nèi)存檢查點(diǎn)的方案:對應(yīng)用性能影響大,由于每次備份要對虛擬機(jī)的內(nèi)存進(jìn)行完整保存,且在保存過程中需要阻塞網(wǎng)絡(luò),會(huì)造成較長的停機(jī)時(shí)間??臻g開銷大,虛擬集群節(jié)點(diǎn)規(guī)模一般較大,且虛擬機(jī)內(nèi)存都是G數(shù)量級的,保存所有虛擬機(jī)內(nèi)存所消耗的存儲空間十分巨大。

【發(fā)明內(nèi)容】

[0008]針對現(xiàn)有技術(shù)的以上缺陷或改進(jìn)需求,本發(fā)明提供了一種云環(huán)境下的分布式系統(tǒng)多級故障容錯(cuò)方法,其目的在于綜合解決云計(jì)算虛擬集群環(huán)境下存在的物理機(jī)故障、虛擬機(jī)故障、應(yīng)用故障容錯(cuò)的技術(shù)問題,并可實(shí)現(xiàn)資源利用的優(yōu)化和性能的提高,為用戶提供易用的接口。
[0009]為實(shí)現(xiàn)上述目的,按照本發(fā)明的一個(gè)方面,提供了一種云環(huán)境下的分布式系統(tǒng)多級故障容錯(cuò)方法,包括以下步驟:
[0010](I)主節(jié)點(diǎn)接收用戶通過Web界面定制的虛擬機(jī)鏡像模板;
[0011](2)主節(jié)點(diǎn)根據(jù)虛擬機(jī)鏡像模板配置虛擬集群的參數(shù),根據(jù)配置的虛擬集群的參數(shù)創(chuàng)建虛擬集群,并將虛擬集群中的虛擬機(jī)部署到各物理機(jī);
[0012](3)主節(jié)點(diǎn)接收用戶上傳的作業(yè)及其運(yùn)行參數(shù),并根據(jù)該運(yùn)行參數(shù)判斷用戶是否需要對作業(yè)進(jìn)行容錯(cuò),如果是則轉(zhuǎn)入步驟(5 ),否則轉(zhuǎn)入步驟(4);
[0013](4)主節(jié)點(diǎn)將作業(yè)添加到運(yùn)行作業(yè)隊(duì)列中,等待該作業(yè)運(yùn)行完畢,并將運(yùn)行結(jié)果返回給用戶;
[0014](5)主節(jié)點(diǎn)將需要容錯(cuò)的作業(yè)添加到容錯(cuò)作業(yè)隊(duì)列中,等待該作業(yè)運(yùn)行,其中在該作業(yè)的運(yùn)行過程中執(zhí)行備份操作,在運(yùn)行過程中出現(xiàn)故障時(shí)執(zhí)行恢復(fù)操作,并在作業(yè)運(yùn)行完畢后將結(jié)果返回給用戶。
[0015]優(yōu)選地,備份操作包括以下步驟:
[0016](1-1)主節(jié)點(diǎn)向從節(jié)點(diǎn)發(fā)送檢查點(diǎn)請求消息;
[0017](1-2)從節(jié)點(diǎn)將自身狀態(tài)標(biāo)記為忙,并暫停本地作業(yè)進(jìn)程的運(yùn)行,清空其網(wǎng)絡(luò)發(fā)送緩沖區(qū)中的數(shù)據(jù)包,并向其所有兄弟從節(jié)點(diǎn)的進(jìn)程發(fā)送驅(qū)趕消息;
[0018](1-3)從節(jié)點(diǎn)監(jiān)聽并判斷是否接收到其所有兄弟從節(jié)點(diǎn)發(fā)送的驅(qū)趕消息,如果收至|J,則轉(zhuǎn)步驟(1-4);否則轉(zhuǎn)步驟(1-6)。
[0019](1-4)從節(jié)點(diǎn)為作業(yè)設(shè)置本地臨時(shí)檢查點(diǎn),包括局部進(jìn)程檢查點(diǎn)和磁盤快照:
[0020](1-5)從節(jié)點(diǎn)向主節(jié)點(diǎn)發(fā)送確認(rèn)消息,表示其本地臨時(shí)檢查點(diǎn)設(shè)置成功,并等待主節(jié)點(diǎn)的回復(fù)消息,然后轉(zhuǎn)步驟(1-7)。
[0021](1-6)從節(jié)點(diǎn)將其狀態(tài)設(shè)置成失敗,并向主節(jié)點(diǎn)發(fā)送失敗消息,表示其本地臨時(shí)檢查點(diǎn)設(shè)置失敗,并等待主節(jié)點(diǎn)的回復(fù)消息,然后轉(zhuǎn)步驟(1-9);
[0022](1-7)主節(jié)點(diǎn)在收到所有從節(jié)點(diǎn)發(fā)送的成功消息時(shí),向所有從節(jié)點(diǎn)廣播提交檢查點(diǎn)消息,然后轉(zhuǎn)入步驟(1-8);
[0023](1-8)從節(jié)點(diǎn)接收提交檢查點(diǎn)消息,將其狀態(tài)標(biāo)記為空閑,將臨時(shí)檢查點(diǎn)設(shè)置成永久檢查點(diǎn),恢復(fù)作業(yè)進(jìn)程運(yùn)行,并將備份文件提交到備份庫,然后轉(zhuǎn)步驟(1-11);
[0024](1-9)主節(jié)點(diǎn)在收到從節(jié)點(diǎn)發(fā)送的失敗消息時(shí),向所有從節(jié)點(diǎn)發(fā)送撤銷臨時(shí)檢查點(diǎn)消息,以撤銷所有局部檢查點(diǎn);
[0025]( 1-10)從節(jié)點(diǎn)接收銷臨時(shí)檢查點(diǎn)消息,將其狀態(tài)標(biāo)記為空閑,恢復(fù)作業(yè)進(jìn)程運(yùn)行,并清除本地臨時(shí)檢查點(diǎn);
[0026](1-11)從節(jié)點(diǎn)等待主節(jié)點(diǎn)發(fā)送的新一輪檢查點(diǎn)請求信息,然后返回步驟(1-1);
[0027]優(yōu)選地,步驟(1-4)具體包括以下子步驟:
[0028](1-4-1)從節(jié)點(diǎn)設(shè)置作業(yè)的局部進(jìn)程檢查點(diǎn),即將作業(yè)的進(jìn)程CPU寄存器狀態(tài)和內(nèi)存映像保存到虛擬機(jī)磁盤以形成局部進(jìn)程檢查點(diǎn),并請求虛擬機(jī)管理器對虛擬機(jī)磁盤做快照;
[0029](1-4-2)虛擬機(jī)管理器關(guān)閉中斷并緩存虛擬機(jī)磁盤1/0,為虛擬機(jī)磁盤設(shè)置快照,然后恢復(fù)虛擬機(jī)磁盤I/o和中斷;
[0030](1-4-3)虛擬機(jī)管理器將快照之前的所有快照刪除,僅保留該快照作為備份文件,并向從節(jié)點(diǎn)發(fā)送虛擬中斷;
[0031](1-4-4)從節(jié)點(diǎn)將其狀態(tài)設(shè)置為成功,表示本地臨時(shí)檢查點(diǎn)設(shè)置成功。
[0032]優(yōu)選地,恢復(fù)操作包括如下步驟:
[0033](2-1)主節(jié)點(diǎn)檢查故障類型,如果是物理機(jī)故障,則轉(zhuǎn)步驟(2-2)。如果是虛擬機(jī)故障,則定位故障虛擬機(jī)所在的物理機(jī),然后轉(zhuǎn)步驟(2-3)。如果是作業(yè)程序故障,則轉(zhuǎn)步驟(2-8);
[0034](2-2)主節(jié)點(diǎn)利用物理機(jī)調(diào)度算法為故障虛擬機(jī)集合中的所有虛擬機(jī)尋找合適的物理機(jī),將備份庫中的備份文件拷貝到相應(yīng)的物理機(jī),然后轉(zhuǎn)步驟(2-3);
[0035](2-3)主節(jié)點(diǎn)向各物理機(jī)上的虛擬機(jī)管理器發(fā)送虛擬機(jī)恢復(fù)消息;
[0036](2-4)虛擬機(jī)管理器收到虛擬機(jī)恢復(fù)消息之后,首先清除處于假死狀態(tài)的故障虛擬機(jī),然后選取該物理機(jī)上與故障虛擬機(jī)屬于同一虛擬集群的正常虛擬機(jī)作為模板,將其克隆成一個(gè)新子虛擬機(jī),并將子虛擬機(jī)掛起;
[0037](2-5)虛擬機(jī)管理器將虛擬機(jī)基礎(chǔ)磁盤鏡像和備份文件進(jìn)行合并,并將其掛載到克隆出的子虛擬機(jī)上,然后將其喚醒,并自動(dòng)修改虛擬機(jī)的相關(guān)配置;
[0038](2-6)虛擬機(jī)管理器完成該物理機(jī)上所有故障虛擬機(jī)的恢復(fù)操作之后,向主節(jié)點(diǎn)發(fā)送確認(rèn)消息;
[0039](2-7)主節(jié)點(diǎn)收到所有虛擬機(jī)管理器發(fā)送的確認(rèn)消息之后,將虛擬集群的狀態(tài)標(biāo)記為運(yùn)行狀態(tài),然后轉(zhuǎn)步驟(2-8);
[0040](2-8)主節(jié)點(diǎn)向各從節(jié)點(diǎn)發(fā)送本地作業(yè)進(jìn)程恢復(fù)請求;
[0041](2-9)從節(jié)點(diǎn)檢查本地是否還有殘余的作業(yè)進(jìn)程在運(yùn)行,如果有則將它們清除,然后請求虛擬機(jī)管理器對虛擬機(jī)磁盤快照進(jìn)行回滾,并等待虛擬機(jī)管理器返回;
[0042](2-10)虛擬機(jī)管理器關(guān)閉中斷并緩存虛擬機(jī)1/0,恢復(fù)虛擬機(jī)磁盤快照,釋放虛擬機(jī)I/o緩存并打開中斷,并向從節(jié)點(diǎn)發(fā)送返回消息以表明磁盤快照回滾成功,這時(shí)虛擬機(jī)的磁盤狀態(tài)恢復(fù)到設(shè)置磁盤快照時(shí)刻的狀態(tài);
[0043](2-11)從節(jié)點(diǎn)從虛擬機(jī)磁盤中讀取網(wǎng)絡(luò)數(shù)據(jù),重填到網(wǎng)絡(luò)緩沖區(qū)中;
[0044](2-12)從節(jié)點(diǎn)從虛擬機(jī)磁盤讀取進(jìn)程檢查點(diǎn)文件,裝載到內(nèi)存,并恢復(fù)進(jìn)程運(yùn)行,如果恢復(fù)成功,向主節(jié)點(diǎn)發(fā)送確認(rèn)消息,否則發(fā)送失敗消息;
[0045](2-13)主節(jié)點(diǎn)判斷是否接收到所有從節(jié)點(diǎn)發(fā)送的確認(rèn)消息,若是則表明應(yīng)用已恢復(fù)正常運(yùn)行,將作業(yè)狀態(tài)標(biāo)記為運(yùn)行狀態(tài),否則說明作業(yè)恢復(fù)失敗,產(chǎn)生錯(cuò)誤提示。
[0046]優(yōu)選地,步驟(2-2)中的物理機(jī)調(diào)度算法包括以下子步驟:
[0047](2-2-1)根據(jù)被分配到物理機(jī)Hi的虛擬機(jī)數(shù)量隊(duì)、物理機(jī)的總數(shù)量η和虛擬集群中虛擬機(jī)總數(shù)量N并采用以下公式計(jì)算物理機(jī)Hi上屬于虛擬集群的虛擬機(jī)密度D1、所有η
個(gè)物理機(jī)的平均虛擬機(jī)密度B、物理機(jī)Hi的故障率民、以及η個(gè)物理機(jī)的平均故障率:Λ:
[
【權(quán)利要求】
1.一種云環(huán)境下的分布式系統(tǒng)多級故障容錯(cuò)方法,其特征在于,包括以下步驟: (O主節(jié)點(diǎn)接收用戶通過Web界面定制的虛擬機(jī)鏡像模板; (2)主節(jié)點(diǎn)根據(jù)虛擬機(jī)鏡像模板配置虛擬集群的參數(shù),根據(jù)配置的虛擬集群的參數(shù)創(chuàng)建虛擬集群,并將虛擬集群中的虛擬機(jī)部署到各物理機(jī); (3)主節(jié)點(diǎn)接收用戶上傳的作業(yè)及其運(yùn)行參數(shù),并根據(jù)該運(yùn)行參數(shù)判斷用戶是否需要對作業(yè)進(jìn)行容錯(cuò),如果是則轉(zhuǎn)入步驟(5),否則轉(zhuǎn)入步驟(4); (4)主節(jié)點(diǎn)將作業(yè)添加到運(yùn)行作業(yè)隊(duì)列中,等待該作業(yè)運(yùn)行完畢,并將運(yùn)行結(jié)果返回給用戶; (5)主節(jié)點(diǎn)將需要容錯(cuò)的作業(yè)添加到容錯(cuò)作業(yè)隊(duì)列中,等待該作業(yè)運(yùn)行,其中在該作業(yè)的運(yùn)行過程中執(zhí)行備份操作,在運(yùn)行過程中出現(xiàn)故障時(shí)執(zhí)行恢復(fù)操作,并在作業(yè)運(yùn)行完畢后將結(jié)果返回給用戶。
2.根據(jù)權(quán)利要求1所述的分布式系統(tǒng)多級故障容錯(cuò)方法,其特征在于,備份操作包括以下步驟: (1-1)主節(jié)點(diǎn)向從節(jié)點(diǎn)發(fā)送檢查點(diǎn)請求消息; (1-2)從節(jié)點(diǎn)將自身狀態(tài)標(biāo)記為忙,并暫停本地作業(yè)進(jìn)程的運(yùn)行,清空其網(wǎng)絡(luò)發(fā)送緩沖區(qū)中的數(shù)據(jù)包,并向其所有兄弟從節(jié)點(diǎn)的進(jìn)程發(fā)送驅(qū)趕消息; (1-3)從節(jié)點(diǎn)監(jiān)聽并判斷是否接收到其所有兄弟從節(jié)點(diǎn)發(fā)送的驅(qū)趕消息,如果收到,則轉(zhuǎn)步驟(1-4);否則轉(zhuǎn)步驟(1-6)。 (1-4)從節(jié)點(diǎn)為作業(yè)設(shè)置本地臨時(shí)檢查點(diǎn),包括局部進(jìn)程檢查點(diǎn)和磁盤快照: (1-5)從節(jié)點(diǎn)向主節(jié)點(diǎn)發(fā)送確認(rèn)消息,表示其本地臨時(shí)檢查點(diǎn)設(shè)置成功,并等待主節(jié)點(diǎn)的回復(fù)消息,然后轉(zhuǎn)步驟(1-7 )。 (1-6)從節(jié)點(diǎn)將其狀態(tài)設(shè)置成失敗,并向主節(jié)點(diǎn)發(fā)送失敗消息,表示其本地臨時(shí)檢查點(diǎn)設(shè)置失敗,并等待主節(jié)點(diǎn)的回復(fù)消息,然后轉(zhuǎn)步驟(1-9); (1-7)主節(jié)點(diǎn)在收到所有從節(jié)點(diǎn)發(fā)送的成功消息時(shí),向所有從節(jié)點(diǎn)廣播提交檢查點(diǎn)消息,然后轉(zhuǎn)入步驟(1-8); (1-8)從節(jié)點(diǎn)接收提交檢查點(diǎn)消息,將其狀態(tài)標(biāo)記為空閑,將臨時(shí)檢查點(diǎn)設(shè)置成永久檢查點(diǎn),恢復(fù)作業(yè)進(jìn)程運(yùn)行,并將備份文件提交到備份庫,然后轉(zhuǎn)步驟(1-11); (1-9)主節(jié)點(diǎn)在收到從節(jié)點(diǎn)發(fā)送的失敗消息時(shí),向所有從節(jié)點(diǎn)發(fā)送撤銷臨時(shí)檢查點(diǎn)消息,以撤銷所有局部檢查點(diǎn); (1-10)從節(jié)點(diǎn)接收銷臨時(shí)檢查點(diǎn)消息,將其狀態(tài)標(biāo)記為空閑,恢復(fù)作業(yè)進(jìn)程運(yùn)行,并清除本地臨時(shí)檢查點(diǎn); (1-11)從節(jié)點(diǎn)等待主節(jié)點(diǎn)發(fā)送的新一輪檢查點(diǎn)請求信息,然后返回步驟(1-1)。
3.根據(jù)權(quán)利要求1所述的分布式系統(tǒng)多級故障容錯(cuò)方法,其特征在于,步驟(1-4)具體包括以下子步驟: (1-4-1)從節(jié)點(diǎn)設(shè)置作業(yè)的局部進(jìn)程檢查點(diǎn),即將作業(yè)的進(jìn)程CPU寄存器狀態(tài)和內(nèi)存映像保存到虛擬機(jī)磁盤以形成局部進(jìn)程檢查點(diǎn),并請求虛擬機(jī)管理器對虛擬機(jī)磁盤做快昭.(1-4-2)虛擬機(jī)管理器關(guān)閉中斷并緩存虛擬機(jī)磁盤1/0,為虛擬機(jī)磁盤設(shè)置快照,然后恢復(fù)虛擬機(jī)磁盤I/O和中斷;(1-4-3)虛擬機(jī)管理器將快照之前的所有快照刪除,僅保留該快照作為備份文件,并向從節(jié)點(diǎn)發(fā)送虛擬中斷; (1-4-4)從節(jié)點(diǎn)將其狀態(tài)設(shè)置為成功,表示本地臨時(shí)檢查點(diǎn)設(shè)置成功。
4.根據(jù)權(quán)利要求1所述的分布式系統(tǒng)多級故障容錯(cuò)方法,其特征在于,恢復(fù)操作包括如下步驟: (2-1)主節(jié)點(diǎn)檢查故障類型,如果是物理機(jī)故障,則轉(zhuǎn)步驟(2-2)。如果是虛擬機(jī)故障,則定位故障虛擬機(jī)所在的物理機(jī),然后轉(zhuǎn)步驟(2-3)。如果是作業(yè)程序故障,則轉(zhuǎn)步驟(2-8); (2-2)主節(jié)點(diǎn)利用物理機(jī)調(diào)度算法為故障虛擬機(jī)集合中的所有虛擬機(jī)尋找合適的物理機(jī),將備份庫中的備份文件拷貝到相應(yīng)的物理機(jī),然后轉(zhuǎn)步驟(2-3); (2-3)主節(jié)點(diǎn)向各物理機(jī)上的虛擬機(jī)管理器發(fā)送虛擬機(jī)恢復(fù)消息; (2-4)虛擬機(jī)管理器收到虛擬機(jī)恢復(fù)消息之后,首先清除處于假死狀態(tài)的故障虛擬機(jī),然后選取該物理機(jī)上與故障虛擬機(jī)屬于同一虛擬集群的正常虛擬機(jī)作為模板,將其克隆成一個(gè)新子虛擬機(jī),并將子虛擬機(jī)掛起; (2-5)虛擬機(jī)管理器將虛擬機(jī)基礎(chǔ)磁盤鏡像和備份文件進(jìn)行合并,并將其掛載到克隆出的子虛擬機(jī)上,然后將其喚醒,并自動(dòng)修改虛擬機(jī)的相關(guān)配置; (2-6)虛擬機(jī)管理器完成該物理機(jī)上所有故障虛擬機(jī)的恢復(fù)操作之后,向主節(jié)點(diǎn)發(fā)送確認(rèn)消息; (2-7)主節(jié)點(diǎn)收到所有虛擬機(jī)管理器發(fā)送的確認(rèn)消息之后,將虛擬集群的狀態(tài)標(biāo)記為運(yùn)行狀態(tài),然后轉(zhuǎn)步驟(2-8); (2-8)主節(jié)點(diǎn)向各從節(jié)點(diǎn)發(fā)送`本地作業(yè)進(jìn)程恢復(fù)請求; (2-9)從節(jié)點(diǎn)檢查本地是否還有殘余的作業(yè)進(jìn)程在運(yùn)行,如果有則將它們清除,然后請求虛擬機(jī)管理器對虛擬機(jī)磁盤快照進(jìn)行回滾,并等待虛擬機(jī)管理器返回; (2-10)虛擬機(jī)管理器關(guān)閉中斷并緩存虛擬機(jī)1/0,恢復(fù)虛擬機(jī)磁盤快照,釋放虛擬機(jī)I/O緩存并打開中斷,并向從節(jié)點(diǎn)發(fā)送返回消息以表明磁盤快照回滾成功,這時(shí)虛擬機(jī)的磁盤狀態(tài)恢復(fù)到設(shè)置磁盤快照時(shí)刻的狀態(tài); (2-11)從節(jié)點(diǎn)從虛擬機(jī)磁盤中讀取網(wǎng)絡(luò)數(shù)據(jù),重填到網(wǎng)絡(luò)緩沖區(qū)中; (2-12)從節(jié)點(diǎn)從虛擬機(jī)磁盤讀取進(jìn)程檢查點(diǎn)文件,裝載到內(nèi)存,并恢復(fù)進(jìn)程運(yùn)行,如果恢復(fù)成功,向主節(jié)點(diǎn)發(fā)送確認(rèn)消息,否則發(fā)送失敗消息; (2-13)主節(jié)點(diǎn)判斷是否接收到所有從節(jié)點(diǎn)發(fā)送的確認(rèn)消息,若是則表明應(yīng)用已恢復(fù)正常運(yùn)行,將作業(yè)狀態(tài)標(biāo)記為運(yùn)行狀態(tài),否則說明作業(yè)恢復(fù)失敗,產(chǎn)生錯(cuò)誤提示。
5.根據(jù)權(quán)利要求4所述的分布式系統(tǒng)多級故障容錯(cuò)方法,其特征在于,步驟(2-2)中的物理機(jī)調(diào)度算法包括以下子步驟: (2-2-1)根據(jù)被分配到物理機(jī)Hi的虛擬機(jī)數(shù)量隊(duì)、物理機(jī)的總數(shù)量η和虛擬集群中虛擬機(jī)總數(shù)量N并采用以下公式計(jì)算物理機(jī)Hi上屬于虛擬集群的虛擬機(jī)密度D1、所有η個(gè)物理機(jī)的平均虛擬機(jī)密度5、物理機(jī)Hi的故障率民、以及η個(gè)物理機(jī)的平均故障率靈: Di=NiZiN(式 I) D = E-L1 BiIn(式 2)
6.—種云環(huán)境下的分布式系統(tǒng)多級故障容錯(cuò)系統(tǒng),其特征在于,包括: 第一模塊,用于接收用戶通過Web界面定制的虛擬機(jī)鏡像模板; 第二模塊,用于根據(jù)虛擬機(jī)鏡像模板配置虛擬集群的參數(shù),根據(jù)配置的虛擬集群的參數(shù)創(chuàng)建虛擬集群,并將虛擬集群中的虛擬機(jī)部署到各物理機(jī); 第三模塊,用于接收用戶上傳的作業(yè)及其運(yùn)行參數(shù),并根據(jù)該運(yùn)行參數(shù)判斷用戶是否需要對作業(yè)進(jìn)行容錯(cuò),如果是則轉(zhuǎn)入第五模塊,否則轉(zhuǎn)入第四模塊; 第四模塊,用于將作業(yè)添加到運(yùn)行作業(yè)隊(duì)列中,等待該作業(yè)運(yùn)行完畢,并將運(yùn)行結(jié)果返回給用戶; 第五模塊,用于將需要容錯(cuò)的作業(yè)添加到容錯(cuò)作業(yè)隊(duì)列中,等待該作業(yè)運(yùn)行,其中在該作業(yè)的運(yùn)行過程中執(zhí)行備份操作,在運(yùn)行過程中出現(xiàn)故障時(shí)執(zhí)行恢復(fù)操作,并在作業(yè)運(yùn)行完畢后將結(jié)果返回給用戶。
【文檔編號】G06F11/14GK103778031SQ201410017308
【公開日】2014年5月7日 申請日期:2014年1月15日 優(yōu)先權(quán)日:2014年1月15日
【發(fā)明者】鄒德清, 金海 , 江昌慶, 羌衛(wèi)中 申請人:華中科技大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
边坝县| 法库县| 滨海县| 施甸县| 海南省| 临武县| 秭归县| 武强县| 保山市| 汉阴县| 三江| 报价| 孝义市| 汝阳县| 陆丰市| 固始县| 溧阳市| 三门县| 密云县| 江门市| 扬中市| 广西| 高邑县| 海林市| 青神县| 无极县| 锡林浩特市| 满城县| 额敏县| 天水市| 道真| 合川市| 开封县| 共和县| 雷山县| 岱山县| 通河县| 乐山市| 昂仁县| 讷河市| 富裕县|