專利名稱:一種保證服務器管理系統(tǒng)服務可用性的方法
技術領域:
本發(fā)明涉及計算機應用領域,具體地說是一種保證服務器管理系統(tǒng)服務可用性的方法。
背景技術:
針對現(xiàn)在依賴于系統(tǒng)上服務的一些應用來講,服務器管理系統(tǒng)上服務是否正常運行,服務的應用資源是否可以使用等問題成了 IT界高可用模塊的研究重點,如何實現(xiàn)用戶重要功能的可持續(xù)供給,實現(xiàn)服務宕掉是及時切換成為本發(fā)明的實現(xiàn)點。在現(xiàn)階段,高可用領域尤其是在openindiana上定制的一些服務的各種監(jiān)聽機制來講,主要存在如下缺點:
1、高可用軟件HeartBeat雖然解決了服務主機出現(xiàn)死機、系統(tǒng)崩潰等情況下的主機切換功能,但是當主服務器由于軟件自身等原因致使所提供的某一種服務(如ftp、smb服務)宕掉時,備份主機并不能監(jiān)聽到接管該服務,因此無法實現(xiàn)服務的及時切換功能;
2、針對現(xiàn)在服務的健康狀況進行有效的評估是業(yè)界一個難以界定的概念,如何界定一個服務的健康狀況是一個重點,因為有時雖然服務是在線狀態(tài),但是它的服務資源確實不可用,這樣也會導致服務的不可用。
發(fā)明內容
本發(fā)明的目的是提供一種保證服務器管理系統(tǒng)服務可用性的方法。本發(fā)明的目的是按以下方式實現(xiàn)的:本發(fā)明在HeartBeat軟件的實現(xiàn)基礎上加以改進,在提供服務的主·服務機上實現(xiàn)了服務檢測功能,以及提供一種可量化的服務評估方式是對服務使用的計算資源和存儲資源的可用性分別進行評估,最后得出服務的可用與否,增加服務的可靠性,以提供HeartBeat軟件是否進行主從服務器之間的服務切換。具體步驟如下:
將檢測功能的shell嵌入HeartBeat的主文件heartbeat, c文件中的初始化函數(shù)static int initialize_heartbeat ()函數(shù)中,伴隨著HearBeat服務同時啟動,以保證被檢測的服務從始至終能夠被檢測到,只要檢測的服務在運行,檢測一直循環(huán)進行,只有檢測的服務停止運行,并且達到重啟失敗的次數(shù),此時循環(huán)才結束,通過svcs -a I grep檢測的服務來檢測服務狀態(tài),只要檢測到服務處于異常狀態(tài),就先嘗試用enable或clear命令重啟服務,重啟成功,繼續(xù)循環(huán);達到重啟次數(shù)失敗就會退出循環(huán),讓從服務器接管該服務以保證服務的連續(xù)性和可用性;
通過服務系統(tǒng)提供的系統(tǒng)命令svcs -a查找出所有服務系統(tǒng)中運行的服務狀態(tài),然后通過腳本查看我們需要檢測的服務的狀態(tài)是否運行正常,如果要檢測的服務不是在線狀態(tài),則立刻重啟或者停止該服務,如成功,則該服務就正常運行了 ;如失敗,則主機經(jīng)過設定次數(shù)的重啟嘗試后便發(fā)送消息給集群中的其他備份主機,要求其他主機接管該服務,從而完成服務切換。
本發(fā)明的有益效果是:利用服務器管理系統(tǒng)上服務的檢測功能和服務評估模型,建立一種更加可靠的、更加方便的HA高可用機制,來保證服務器管理系統(tǒng)的強大的服務可用性。本發(fā)明是基于HeartBeat軟件服務檢測和評估功能,保證服務器管理系統(tǒng)在高可用集群HeartBeat軟件中解決服務不可用時的自動切換問題。本專利在HeartBeat軟件的實現(xiàn)基礎上加以改進,并在提供服務的主服務機上實現(xiàn)了服務檢測功能,當服務出現(xiàn)異樣時可以實現(xiàn)主從服務器之間的服務切換功能,增加其可靠性。這種評估方式是對服務使用的計算資源和存儲資源的可用性分別進行評估,最后得出服務的可用性,以提供HeartBeat軟件是否進行主從服務器之間的服務切換。
圖1是本發(fā)明中可用性依賴關系 圖2是本發(fā)明中服務的可用性評估關系圖。
具體實施例方式
參照說明書附圖對本發(fā)明的方法作以下詳細地說明。通過服務系統(tǒng)提 供的系統(tǒng)命令(SVCS -a)查找出所有服務系統(tǒng)中運行的服務狀態(tài),然后通過腳本查看我們需要檢測的服務的狀態(tài)是否運行正常。如果我們要檢測的服務不是在線狀態(tài),則立刻enable或者clear該服務,如成功,則該服務就可以正常運行了 ;如失敗,則主機經(jīng)過設定次數(shù)的重啟嘗試后便發(fā)送消息給集群中的其他備份主機,要求其他主機接管該服務,從而完成服務切換。本發(fā)明是將檢測功能的shell嵌入HeartBeat的主文件heartbeat, c文件中的初始化函數(shù)static int initialize_heartbeat O函數(shù)中。這樣就可以伴隨著HearBeat服務同時啟動,并可以保證被檢測的服務從始至終能夠被檢測到??傮w上來說,檢測的算法是一個死循環(huán)(只要檢測的服務在運行),當檢測的服務停止運行,并且達到重啟的次數(shù)并且失敗,此時循環(huán)才結束。通過svcs -a I grep檢測的服務來檢測服務狀態(tài),只要檢測到服務處于異常狀態(tài),就先嘗試用enable或clear命令重啟服務,重啟成功,繼續(xù)循環(huán);達到重啟次數(shù)失敗就會退出循環(huán)。讓從服務器接管該服務。保證了服務的連續(xù)性和可用性。本發(fā)明的服務可用性評估采用的分層模型簡化可用性評估,服務器管理系統(tǒng)中服務、計算資源、存儲資源之間的可用性依賴關系如圖1所示。服務的可用性依賴于其它三者的可用性,只有三者都可用,這個服務才是健康可用的,其中服務的部署直接依賴于服務器管理系統(tǒng),這個也就是我們檢測到的服務的運行狀態(tài),服務的正常提供與否直接依賴于計算資源與存儲資源。高可用HeartBeat系統(tǒng)負責這兩類資源的失效切換,服務的狀態(tài)直接依賴于服務器管理系統(tǒng)的可用性。本發(fā)明只對服務部署成功后的可用性進行評估。一種簡化的評估方式是對計算資源和存儲資源的可用性分別進行評估,在此基礎上對服務的可用性進行評估。每個服務由計算資源模塊和存儲資源系統(tǒng)以串聯(lián)模式結合。舉例說明:如圖2所示,只要有一個計算資源可用,服務器管理系統(tǒng)的服務可用,則計算資源系統(tǒng)的總可用性為
權利要求
1.一種保證服務器管理系統(tǒng)服務可用性的方法,其特征在于該方法是在HeartBeat軟件的實現(xiàn)基礎上加以改進,在提供服務的主服務機上實現(xiàn)了服務檢測功能,以及提供一種可量化的服務評估方式是對服務使用的計算資源和存儲資源的可用性分別進行評估,最后得出服務的可用與否,增加服務的可靠性,以提供HeartBeat軟件是否進行主從服務器之間的服務切換,具體步驟如下: 將檢測功能的shell嵌入HeartBeat的主文件heartbeat, c文件中的初始化函數(shù)static int initialize_heartbeat ()函數(shù)中,伴隨著HearBeat服務同時啟動,以保證被檢測的服務從始至終能夠被檢測到,只要檢測的服務在運行,檢測一直循環(huán)進行,只有檢測的服務停止運行,并且達到重啟失敗的次數(shù),此時循環(huán)才結束,通過svcs -a I grep檢測的服務來檢測服務狀態(tài),只要檢測到服務處于異常狀態(tài),就先嘗試用enable或clear命令重啟服務,重啟成功,繼續(xù)循環(huán);達到重啟次數(shù)失敗就會退出循環(huán),讓從服務器接管該服務以保證服務的連續(xù)性和可用性; 通過服務系統(tǒng)提供的系統(tǒng)命令svcs -a查找出所有服務系統(tǒng)中運行的服務狀態(tài),然后通過腳本查看我們需要檢測的服務的狀態(tài)是否運行正常,如果要檢測的服務不是在線狀態(tài),則立刻重啟或者停止該服務,如成功,則該服務就正常運行了 ;如失敗,則主機經(jīng)過設定次數(shù)的重啟嘗試后便發(fā)送消 息給集群中的其他備份主機,要求其他主機接管該服務,從而完成服務切換。
全文摘要
本發(fā)明提供一種保證服務器管理系統(tǒng)服務可用性的方法,服務可用性評估采用的分層模型簡化可用性評估,服務器管理系統(tǒng)中服務、計算資源、存儲資源之間的可用性存在依賴關系,服務的可用性依賴于其它三者的可用性,只有三者都可用,這個服務才是健康可用的,其中服務的部署直接依賴于服務器管理系統(tǒng),這個也就是我們檢測到的服務的運行狀態(tài),服務的正常提供與否直接依賴于計算資源與存儲資源,高可用HeartBeat系統(tǒng)負責這兩類資源的失效切換,服務的狀態(tài)直接依賴于服務器管理系統(tǒng)的可用性,本發(fā)明只對服務部署成功后的可用性進行評估,本發(fā)明是對計算資源和存儲資源的可用性分別進行評估,在此基礎上對服務的可用性進行評估,每個服務由計算資源模塊和存儲資源系統(tǒng)以串聯(lián)模式結合。
文檔編號G06F11/34GK103235752SQ201310112180
公開日2013年8月7日 申請日期2013年4月2日 優(yōu)先權日2013年4月2日
發(fā)明者張硯波, 王東風 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司