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