專利名稱:Linux集群故障自動(dòng)恢復(fù)方法和Linux集群故障自動(dòng)恢復(fù)系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及大規(guī)模集群資源管理系統(tǒng)的優(yōu)化與應(yīng)用,特別是涉及到Linux集群故障自動(dòng)恢復(fù)方法。
背景技術(shù):
隨著計(jì)算需求的發(fā)展,微機(jī)集群的規(guī)模也在不斷地?cái)U(kuò)大,如何高效地完成對(duì)大規(guī)模集群的管理,成為亟待解決的一個(gè)難題。國(guó)內(nèi)外的計(jì)算機(jī)廠家均投入了大量研發(fā)力量開(kāi)發(fā)集群相關(guān)產(chǎn)品,從免費(fèi)軟件到收費(fèi)軟件,功能各有不同,主要功能集中于系統(tǒng)管理和監(jiān)視,但缺少智能的、自動(dòng)化的工具,所以集群的可管理性和可用性均收到極大的影響。在現(xiàn)
有的模式下,管理人員需要通過(guò)自身的經(jīng)驗(yàn)進(jìn)行故障點(diǎn)的查找和判斷,往往耗時(shí)較長(zhǎng),且不容易迅速處理問(wèn)題,將故障節(jié)點(diǎn)重新投入使用。為此我們發(fā)明了一種新的Linux集群故障自動(dòng)恢復(fù)方法,解決了以上技術(shù)問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種能夠自動(dòng)、快速、高效地完成集群節(jié)點(diǎn)系統(tǒng)的故障自動(dòng)恢復(fù)的Linux集群故障自動(dòng)恢復(fù)方法。
本發(fā)明的目的可通過(guò)如下技術(shù)措施來(lái)實(shí)現(xiàn)Linux集群故障自動(dòng)恢復(fù)方法,該Linux集群故障自動(dòng)恢復(fù)方法包執(zhí)行數(shù)據(jù)信息采集并判斷是否出現(xiàn)故障;當(dāng)判斷出現(xiàn)故障時(shí),重新啟動(dòng)節(jié)點(diǎn);當(dāng)重新啟動(dòng)該節(jié)點(diǎn)后,再次執(zhí)行該數(shù)據(jù)信息采集并判斷出現(xiàn)故障時(shí),執(zhí)行故障節(jié)點(diǎn)的維護(hù)集成;在執(zhí)行該故障節(jié)點(diǎn)的維護(hù)集成后,再次執(zhí)行該數(shù)據(jù)信息采集并判斷出現(xiàn)故障時(shí),執(zhí)行故障節(jié)點(diǎn)的安裝集成;以及在執(zhí)行該故障節(jié)點(diǎn)的安裝集成后,再次執(zhí)行該數(shù)據(jù)信息采集并判斷出現(xiàn)故障時(shí),進(jìn)行人工處理。本發(fā)明的目的還可通過(guò)如下技術(shù)措施來(lái)實(shí)現(xiàn)
該數(shù)據(jù)信息采集包括動(dòng)態(tài)數(shù)據(jù)采集、靜態(tài)信息采集、系統(tǒng)服務(wù)狀態(tài)數(shù)據(jù)采集和應(yīng)用信息數(shù)據(jù)采集。該動(dòng)態(tài)數(shù)據(jù)采集和靜態(tài)信息采集通過(guò)讀取系統(tǒng)的/proc文件系統(tǒng)獲取系統(tǒng)信息。該系統(tǒng)服務(wù)狀態(tài)數(shù)據(jù)采集是檢測(cè)整個(gè)集群的DNS、NIS、NTP等主從服務(wù)器的服務(wù)狀態(tài),并把其狀態(tài)寫到數(shù)據(jù)庫(kù)中。該應(yīng)用信息數(shù)據(jù)采集是根據(jù)生產(chǎn)應(yīng)用的實(shí)際情況,先羅列出實(shí)際應(yīng)用中的各種需要,然后根據(jù)需要手工錄入各個(gè)應(yīng)用服務(wù)器及應(yīng)用服務(wù)的節(jié)點(diǎn)名,并保存到數(shù)據(jù)庫(kù)中,然后根據(jù)各個(gè)應(yīng)用服務(wù)器的節(jié)點(diǎn)名檢測(cè)該服務(wù)器的應(yīng)用服務(wù)狀態(tài),并把其狀態(tài)寫到該數(shù)據(jù)庫(kù)中。該Linux集群故障自動(dòng)恢復(fù)方法根據(jù)該數(shù)據(jù)信息采集的更新時(shí)間,設(shè)定該更新間隔的最大時(shí)間間隔,當(dāng)該數(shù)據(jù)信息采集的刷新時(shí)間超過(guò)了該最大時(shí)間間隔時(shí),判斷出現(xiàn)故障。
該Linux集群故障自動(dòng)恢復(fù)方法還包括在重新啟動(dòng)節(jié)點(diǎn)的步驟后,標(biāo)志節(jié)點(diǎn)已進(jìn)行重新啟動(dòng)的標(biāo)志位,并在再次執(zhí)行該數(shù)據(jù)信息采集并判斷未出現(xiàn)故障時(shí),清除節(jié)點(diǎn)已進(jìn)行重新啟動(dòng)的標(biāo)志位。該Linux集群故障自動(dòng)恢復(fù)方法還包括在執(zhí)行故障節(jié)點(diǎn)的維護(hù)集成的步驟后,標(biāo)志節(jié)點(diǎn)維護(hù)集成的標(biāo)志位,并在再次執(zhí)行該數(shù)據(jù)信息采集并判斷未出現(xiàn)故障時(shí),清除節(jié)點(diǎn)維護(hù)集成的標(biāo)志位。該Linux集群故障自動(dòng)恢復(fù)方法還包括在執(zhí)行故障節(jié)點(diǎn)的安裝集成的步驟后,標(biāo)志節(jié)點(diǎn)安裝集成的標(biāo)志位,并在再次執(zhí)行該數(shù)據(jù)信息采集并判斷未出現(xiàn)故障時(shí),清除節(jié)點(diǎn)安裝集成的標(biāo)志位。 該執(zhí)行故障節(jié)點(diǎn)的維護(hù)集成的步驟包括將該節(jié)點(diǎn)在服務(wù)器端設(shè)置成維護(hù)狀態(tài),重新啟動(dòng)該節(jié)點(diǎn),該節(jié)點(diǎn)在啟動(dòng)過(guò)程中,從網(wǎng)絡(luò)讀取啟動(dòng)映像,進(jìn)入該節(jié)點(diǎn)的維護(hù)狀態(tài),將該節(jié)點(diǎn)系統(tǒng)的配置還原到最初配置狀態(tài)。該執(zhí)行故障節(jié)點(diǎn)的安裝集成的步驟包括將該節(jié)點(diǎn)在服務(wù)器端設(shè)置成安裝集成狀態(tài),重新啟動(dòng)該節(jié)點(diǎn),該節(jié)點(diǎn)在啟動(dòng)過(guò)程中,從網(wǎng)絡(luò)讀取啟動(dòng)映像,進(jìn)入節(jié)點(diǎn)的網(wǎng)絡(luò)安裝集成,從網(wǎng)絡(luò)讀取安裝包,進(jìn)行系統(tǒng)的安裝配置,將該節(jié)點(diǎn)系統(tǒng)重新進(jìn)行安裝。本發(fā)明的目的也可通過(guò)如下技術(shù)措施來(lái)實(shí)現(xiàn)=Linux集群故障自動(dòng)恢復(fù)系統(tǒng),其特征在于,該Linux集群故障自動(dòng)恢復(fù)系統(tǒng)包括數(shù)據(jù)信息采集及判斷模塊、重新啟動(dòng)節(jié)點(diǎn)模塊、維護(hù)集成模塊和安裝集成模塊,該數(shù)據(jù)信息采集及判斷模塊用于執(zhí)行數(shù)據(jù)信息采集并判斷是否出現(xiàn)故障,該重新啟動(dòng)節(jié)點(diǎn)模塊用于重新啟動(dòng)節(jié)點(diǎn),該維護(hù)集成模塊用于執(zhí)行故障節(jié)點(diǎn)的維護(hù)集成,該安裝集成模塊用于執(zhí)行故障節(jié)點(diǎn)的安裝集成。本發(fā)明的目的還可通過(guò)如下技術(shù)措施來(lái)實(shí)現(xiàn)
該數(shù)據(jù)信息采集及判斷模塊執(zhí)行數(shù)據(jù)信息采集并判斷是否出現(xiàn)故障,當(dāng)該數(shù)據(jù)信息采集及判斷模塊判斷出現(xiàn)故障時(shí),該重新啟動(dòng)節(jié)點(diǎn)模塊重新啟動(dòng)節(jié)點(diǎn),在該重新啟動(dòng)節(jié)點(diǎn)模塊重新啟動(dòng)該節(jié)點(diǎn)后,該數(shù)據(jù)信息采集及判斷模塊再次執(zhí)行該數(shù)據(jù)信息采集并判斷出現(xiàn)故障時(shí),該維護(hù)集成模塊執(zhí)行故障節(jié)點(diǎn)的維護(hù)集成,當(dāng)該維護(hù)集成模塊執(zhí)行該故障節(jié)點(diǎn)的維護(hù)集成后,該數(shù)據(jù)信息采集及判斷模塊再次執(zhí)行該數(shù)據(jù)信息采集并判斷出現(xiàn)故障時(shí),該安裝集成模塊執(zhí)行故障節(jié)點(diǎn)的安裝集成,在該安裝集成模塊執(zhí)行該故障節(jié)點(diǎn)的安裝集成后,該數(shù)據(jù)信息采集及判斷模塊再次執(zhí)行該數(shù)據(jù)信息采集并判斷出現(xiàn)故障時(shí),該數(shù)據(jù)信息采集及判斷模塊發(fā)送消息以進(jìn)行人工處理。該數(shù)據(jù)信息采集包括動(dòng)態(tài)數(shù)據(jù)采集、靜態(tài)信息采集、系統(tǒng)服務(wù)狀態(tài)數(shù)據(jù)采集和應(yīng)用信息數(shù)據(jù)采集。該數(shù)據(jù)信息采集及判斷模塊通過(guò)讀取系統(tǒng)的/proc文件系統(tǒng)獲取系統(tǒng)信息以獲得該動(dòng)態(tài)數(shù)據(jù)采集和該靜態(tài)信息采集。該數(shù)據(jù)信息采集及判斷模塊檢測(cè)整個(gè)集群的DNS、NIS、NTP等主從服務(wù)器的服務(wù)狀態(tài)以獲得該系統(tǒng)服務(wù)狀態(tài)數(shù)據(jù)采集,并把其狀態(tài)寫到數(shù)據(jù)庫(kù)中。該數(shù)據(jù)信息采集及判斷模塊根據(jù)生產(chǎn)應(yīng)用的實(shí)際情況,先羅列出實(shí)際應(yīng)用中的各種需要,然后根據(jù)需要手工錄入各個(gè)應(yīng)用服務(wù)器及應(yīng)用服務(wù)的節(jié)點(diǎn)名,并保存到數(shù)據(jù)庫(kù)中,然后根據(jù)各個(gè)應(yīng)用服務(wù)器的節(jié)點(diǎn)名檢測(cè)該服務(wù)器的應(yīng)用服務(wù)狀態(tài),并把其狀態(tài)寫到該數(shù)據(jù)庫(kù)中,以進(jìn)行該應(yīng)用信息數(shù)據(jù)采集。
該數(shù)據(jù)信息采集及判斷模塊根據(jù)該數(shù)據(jù)信息采集的更新時(shí)間,設(shè)定該更新間隔的最大時(shí)間間隔,當(dāng)該數(shù)據(jù)信息采集的刷新時(shí)間超過(guò)了該最大時(shí)間間隔時(shí),該數(shù)據(jù)信息采集及判斷模塊判斷出現(xiàn)故障。該維護(hù)集成模塊在執(zhí)行故障節(jié)點(diǎn)的維護(hù)集成時(shí),將該節(jié)點(diǎn)在服務(wù)器端設(shè)置成維護(hù)狀態(tài),重新啟動(dòng)該節(jié)點(diǎn),該節(jié)點(diǎn)在啟動(dòng)過(guò)程中,從網(wǎng)絡(luò)讀取啟動(dòng)映像,進(jìn)入該節(jié)點(diǎn)的維護(hù)狀態(tài),將該節(jié)點(diǎn)系統(tǒng)的配置還原到最初配置狀態(tài)。該安裝集成模塊在執(zhí)行 故障節(jié)點(diǎn)的安裝集成時(shí),將該節(jié)點(diǎn)在服務(wù)器端設(shè)置成安裝集成狀態(tài),重新啟動(dòng)該節(jié)點(diǎn),該節(jié)點(diǎn)在啟動(dòng)過(guò)程中,從網(wǎng)絡(luò)讀取啟動(dòng)映像,進(jìn)入節(jié)點(diǎn)的網(wǎng)絡(luò)安裝集成,從網(wǎng)絡(luò)讀取安裝包,進(jìn)行系統(tǒng)的安裝配置,將該節(jié)點(diǎn)系統(tǒng)重新進(jìn)行安裝。本發(fā)明中的Linux集群故障自動(dòng)恢復(fù)方法,能夠采集集群系統(tǒng)運(yùn)行的各種關(guān)鍵信息并集中存儲(chǔ),建立預(yù)警機(jī)制,從多個(gè)級(jí)別自動(dòng)處理集群的故障,并能夠提供詳細(xì)的參考數(shù)據(jù)供管理人員決策,在很大程度上減少了人工的消耗,將故障節(jié)點(diǎn)以最快地速度恢復(fù)并投入生產(chǎn)使用。本發(fā)明中的Linux集群故障自動(dòng)恢復(fù)方法,能夠自動(dòng)、快速、高效地完成集群節(jié)點(diǎn)系統(tǒng)的故障自動(dòng)恢復(fù),能夠滿足異構(gòu)集群不同需求,支持多個(gè)版本操作系統(tǒng),加快了集群節(jié)點(diǎn)的再次投產(chǎn),方便了用戶的使用,提高了集群資源利用效率。
圖I為本發(fā)明的Linux集群故障自動(dòng)恢復(fù)方法的流程 圖2為圖I中的應(yīng)用信息數(shù)據(jù)采集步驟的流程 圖3為本發(fā)明的Linux集群故障自動(dòng)恢復(fù)系統(tǒng)的模塊圖。
具體實(shí)施例方式為使本發(fā)明的上述和其他目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉出較佳實(shí)施例,并配合所附圖式,作詳細(xì)說(shuō)明如下。如圖I所示,圖I為本發(fā)明的Linux集群故障自動(dòng)恢復(fù)方法的流程圖。在步驟101,執(zhí)行數(shù)據(jù)信息采集,信息采集可分為動(dòng)態(tài)數(shù)據(jù)采集、靜態(tài)信息采集、系統(tǒng)服務(wù)狀態(tài)數(shù)據(jù)采集和應(yīng)用信息數(shù)據(jù)采集。動(dòng)態(tài)數(shù)據(jù)采集主要采集的信息包括包含總內(nèi)存、使用內(nèi)存、空閑內(nèi)存、共享內(nèi)存、總交換區(qū)、使用交換區(qū)、空閑交換區(qū)、磁盤每秒IO次數(shù)、磁盤讀速度、磁盤讀字節(jié)數(shù)、磁盤寫速度、磁盤寫字節(jié)數(shù)等信息。動(dòng)態(tài)數(shù)據(jù)采集通過(guò)讀取/proc文件系統(tǒng)中meminfo、stat、loadavg、snmp等文件并分析后獲得。采集的動(dòng)態(tài)數(shù)據(jù)信息為集中保存,月艮務(wù)運(yùn)行在收集信息的節(jié)點(diǎn)上,負(fù)責(zé)將采集的信息存儲(chǔ)到數(shù)據(jù)庫(kù)中。靜態(tài)信息采集主要采集的信息包括節(jié)點(diǎn)的名稱、CPU的標(biāo)志符、CPU的型號(hào)、CPU的頻率、CPU的頻率的單位、CPU個(gè)數(shù)、單個(gè)CPU核數(shù)、內(nèi)存大小、磁盤大小、本地文件系統(tǒng)名、對(duì)應(yīng)FSNames字段的文件系統(tǒng)大小等。靜態(tài)信息采集讀取/proc文件系統(tǒng)中cpuinfo、partitions、mounts等文件并分析后獲得信息。采集的靜態(tài)數(shù)據(jù)信息也是集中保存,在集群中每個(gè)節(jié)點(diǎn)上運(yùn)行提供靜態(tài)信息的服務(wù),監(jiān)聽(tīng)用戶的請(qǐng)求。當(dāng)需要采集某節(jié)點(diǎn)的靜態(tài)信息時(shí),再遠(yuǎn)程執(zhí)行命令,通過(guò)網(wǎng)絡(luò)返回采集的數(shù)據(jù),集中存放到數(shù)據(jù)庫(kù)中。動(dòng)態(tài)數(shù)據(jù)采集和靜態(tài)信息采集通過(guò)讀取系統(tǒng)的/proc文件系統(tǒng)獲取系統(tǒng)信息,此方法速度快效率高,適合并行獲取大量節(jié)點(diǎn)信息,文件系統(tǒng)內(nèi)容在不同內(nèi)核版本下變化相對(duì)較小,有利于編程兼容。
系統(tǒng)服務(wù)狀態(tài)數(shù)據(jù)采集是檢測(cè)整個(gè)集群的DNS、NIS、NTP等主從服務(wù)器的服務(wù)狀態(tài),并把其狀態(tài)寫到數(shù)據(jù)庫(kù)中,以便用戶方便的查詢到這些服務(wù)器的服務(wù)狀態(tài)。應(yīng)用信息數(shù)據(jù)采集是根據(jù)生產(chǎn)應(yīng)用的實(shí)際情況,先羅列出實(shí)際應(yīng)用中的各種需要,然后根據(jù)需要手工錄入各個(gè)應(yīng)用服務(wù)器及應(yīng)用服務(wù)的節(jié)點(diǎn)名,并保存到數(shù)據(jù)庫(kù)中,然后根據(jù)各個(gè)應(yīng)用服務(wù)器的節(jié)點(diǎn)名檢測(cè)該服務(wù)器的應(yīng)用服務(wù)狀態(tài),并把其狀態(tài)寫到數(shù)據(jù)庫(kù)中,以便用戶方便的查詢到這些服務(wù)器的應(yīng)用服務(wù)狀態(tài)。采集的信息數(shù)據(jù)還可以通過(guò)圖像界面顯示。圖形界面通過(guò)統(tǒng)一的數(shù)據(jù)接口,訪問(wèn)集中存放數(shù)據(jù)庫(kù)中的信息采集的數(shù)據(jù),并根據(jù)需求進(jìn)行顯示方式的定制,可以提供給系統(tǒng)管理員非常方便直觀的監(jiān)視方式。在執(zhí)行完動(dòng)態(tài)數(shù)據(jù)采集、靜態(tài)信息采集、系統(tǒng)服務(wù)狀態(tài)數(shù)據(jù)采集和應(yīng)用信息數(shù)據(jù)采集后,流程進(jìn)入到步驟102。
在步驟102,判斷是否出現(xiàn)故障。在一實(shí)施例中,根據(jù)數(shù)據(jù)信息采集(節(jié)點(diǎn)、服務(wù)、應(yīng)用等信息)的更新時(shí)間,設(shè)定更新間隔的最大門檻值,當(dāng)采集信息的刷新時(shí)間超過(guò)了最大的時(shí)間間隔,認(rèn)定節(jié)點(diǎn)、服務(wù)、或者應(yīng)用出現(xiàn)故障,流程進(jìn)入到步驟103 ;當(dāng)采集信息的刷新時(shí)間未超過(guò)最大的時(shí)間間隔時(shí),說(shuō)明沒(méi)有故障產(chǎn)生,流程返回到步驟101。在步驟103,重新啟動(dòng)節(jié)點(diǎn)。也就是說(shuō),使用遠(yuǎn)程控制方法重新啟動(dòng)節(jié)點(diǎn),并標(biāo)志節(jié)點(diǎn)已進(jìn)行重新啟動(dòng),流程進(jìn)入到步驟104。在步驟104,執(zhí)行與步驟101相同的數(shù)據(jù)信息采集,流程進(jìn)入到步驟105。在步驟105,與步驟102相同,判斷是否出現(xiàn)故障,當(dāng)判斷沒(méi)有故障產(chǎn)生時(shí),流程進(jìn)入到步驟106 ;當(dāng)判斷有故障產(chǎn)生時(shí),流程進(jìn)入到步驟107。在步驟106,清除節(jié)點(diǎn)已進(jìn)行重新啟動(dòng)的標(biāo)志位,流程返回到步驟101。在步驟107,執(zhí)行故障節(jié)點(diǎn)的維護(hù)集成。即對(duì)于已經(jīng)重新啟動(dòng)的節(jié)點(diǎn),如果故障無(wú)法排除,將節(jié)點(diǎn)在服務(wù)器端設(shè)置成維護(hù)狀態(tài),重新啟動(dòng)節(jié)點(diǎn)。節(jié)點(diǎn)在啟動(dòng)過(guò)程中,從網(wǎng)絡(luò)讀取啟動(dòng)映像,進(jìn)入節(jié)點(diǎn)的維護(hù)狀態(tài),將節(jié)點(diǎn)系統(tǒng)的配置還原到最初配置狀態(tài)。維護(hù)集成完成后,系統(tǒng)再次啟動(dòng)使維護(hù)集成的內(nèi)容生效,并將節(jié)點(diǎn)標(biāo)志成維護(hù)集成,流程進(jìn)入到步驟108。在步驟108,執(zhí)行與步驟101相同的數(shù)據(jù)信息采集,流程進(jìn)入到步驟109。在步驟109,與步驟102相同,判斷是否出現(xiàn)故障,當(dāng)判斷沒(méi)有故障產(chǎn)生時(shí),流程進(jìn)入到步驟110 ;當(dāng)判斷有故障產(chǎn)生時(shí),流程進(jìn)入到步驟111。在步驟110,清除節(jié)點(diǎn)維護(hù)集成的標(biāo)志位,流程返回到步驟101。在步驟111,執(zhí)行故障節(jié)點(diǎn)的安裝集成。對(duì)于維護(hù)集成后,檢測(cè)仍不能夠正常運(yùn)行的節(jié)點(diǎn),將節(jié)點(diǎn)在服務(wù)器端設(shè)置成安裝集成狀態(tài),重新啟動(dòng)節(jié)點(diǎn)。節(jié)點(diǎn)在啟動(dòng)過(guò)程中,從網(wǎng)絡(luò)讀取啟動(dòng)映像,進(jìn)入節(jié)點(diǎn)的網(wǎng)絡(luò)安裝集成,即從網(wǎng)絡(luò)讀取安裝包,進(jìn)行系統(tǒng)的安裝配置,將節(jié)點(diǎn)系統(tǒng)重新進(jìn)行安裝。安裝集成完成后,系統(tǒng)再次啟動(dòng)使新系統(tǒng)生效,并將節(jié)點(diǎn)標(biāo)志成安裝集成,流程進(jìn)入到步驟112。在步驟112,執(zhí)行與步驟101相同的數(shù)據(jù)信息采集,流程進(jìn)入到步驟113。在步驟113,與步驟102相同,判斷是否出現(xiàn)故障,當(dāng)判斷沒(méi)有故障產(chǎn)生時(shí),流程進(jìn)入到步驟114 ;當(dāng)判斷有故障產(chǎn)生時(shí),流程進(jìn)入到步驟115。在步驟114,清除節(jié)點(diǎn)安裝集成的標(biāo)志位,流程返回到步驟101。在步驟115,由于檢測(cè)節(jié)點(diǎn)仍不能正常運(yùn)行,此時(shí)發(fā)送消息給系統(tǒng)管理員,由管理員進(jìn)行人工處理。參照?qǐng)D2,圖2為圖I中的執(zhí)行數(shù)據(jù)信息采集的步驟中應(yīng)用信息數(shù)據(jù)采集的流程圖。應(yīng)用信息數(shù)據(jù)采集是根據(jù)生產(chǎn)應(yīng)用的實(shí)際情況,先羅列出實(shí)際應(yīng)用中的各種需要,然后根據(jù)需要手工錄入各個(gè)應(yīng)用服務(wù)器及應(yīng)用服務(wù)的節(jié)點(diǎn)名,并保存到數(shù)據(jù)庫(kù)中,然后根據(jù)各個(gè)應(yīng)用服務(wù)器的節(jié)點(diǎn)名查詢?cè)摲?wù)器的應(yīng)用服務(wù)狀態(tài),并把其狀態(tài)寫到數(shù)據(jù)庫(kù)中,以便用戶方便的查詢到這些服務(wù)器的應(yīng)用服務(wù)狀態(tài)。其主要包括一下步驟
在步驟201,為服務(wù)和進(jìn)程在數(shù)據(jù)庫(kù)中命名,即通過(guò)研究生產(chǎn)中各種應(yīng)用,確定其中的關(guān)鍵服務(wù)、進(jìn)程,并為其定義了在數(shù)據(jù)庫(kù)中的名字,流程進(jìn)入到步驟202。在步驟202,為每個(gè)服務(wù)和進(jìn)程的不同狀況定義了相應(yīng)的狀態(tài)UP、DOWN、DEGRADE。UP表示狀態(tài)正常,在界面上用綠色表示,DOWN表示該服務(wù)不可用,在界面上用紅色表示,DEGRADE表示服務(wù)可用,但存在問(wèn)題,在界面上用黃色表示。流程進(jìn)入到步驟203。在步驟203,取主機(jī)名,流程進(jìn)入到步驟204。
在步驟204,讀取應(yīng)用各服務(wù)或進(jìn)程對(duì)應(yīng)的記錄及個(gè)數(shù),流程進(jìn)入到步驟205。在步驟205,取出其中一個(gè)記錄中的節(jié)點(diǎn)名,流程進(jìn)入到步驟206。在步驟206,判斷節(jié)點(diǎn)名與主機(jī)名是否相符,當(dāng)節(jié)點(diǎn)名與主機(jī)名相符時(shí),流程進(jìn)入到步驟207 ;當(dāng)節(jié)點(diǎn)名與主機(jī)名不相符時(shí),流程返回到步驟205。在步驟207,采集對(duì)應(yīng)的服務(wù)或進(jìn)程狀態(tài)并寫入數(shù)據(jù)庫(kù),流程進(jìn)入到步驟208。在步驟208,根據(jù)讀取的記錄的個(gè)數(shù)判斷是否已經(jīng)循環(huán)完畢,即是否已經(jīng)取出過(guò)所有記錄中的節(jié)點(diǎn)名,當(dāng)循環(huán)完畢時(shí),流程進(jìn)入到步驟209;當(dāng)還未進(jìn)行完循環(huán)時(shí),等待固定的時(shí)間間隔后,流程返回到步驟205。在步驟209,將狀態(tài)查詢的結(jié)果發(fā)送到遠(yuǎn)程的數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行集中的存儲(chǔ)。流程進(jìn)入到步驟210。在步驟210,在界面的應(yīng)用服務(wù)器狀態(tài)欄上,當(dāng)點(diǎn)擊到本欄時(shí),更新并顯示每個(gè)應(yīng)用服務(wù)器狀態(tài)。此流程結(jié)束。在圖2中,步驟205至步驟208為應(yīng)用信息采集模塊在集群中各個(gè)應(yīng)用服務(wù)器上以守護(hù)進(jìn)程方式運(yùn)行,以固定時(shí)間間隔進(jìn)行狀態(tài)查詢。在圖I中的步驟115中,當(dāng)管理員進(jìn)行人工控制時(shí),可包括以下步驟首先,安裝服務(wù)器端將節(jié)點(diǎn)標(biāo)志為安裝;再通過(guò)遠(yuǎn)程控制的方法,重新啟動(dòng)節(jié)點(diǎn)或者將節(jié)點(diǎn)復(fù)位;節(jié)點(diǎn)通過(guò)PXE網(wǎng)絡(luò)引導(dǎo),判斷需要進(jìn)行網(wǎng)絡(luò)的安裝;當(dāng)需要網(wǎng)絡(luò)安裝時(shí),通過(guò)網(wǎng)絡(luò)文件系統(tǒng)讀取需要安裝的軟件包,進(jìn)行系統(tǒng)的安裝以及安裝后的各項(xiàng)網(wǎng)絡(luò)、系統(tǒng)配置;再次進(jìn)行故障的檢測(cè)判斷,并進(jìn)行相應(yīng)的處理。圖3為本發(fā)明的Linux集群故障自動(dòng)恢復(fù)系統(tǒng)的模塊圖。該系統(tǒng)包括數(shù)據(jù)信息采集及判斷模塊301、重新啟動(dòng)節(jié)點(diǎn)模塊302、維護(hù)集成模塊302和安裝集成模塊304。數(shù)據(jù)信息采集及判斷模塊301用于執(zhí)行數(shù)據(jù)信息采集并判斷是否出現(xiàn)故障。信息采集可分為動(dòng)態(tài)數(shù)據(jù)采集、靜態(tài)信息采集、系統(tǒng)服務(wù)狀態(tài)數(shù)據(jù)采集和應(yīng)用信息數(shù)據(jù)采集。在一實(shí)施例中,該數(shù)據(jù)信息采集及判斷模塊301通過(guò)讀取系統(tǒng)的/proc文件系統(tǒng)獲取系統(tǒng)信息以獲得該動(dòng)態(tài)數(shù)據(jù)采集和該靜態(tài)信息采集。該數(shù)據(jù)信息采集及判斷模塊301檢測(cè)整個(gè)集群的DNS、NIS、NTP等主從服務(wù)器的服務(wù)狀態(tài)以獲得該系統(tǒng)服務(wù)狀態(tài)數(shù)據(jù)采集,并把其狀態(tài)寫到數(shù)據(jù)庫(kù)中。該數(shù)據(jù)信息采集及判斷模塊301根據(jù)生產(chǎn)應(yīng)用的實(shí)際情況,先羅列出實(shí)際應(yīng)用中的各種需要,然后根據(jù)需要手工錄入各個(gè)應(yīng)用服務(wù)器及應(yīng)用服務(wù)的節(jié)點(diǎn)名,并保存到數(shù)據(jù)庫(kù)中,然后根據(jù)各個(gè)應(yīng)用服務(wù)器的節(jié)點(diǎn)名檢測(cè)該服務(wù)器的應(yīng)用服務(wù)狀態(tài),并把其狀態(tài)寫到該數(shù)據(jù)庫(kù)中,以進(jìn)行該應(yīng)用信息數(shù)據(jù)采集。數(shù)據(jù)信息采集及判斷模塊301根據(jù)數(shù)據(jù)信息采集(節(jié)點(diǎn)、服務(wù)、應(yīng)用等信息)的更新時(shí)間,設(shè)定更新間隔的最大門檻值,當(dāng)采集信息的刷新時(shí)間超過(guò)了最大的時(shí)間間隔,認(rèn)定節(jié)點(diǎn)、服務(wù)、或者應(yīng)用出現(xiàn)故障。當(dāng)數(shù)據(jù)信息采集及判斷模塊301判斷出現(xiàn)故障時(shí),重新啟動(dòng)節(jié)點(diǎn)模塊302使用遠(yuǎn)程控制方法重新啟動(dòng)節(jié)點(diǎn),并標(biāo)志節(jié)點(diǎn)已進(jìn)行重新啟動(dòng)。此時(shí),數(shù)據(jù)信息采集及判斷模塊301再次執(zhí)行數(shù)據(jù)信息采集并判斷是否出現(xiàn)故障,當(dāng)判斷沒(méi)有故障產(chǎn)生時(shí),數(shù)據(jù)信息采集及判斷模塊301清除節(jié)點(diǎn)已進(jìn)行重新啟動(dòng)的標(biāo)志位;當(dāng)判斷有故障產(chǎn)生時(shí),維護(hù)集成模塊303執(zhí)行故障節(jié)點(diǎn)的維護(hù)集成。對(duì)于已經(jīng)重新啟動(dòng)的節(jié)點(diǎn),如果故障無(wú)法排除,維護(hù)集成模塊303將節(jié)點(diǎn)在服務(wù)器端設(shè)置成維護(hù)狀態(tài),重新啟動(dòng)節(jié)點(diǎn)。節(jié)點(diǎn)在啟動(dòng)過(guò)程中,維護(hù)集成模塊303從網(wǎng)絡(luò)讀取啟 動(dòng)映像,進(jìn)入節(jié)點(diǎn)的維護(hù)狀態(tài),將節(jié)點(diǎn)系統(tǒng)的配置還原到最初配置狀態(tài)。維護(hù)集成完成后,系統(tǒng)再次啟動(dòng)使維護(hù)集成的內(nèi)容生效,并且維護(hù)集成模塊303將節(jié)點(diǎn)標(biāo)志成維護(hù)集成。此時(shí),數(shù)據(jù)信息采集及判斷模塊301再次執(zhí)行數(shù)據(jù)信息采集并判斷是否出現(xiàn)故障,當(dāng)判斷沒(méi)有故障產(chǎn)生時(shí),數(shù)據(jù)信息采集及判斷模塊301清除節(jié)點(diǎn)維護(hù)集成的標(biāo)志位;當(dāng)判斷有故障產(chǎn)生時(shí),安裝集成模塊304執(zhí)行故障節(jié)點(diǎn)的安裝集成。對(duì)于維護(hù)集成后,檢測(cè)仍不能夠正常運(yùn)行的節(jié)點(diǎn),安裝集成模塊304將節(jié)點(diǎn)在服務(wù)器端設(shè)置成安裝集成狀態(tài),重新啟動(dòng)節(jié)點(diǎn)。節(jié)點(diǎn)在啟動(dòng)過(guò)程中,安裝集成模塊304從網(wǎng)絡(luò)讀取啟動(dòng)映像,進(jìn)入節(jié)點(diǎn)的網(wǎng)絡(luò)安裝集成,即從網(wǎng)絡(luò)讀取安裝包,進(jìn)行系統(tǒng)的安裝配置,將節(jié)點(diǎn)系統(tǒng)重新進(jìn)行安裝。安裝集成完成后,系統(tǒng)再次啟動(dòng)使新系統(tǒng)生效,并且安裝集成模塊304將節(jié)點(diǎn)標(biāo)志成安裝集成。此時(shí),數(shù)據(jù)信息采集及判斷模塊301再次執(zhí)行數(shù)據(jù)信息采集并判斷是否出現(xiàn)故障,當(dāng)判斷沒(méi)有故障產(chǎn)生時(shí),安裝集成模塊304清除節(jié)點(diǎn)安裝集成的標(biāo)志位;當(dāng)判斷有故障產(chǎn)生時(shí),數(shù)據(jù)信息采集及判斷模塊301此時(shí)發(fā)送消息給系統(tǒng)管理員,由管理員進(jìn)行人工處理。以上實(shí)施例僅為本發(fā)明的示例性實(shí)施例,不用于限制本發(fā)明,本發(fā)明的保護(hù)范圍由附加的權(quán)利要求書限定。本領(lǐng)域技術(shù)人員可以在本發(fā)明的實(shí)質(zhì)和保護(hù)范圍內(nèi),對(duì)本發(fā)明做出各種修改或等同替換,這種修改或等同替換也應(yīng)視為落在本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1.Linux集群故障自動(dòng)恢復(fù)方法,其特征在于,該Linux集群故障自動(dòng)恢復(fù)方法包括 執(zhí)行數(shù)據(jù)信息采集并判斷是否出現(xiàn)故障; 當(dāng)判斷出現(xiàn)故障時(shí),重新啟動(dòng)節(jié)點(diǎn); 當(dāng)重新啟動(dòng)該節(jié)點(diǎn)后,再次執(zhí)行該數(shù)據(jù)信息采集并判斷出現(xiàn)故障時(shí),執(zhí)行故障節(jié)點(diǎn)的維護(hù)集成; 在執(zhí)行該故障節(jié)點(diǎn)的維護(hù)集成后,再次執(zhí)行該數(shù)據(jù)信息采集并判斷出現(xiàn)故障時(shí),執(zhí)行故障節(jié)點(diǎn)的安裝集成;以及 在執(zhí)行該故障節(jié)點(diǎn)的安裝集成后,再次執(zhí)行該數(shù)據(jù)信息采集并判斷出現(xiàn)故障時(shí),進(jìn)行人工處理。
2.根據(jù)權(quán)利要求I所述的Linux集群故障自動(dòng)恢復(fù)方法,其特征在于,該數(shù)據(jù)信息采集包括動(dòng)態(tài)數(shù)據(jù)采集、靜態(tài)信息采集、系統(tǒng)服務(wù)狀態(tài)數(shù)據(jù)采集和應(yīng)用信息數(shù)據(jù)采集。
3.根據(jù)權(quán)利要求2所述的Linux集群故障自動(dòng)恢復(fù)方法,其特征在于,該動(dòng)態(tài)數(shù)據(jù)采集和靜態(tài)信息采集通過(guò)讀取系統(tǒng)的/proc文件系統(tǒng)獲取系統(tǒng)信息。
4.根據(jù)權(quán)利要求2所述的Linux集群故障自動(dòng)恢復(fù)方法,其特征在于,該系統(tǒng)服務(wù)狀態(tài)數(shù)據(jù)采集是檢測(cè)整個(gè)集群的DNS、NIS、NTP等主從服務(wù)器的服務(wù)狀態(tài),并把其狀態(tài)寫到數(shù)據(jù)庫(kù)中。
5.Linux集群故障自動(dòng)恢復(fù)系統(tǒng),其特征在于,該Linux集群故障自動(dòng)恢復(fù)系統(tǒng)包括數(shù)據(jù)信息采集及判斷模塊、重新啟動(dòng)節(jié)點(diǎn)模塊、維護(hù)集成模塊和安裝集成模塊,該數(shù)據(jù)信息采集及判斷模塊用于執(zhí)行數(shù)據(jù)信息采集并判斷是否出現(xiàn)故障,該重新啟動(dòng)節(jié)點(diǎn)模塊用于重新啟動(dòng)節(jié)點(diǎn),該維護(hù)集成模塊用于執(zhí)行故障節(jié)點(diǎn)的維護(hù)集成,該安裝集成模塊用于執(zhí)行故障節(jié)點(diǎn)的安裝集成。
6.根據(jù)權(quán)利要求5所述的Linux集群故障自動(dòng)恢復(fù)系統(tǒng),其特征在于,該數(shù)據(jù)信息采集及判斷模塊執(zhí)行數(shù)據(jù)信息采集并判斷是否出現(xiàn)故障,當(dāng)該數(shù)據(jù)信息采集及判斷模塊判斷出現(xiàn)故障時(shí),該重新啟動(dòng)節(jié)點(diǎn)模塊重新啟動(dòng)節(jié)點(diǎn),在該重新啟動(dòng)節(jié)點(diǎn)模塊重新啟動(dòng)該節(jié)點(diǎn)后,該數(shù)據(jù)信息采集及判斷模塊再次執(zhí)行該數(shù)據(jù)信息采集并判斷出現(xiàn)故障時(shí),該維護(hù)集成模塊執(zhí)行故障節(jié)點(diǎn)的維護(hù)集成,當(dāng)該維護(hù)集成模塊執(zhí)行該故障節(jié)點(diǎn)的維護(hù)集成后,該數(shù)據(jù)信息采集及判斷模塊再次執(zhí)行該數(shù)據(jù)信息采集并判斷出現(xiàn)故障時(shí),該安裝集成模塊執(zhí)行故障節(jié)點(diǎn)的安裝集成,在該安裝集成模塊執(zhí)行該故障節(jié)點(diǎn)的安裝集成后,該數(shù)據(jù)信息采集及判斷模塊再次執(zhí)行該數(shù)據(jù)信息采集并判斷出現(xiàn)故障時(shí),該數(shù)據(jù)信息采集及判斷模塊發(fā)送消息以進(jìn)行人工處理。
7.根據(jù)權(quán)利要求5所述的Linux集群故障自動(dòng)恢復(fù)系統(tǒng),其特征在于,該數(shù)據(jù)信息采集包括動(dòng)態(tài)數(shù)據(jù)采集、靜態(tài)信息采集、系統(tǒng)服務(wù)狀態(tài)數(shù)據(jù)采集和應(yīng)用信息數(shù)據(jù)采集。
8.根據(jù)權(quán)利要求7所述的Linux集群故障自動(dòng)恢復(fù)系統(tǒng),其特征在于,該數(shù)據(jù)信息采集及判斷模塊通過(guò)讀取系統(tǒng)的/proc文件系統(tǒng)獲取系統(tǒng)信息以獲得該動(dòng)態(tài)數(shù)據(jù)采集和該靜態(tài)信息米集。
9.根據(jù)權(quán)利要求7所述的Linux集群故障自動(dòng)恢復(fù)系統(tǒng),其特征在于,該數(shù)據(jù)信息采集及判斷模塊檢測(cè)整個(gè)集群的DNS、NIS、NTP等主從服務(wù)器的服務(wù)狀態(tài)以獲得該系統(tǒng)服務(wù)狀態(tài)數(shù)據(jù)采集,并把其狀態(tài)寫到數(shù)據(jù)庫(kù)中。
10.根據(jù)權(quán)利要求5所述的Linux集群故障自動(dòng)恢復(fù)系統(tǒng),其特征在于,該數(shù)據(jù)信息采集及判斷模塊根據(jù)該數(shù)據(jù)信息采集的更新時(shí)間,設(shè)定該更新間隔的最大時(shí)間間隔,當(dāng)該數(shù)據(jù)信息采集的刷新時(shí)間超過(guò)了該最大時(shí)間間隔時(shí),該數(shù)據(jù)信息采集及判斷模塊判斷出現(xiàn)故 障。
全文摘要
本發(fā)明提供一種Linux集群故障自動(dòng)恢復(fù)方法,包括執(zhí)行數(shù)據(jù)信息采集并判斷是否出現(xiàn)故障;當(dāng)判斷出現(xiàn)故障時(shí),重新啟動(dòng)節(jié)點(diǎn);當(dāng)重新啟動(dòng)該節(jié)點(diǎn)后,再次執(zhí)行該數(shù)據(jù)信息采集并判斷出現(xiàn)故障時(shí),執(zhí)行故障節(jié)點(diǎn)的維護(hù)集成;在執(zhí)行該故障節(jié)點(diǎn)的維護(hù)集成后,再次執(zhí)行該數(shù)據(jù)信息采集并判斷出現(xiàn)故障時(shí),執(zhí)行故障節(jié)點(diǎn)的安裝集成;以及在執(zhí)行該故障節(jié)點(diǎn)的安裝集成后,再次執(zhí)行該數(shù)據(jù)信息采集并判斷出現(xiàn)故障時(shí),進(jìn)行人工處理。該Linux集群故障自動(dòng)恢復(fù)方法在很大程度上減少了人工的消耗,能夠自動(dòng)、快速、高效地完成集群節(jié)點(diǎn)系統(tǒng)的故障自動(dòng)恢復(fù),能夠滿足異構(gòu)集群不同需求,支持多個(gè)版本操作系統(tǒng),提高了集群資源利用效率。
文檔編號(hào)H04L12/24GK102957563SQ201210031209
公開(kāi)日2013年3月6日 申請(qǐng)日期2012年2月13日 優(yōu)先權(quán)日2011年8月16日
發(fā)明者單聯(lián)瑜, 叢龍水, 董濤, 李戰(zhàn)強(qiáng), 孫世為, 邢占軍, 孫友凱, 段淼, 劉玉梅, 徐香明, 趙軍民, 付巧娟, 吳敏, 車曉萍, 劉芳, 盧晉平, 董倩, 尚新民, 侯樹(shù)杰, 郭見(jiàn)樂(lè) 申請(qǐng)人:中國(guó)石油化工股份有限公司, 中國(guó)石油化工股份有限公司勝利油田分公司物探研究院