[發明專利]一種云環境下的分布式系統多級故障容錯方法有效
| 申請號: | 201410017308.7 | 申請日: | 2014-01-15 |
| 公開(公告)號: | CN103778031B | 公開(公告)日: | 2017-01-18 |
| 發明(設計)人: | 鄒德清;金海;江昌慶;羌衛中 | 申請(專利權)人: | 華中科技大學 |
| 主分類號: | G06F11/14 | 分類號: | G06F11/14 |
| 代理公司: | 華中科技大學專利中心42201 | 代理人: | 朱仁玲 |
| 地址: | 430074 湖北*** | 國省代碼: | 湖北;42 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 環境 分布式 系統 多級 故障 容錯 方法 | ||
技術領域
本發明屬于云計算可靠性研究中的計算容災領域,更具體地,涉及一種云環境下的分布式系統多級故障容錯方法。
背景技術
在集群容錯方面,傳統的容錯技術主要的是為了應對集群中的計算節點失效問題,主要采用的手段是時間冗余機制,即出現節點故障時利用備用節點接替故障節點,然后對業務應用程序進行回滾,從之前的某一個時刻開始重新執行。進程檢查點/回滾是一種比較成熟和通用的利用時間冗余機制進行容錯的技術。進程檢查點技術能夠將進行運行的CPU寄存器狀態和內存映像保存到外部存儲設備形成檢查點文件,當節點失效時,可以在備用節點上利用檢查點文件將進程恢復到被保存時刻的狀態繼續運行,實現遷移。這種技術的開銷較小,但是可能因為遷移的目的節點系統環境和原節點不一致,造成恢復失敗。在分布式環境下,由于分布式應用各節點之間存在通信,一個節點失效就會造成其他節點無法正常運行,因此,產生了分布式進程檢查點協議,它要求在進行檢查點設置的過程中,采用相應的協議對進程之間的通信進行協調,形成全局的一致性檢查點。根據檢查點和恢復協議的不同可分為獨立檢查點、協同檢查點和通訊誘導檢查點。基于檢查點的容錯方法通常需要添加操作系統內核模塊的方式來支持對一個進程鏡像做檢查點(比如伯克利大學的BLCR系統),同時還需要運用協同檢查點協議來處理進程間不斷出現的復雜關系。
引入虛擬化技術之后,為系統容錯提供了新的解決方案。虛擬化技術通過在操作系統之下插入一個新的虛擬層,可以有效管理和控制客戶操作系統,可以對整個操作系統進行備份,從而減少和避免應用進程間的耦合關系,達到對應用透明的目的。同時利用虛擬化技術的優勢,比如影子頁表,內存壓縮等技術,可以減少整個系統備份的時間。單個虛擬機的備份技術主要有虛擬機檢查點技術。虛擬機檢查點技術通過對整個虛擬機的內存、cpu等狀態進行保存,能夠使虛擬機在任何狀態下恢復到做檢查點時的狀態,同時結合增量檢查點技術能夠提升備份的效率。但是虛擬機檢查對于有消息通信的多虛擬機,并不能很好的解決其中所帶來的問題,比如通過協同保護通信信道狀態等。
在虛擬集群環境下,除了考慮單個虛擬機的備份之外,還要解決虛擬機之間的消息通訊問題。有研究者提出了虛擬集群環境下的協同容錯方案,它對每個虛擬機獨立地設置檢查點,同時在虛擬機管理器層利用協同協議來保證多虛擬機全局檢查點的一致性狀態。這種方案對虛擬集群內的應用時透明的,但是其同步過程需要對每個虛擬機的網絡進行阻塞,時間開銷較大,同時對整個虛擬機內存進行備份造成很大的空間開銷。
綜上所述,現有的虛擬集群分布式系統容錯方案分別存在如下不足:
直接利用物理集群分布式系統容錯方案:高成本,物理集群容錯方案一般采用進程級的分布式檢查點方法,它只能對進程的狀態進行備份和回滾,而不能保存操作系統的狀態和環境。當出現節點失效時,只能將備份文件遷移到冗余的備用節點進行恢復,因此需要多余的節點一直處于運行狀態,這對資源造成極大的浪費。此外,其擴展性差,應用程序恢復時需要解決進程遷移時對目標節點環境依賴問題,如IP地址、運行時環境等,因此恢復過程對目標系統環境依賴性強,對于新的應用可能存在問題。功能完備性差,只能解決虛擬機失效問題,對于下層的虛擬機管理器甚至物理機故障不能進行容錯。
基于虛擬機內存檢查點的方案:對應用性能影響大,由于每次備份要對虛擬機的內存進行完整保存,且在保存過程中需要阻塞網絡,會造成較長的停機時間。空間開銷大,虛擬集群節點規模一般較大,且虛擬機內存都是G數量級的,保存所有虛擬機內存所消耗的存儲空間十分巨大。
發明內容
針對現有技術的以上缺陷或改進需求,本發明提供了一種云環境下的分布式系統多級故障容錯方法,其目的在于綜合解決云計算虛擬集群環境下存在的物理機故障、虛擬機故障、應用故障容錯的技術問題,并可實現資源利用的優化和性能的提高,為用戶提供易用的接口。
為實現上述目的,按照本發明的一個方面,提供了一種云環境下的分布式系統多級故障容錯方法,包括以下步驟:
(1)主節點接收用戶通過Web界面定制的虛擬機鏡像模板;
(2)主節點根據虛擬機鏡像模板配置虛擬集群的參數,根據配置的虛擬集群的參數創建虛擬集群,并將虛擬集群中的虛擬機部署到各物理機;
(3)主節點接收用戶上傳的作業及其運行參數,并根據該運行參數判斷用戶是否需要對作業進行容錯,如果是則轉入步驟(5),否則轉入步驟(4);
(4)主節點將作業添加到運行作業隊列中,等待該作業運行完畢,并將運行結果返回給用戶;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于華中科技大學,未經華中科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410017308.7/2.html,轉載請聲明來源鉆瓜專利網。





