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