專利名稱:基于遠程檢測和電源管理的高可用集群系統假死解決方法
技術領域:
本發明屬于計算機集群技術領域,特別是涉及解決高可用性集群 (High-availability clusters)系統假死的方法。
背景技術:
隨著計算機應用領域的不斷擴展和通信網絡技術的飛速發展,電信、金融、電子政務等關鍵領域對服務器持續運行的要求越來越高,由于服務器宕機等故障所造成的業務停止將會帶來無法估量的損失,為了應對這樣的情況,目前慣用手段是采用高可用集群系統, 即使某臺服務器發生故障,用戶業務和數據也可迅速切換到備份服務器上,從而保證了整個系統對外服務的正常,為企業M小時x365天的關鍵業務應用提供了強大的保障。但是,現有高可用集群系統難以克服的一個問題是節點假死問題,比如當客戶端的請求量達到一定數值,出現服務器硬件資源難以滿足需求,服務器不能正常對外提供服務,半癱瘓的一種狀況。這種狀況的持續時間不定,是否可恢復也未知。此時如果備份服務器接管業務,主機假死恢復后服務在兩個節點同時運行,會發生磁陣雙掛,導致用戶數據丟失。而如果備份服務器不接管業務則集群不能正常對外提供服務。因此,我們希望能有一種方法能解決假死的問題,保證服務器能提供更穩定的服務。
發明內容
針對上述問題,本發明提供基于遠程檢測和電源管理的高可用集群系統假死解決方法,通過服務檢測腳本來檢測服務運行節點狀況,然后通過遠程電源管理技術重啟假死節點,節點重啟后服務能遷移到備份節點,從而保證了系統的高可用性和數據安全性,避免主機假死恢復后服務在兩個節點同時運行的狀況。本發明通過以下技術手段實現基于遠程檢測和電源管理的高可用集群系統假死解決方法,包括以下步驟A.集群系統啟動時,讀取配置文件,取得服務檢測時間間隔T和最大檢測失敗次數N,初始化遠程電源管理模塊,啟動遠程檢測定時器;集群啟動后服務部署的節點即為 L2 ;B.每隔時間T后,其它任意節點Ll向節點L2發送探測請求包,在規定的時間內收到節點L2返回的探測響應包則執行步驟C,如果接收探測響應包超時或者探測響應包標示服務在節點L2上運行異常,則執行步驟D ;C.探測響應包標示服務運行正常,等待時間間隔T后啟動下一次檢測;D.當服務連續檢測失敗次數達到最大檢測失敗次數N,說明服務在節點L2上不可用,此時節點Ll向集群系統中的集中式遠程電源管理器發送重啟請求,集中式遠程電源管理器重啟對端節點L2,節點L2關機成功后把運行在節點L2上的服務遷移到備份節點L3 ;E.節點L2重啟完成后,重新加入集群系統。
本發明還可做以下改進步驟B中,所述探測請求包為TCP連接請求、SQL查詢、特定的服務消息、帶協議標志位的包、二進制流中的至少一種。步驟D中,所述遠程電源管理器重啟對端節點的方法為與服務器所支持的電源管理接口相對應的方法;如IBM服務器的RSAII卡、HP服務器的iLO卡、DELL服務器的DRAC 卡、智能平臺管理接口 IPMI對應的遠程電源管理的方法。與現有技術相比,本發明具有的有益效果為1)本發明提供的基于遠程檢測和電源管理的高可用集群系統假死解決方法,先檢查主機是否處于假死狀態,確定主機假死后使用看門狗技術重啟主機,確保主機上運行的服務停止,有效的避免了主機假死恢復后服務在兩個節點同時運行,會發生磁陣雙掛,導致用戶數據丟失的問題,保證了整個系統運行的穩定性。2)本發明提供的基于看門狗本地檢測技術的高可用集群系統假死解決方法,先檢查主機是否處于假死狀態,確定主機假死后使用看門狗技術重啟主機,主機重啟過程中備份節點接管業務,解決了主機持續假死,集群不能正常對外提供服務問題,保證了服務可持續性。3)本發明可采用多種探測請求包進行檢測,具有靈活可控性。
圖1為基于遠程腳本檢測及遠程電源管理的集群系統假死解決方法系統流程圖。圖2為典型的高可用多節點集群系統拓撲中A.服務器;B.網絡;C.交換機;D.遠程電源管理器。
具體實施例方式下面結合附圖和實施例對本發明進行詳細的描述,以更進一步了解本發明的目的、方案及功效,但不作為對本發明所附權利要求保護的限制。實施例1如圖2所示的高可用集群系統拓撲圖,系統有L個節點,所有節點連接至一個集中式的遠程電源管理器。每個節點有三張網卡eth0、ethl、eth2。ethO和ethl作為兩個不同的心跳網卡,負責傳輸心跳信號和各節點間通信。eth2作為工作鏈路網卡連接至邊界路由器,并通過浮動IP對外提供服務。集群軟件啟動后選舉一個主節點。主節點負責集群節點間狀態同步、節點調度、服務部署等。每次服務部署時,節點調度算法會為每個服務選擇合適的節點進行部署,運行服務的節點即為活動節點。基于遠程檢測和電源管理的高可用集群系統假死解決方法,包括以下步驟A.集群系統啟動時,讀取配置文件,取得服務檢測時間間隔T和最大檢測失敗次數N,初始化遠程電源管理模塊,啟動遠程檢測定時器;集群啟動后服務部署的節點即為 L2 ;B.每隔時間T后,其它任意節點Ll向節點L2發送探測請求包,在規定的時間內收到節點L2返回的探測響應包則執行步驟C,如果接收探測響應包超時或者探測響應包標示服務在節點L2上運行異常,則執行步驟D ;
C.探測響應包標示服務運行正常,等待時間間隔T后啟動下一次檢測;D.當服務連續檢測失敗次數達到最大檢測失敗次數N,說明服務在節點L2上不可用,此時節點Ll向集群系統中的集中式遠程電源管理器發送重啟請求,集中式遠程電源管理器重啟對端節點L2,節點L2關機成功后把運行在節點L2上的服務遷移到備份節點L3 ;E.節點L2重啟完成后,重新加入集群系統。啟動集群后,進行系統狀態測試,節點L2上有運行服務,在L2上運行測試程序導致L2假死,該狀態持續TXN秒后,節點Ll連續N次服務遠程檢測失敗,Ll通告節點L2異常;集中式遠程電源管理器重啟對端節點L2,節點L2關機成功后把運行在節點L2上的服務遷移到備份節點L3 ;整個集群系統能正常對外提供服務。實施例2如圖2所示的高可用集群系統拓撲圖,系統有L個節點,所有節點連接至一個集中式的遠程電源管理器。每個節點有三張網卡eth0、ethl、eth2。ethO和ethl作為兩個不同的心跳網卡,負責傳輸心跳信號和各節點間通信。eth2作為工作鏈路網卡連接至邊界路由器,并通過浮動IP對外提供服務。集群軟件啟動后選舉一個主節點。主節點負責集群節點間狀態同步、節點調度、服務部署等。每次服務部署時,節點調度算法會為每個服務選擇合適的節點進行部署,運行服務的節點即為活動節點。基于遠程檢測和電源管理的高可用集群系統假死解決方法,包括以下步驟A.集群系統啟動時,讀取配置文件,取得服務檢測時間間隔T和最大檢測失敗次數N,初始化遠程電源管理模塊,啟動遠程檢測定時器;集群啟動后服務部署的節點即為 L2 ;B.每隔時間T后,其它任意節點Ll向節點L2發送TCP連接請求,在規定的時間內收到節點L2返回的探測響應包則執行步驟C,如果接收探測響應包超時或者探測響應包標示服務在節點L2上運行異常,則執行步驟D ;C.探測響應包標示服務運行正常,等待時間間隔T后啟動下一次檢測;D.當服務連續檢測失敗次數達到最大檢測失敗次數N,說明服務在節點L2上不可用,此時節點Ll向集群系統中的集中式遠程電源管理器發送重啟請求,集中式遠程電源管理器重啟對端節點L2,節點L2關機成功后把運行在節點L2上的服務遷移到備份節點L3 ;E.節點L2重啟完成后,重新加入集群系統。步驟D中,所述遠程電源管理器重啟對端節點的方法為與服務器所支持的電源管理接口相對應的方法;如IBM服務器的RSAII卡、HP服務器的iLO卡、DELL服務器的DRAC 卡、智能平臺管理接口 IPMI對應于遠程電源管理的方法。啟動集群后,進行系統狀態測試,節點L2上有運行服務,在L2上運行測試程序導致L2假死,該狀態持續TXN秒后,節點Ll連續N次服務遠程檢測失敗,Ll通告節點L2異常;集中式遠程電源管理器重啟對端節點L2,節點L2關機成功后把運行在節點L2上的服務遷移到備份節點L3 ;整個集群系統能正常對外提供服務。上述的實施例僅為本發明的優選實施例,不能以此來限定本發明的權利范圍,因此,依本發明申請專利范圍所作的等同變化,仍屬本發明所涵蓋的范圍。
權利要求
1.基于遠程檢測和電源管理的高可用集群系統假死解決方法,其特征在于包括以下步驟A.集群系統啟動時,讀取配置文件,取得服務檢測時間間隔T和最大檢測失敗次數N, 初始化遠程電源管理模塊,啟動遠程檢測定時器;集群啟動后服務部署的節點即為L2 ;B.每隔時間T后,其它任意節點Ll向節點L2發送探測請求包,在規定的時間內收到節點L2返回的探測響應包則執行步驟C,如果接收探測響應包超時或者探測響應包標示服務在節點L2上運行異常,則執行步驟D ;C.探測響應包標示服務運行正常,等待時間間隔T后啟動下一次檢測;D.當服務連續檢測失敗次數達到最大檢測失敗次數N,說明服務在節點L2上不可用, 此時節點Ll向集群系統中的集中式遠程電源管理器發送重啟請求,集中式遠程電源管理器重啟對端節點L2,節點L2關機成功后把運行在節點L2上的服務遷移到備份節點L3 ;E.節點L2重啟完成后,重新加入集群系統。
2.根據權利要求1所述的基于遠程檢測和電源管理的高可用集群系統假死解決方法, 其特征在于步驟B中,所述探測請求包為TCP連接請求、SQL查詢、特定的服務消息、帶協議標志位的包、二進制流中的至少一種。
3.根據權利要求,2所述的基于遠程檢測和電源管理的高可用集群系統假死解決方法,其特征在于步驟D中,所述遠程電源管理器重啟對端節點的方法為與服務器所支持的電源管理接口相對應的方法。
全文摘要
本發明提供的基于遠程檢測和管理的高可用集群系統假死解決方法,屬于計算機集群技術領域。該方法通過服務檢測腳本來檢測服務運行節點狀況,然后通過遠程電源管理技術重啟節點,節點重啟后服務能遷移到備份節點,從而保證了系統的高可用性和數據安全性,避免主機假死恢復后服務在兩個節點同時運行的狀況。保證了整個系統運行的穩定性。該方法可廣泛應用于計算機集群技術領域。
文檔編號H04L29/08GK102510343SQ20111036291
公開日2012年6月20日 申請日期2011年11月16日 優先權日2011年11月16日
發明者王幸福, 蔡強, 袁泉 申請人:廣東新支點技術服務有限公司