本發(fā)明屬于單點故障技術(shù)領(lǐng)域,尤其涉及一種單點故障的處理方法及裝置。
背景技術(shù):
在云計算產(chǎn)業(yè)中,大部分的架構(gòu)都是集中式管理,即由一個總控中心負責(zé)管理一系列的資源,這種集中式管理架構(gòu)中存在的一個問題是作為總控中心的管理節(jié)點,由于斷電等原因會導(dǎo)致出現(xiàn)單點故障,進而導(dǎo)致整個集中式管理系統(tǒng)癱瘓。
目前處理管理節(jié)點的單點故障的方式是:搭建集群,通過搭建多個管理節(jié)點,每個管理節(jié)點都可以作為備份總控中心,當(dāng)作為總控中心的管理節(jié)點發(fā)生單點故障時,作為備份總控中心的管理節(jié)點代替發(fā)生單點故障的管理節(jié)點,用于負責(zé)管理一系列的資源。使得即使一個管理節(jié)點發(fā)生單點故障,也可以通過其他管理節(jié)點繼續(xù)進行工作,解決了管理節(jié)點的單點故障問題。
通過搭建集群的方式處理管理節(jié)點的單點故障時,針對搭建的每一個管理節(jié)點,分別對應(yīng)一個數(shù)據(jù)庫,構(gòu)成數(shù)據(jù)庫集群。由于每個管理節(jié)點都可以作為總控中心,用于管理一系列的資源,以供多個計算節(jié)點的調(diào)用,且一個計算節(jié)點從管理節(jié)點處獲取到的內(nèi)容應(yīng)該相同,因此,數(shù)據(jù)庫集群內(nèi)的多個數(shù)據(jù)庫,應(yīng)該具有一致性。
現(xiàn)有技術(shù)中處理管理節(jié)點的單點故障問題時,由于需要建立多個管理節(jié)點,每一個管理節(jié)點對應(yīng)一臺物理機,且需要為每個管理節(jié)點建立一個數(shù)據(jù)庫,因此,搭建的系統(tǒng)架構(gòu)復(fù)雜,增加了系統(tǒng)成本,而且需要維護各個數(shù)據(jù)庫之間的數(shù)據(jù)一致性,因此后期系統(tǒng)維護困難,增加系統(tǒng)維護成本。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明的目的在于提供一種單點故障的處理方法及裝置,以解決現(xiàn)有技術(shù)中在處理管理節(jié)點的單點故障問題時,存在的系統(tǒng)架構(gòu)復(fù)雜、系統(tǒng)成本高且維護困難的問題。
技術(shù)方案如下:
本發(fā)明提供一種單點故障的處理方法,應(yīng)用在第一節(jié)點中,所述處理方法包括:
接收安裝在虛擬機內(nèi)部的第二節(jié)點發(fā)送的心跳信號;其中,所述虛擬機運行于共享存儲內(nèi);
根據(jù)所述心跳信號,判斷所述第二節(jié)點是否發(fā)生單點故障;
判斷是,則重啟所述虛擬機。
優(yōu)選地,所述接收安裝在虛擬機內(nèi)部的第二節(jié)點發(fā)送的心跳信號后,還包括:
記錄接收到所述心跳信號的產(chǎn)生時間;
其中,所述根據(jù)所述心跳信號,判斷所述第二節(jié)點是否發(fā)生單點故障,包括:
查找上一次接收到的所述心跳信號的產(chǎn)生時間,得到第一時間;
計算當(dāng)前時間與所述第一時間之間的差值;其中,所述當(dāng)前時間為所述第一節(jié)點的系統(tǒng)時間;
判斷所述差值是否大于預(yù)設(shè)時間值;
是,則所述第二節(jié)點發(fā)生單點故障。
優(yōu)選地,所述重啟所述虛擬機,包括:
調(diào)用應(yīng)用程序編程接口或命令行界面;
向所述應(yīng)用程序編程接口或所述命令行界面,輸入重啟命令。
優(yōu)選地,在執(zhí)行所述調(diào)用應(yīng)用程序編程接口或命令行界面步驟前,還包括:
在所述共享存儲內(nèi),查找是否存在與所述虛擬機對應(yīng)的存儲鎖;
若不存在,則調(diào)用應(yīng)用程序編程接口或命令行界面;
若存在,則間隔預(yù)設(shè)時長后,重新執(zhí)行根據(jù)所述心跳信號,判斷所述第二節(jié)點是否發(fā)生單點故障的步驟。
本發(fā)明還提供一種單點故障的處理裝置,所述處理裝置包括:
接收單元,用于接收安裝在虛擬機內(nèi)部的第二節(jié)點發(fā)送的心跳信號;其中,所述虛擬機運行于共享存儲內(nèi);
判斷單元,用于根據(jù)所述心跳信號,判斷所述第二節(jié)點是否發(fā)生單點故障;
重啟單元,用于當(dāng)所述判斷單元判斷結(jié)果為是時,重啟所述虛擬機。
優(yōu)選地,還包括:
記錄單元,用于記錄接收到所述心跳信號的產(chǎn)生時間;
其中,所述判斷單元,還包括:
查找子單元,用于查找上一次接收到的所述心跳信號的產(chǎn)生時間,得到第一時間;
計算子單元,用于計算當(dāng)前時間與所述第一時間之間的差值;其中,所述當(dāng)前時間為所述第一節(jié)點的系統(tǒng)時間;
判斷子單元,用于判斷所述差值是否大于預(yù)設(shè)時間值;
是,則所述第二節(jié)點發(fā)生單點故障。
優(yōu)選地,所述重啟單元包括:
調(diào)用子單元,用于調(diào)用應(yīng)用程序編程接口或命令行界面;
輸入子單元,用于向所述應(yīng)用程序編程接口或所述命令行界面,輸入重啟命令。
優(yōu)選地,還包括:
查找單元,用于在所述共享存儲內(nèi),查找是否存在與所述虛擬機對應(yīng)的存儲鎖;
若不存在,則調(diào)用所述調(diào)用子單元;
若存在,則間隔預(yù)設(shè)時長后,調(diào)用所述判斷單元。
與現(xiàn)有技術(shù)相比,本發(fā)明的第一節(jié)點接收安裝在虛擬機內(nèi)部的第二節(jié)點發(fā)送的心跳信號,僅根據(jù)所述心跳信號,即可判斷所述第二節(jié)點是否發(fā)生單點故障,發(fā)生單點故障時,第一節(jié)點重啟所述虛擬機,以克服安裝在虛擬機內(nèi)部的第二節(jié)點發(fā)生的單點故障問題。相較于現(xiàn)有技術(shù)需要額外建立多個管理節(jié)點以及與多個管理節(jié)點對應(yīng)的數(shù)據(jù)庫,本申請并不需要改變原本的集中式管理系統(tǒng)架構(gòu),而僅僅是將原本安裝在物理機內(nèi)的第一節(jié)點,改進為安裝在虛擬機內(nèi),并依據(jù)心跳機制,即可判斷第二節(jié)點是否發(fā)生單點故障。大大降低了集中式管理系統(tǒng)的復(fù)雜度,且降低了系統(tǒng)成本。
此外,由于本發(fā)明中虛擬機是運行在共享存儲內(nèi),所有第一節(jié)點都可以直接從共享存儲內(nèi)獲取相應(yīng)的數(shù)據(jù),可以滿足數(shù)據(jù)的一致性。相較于現(xiàn)有技術(shù)為了滿足數(shù)據(jù)的一致性,需要后期對數(shù)據(jù)庫集群內(nèi)的多個數(shù)據(jù)庫進行維護的這一技術(shù)方案,大大降低了系統(tǒng)維護難度,降低了系統(tǒng)維護成本。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明實施例提供的一種單點故障的處理方法的流程圖;
圖2是本發(fā)明實施例提供的另一種單點故障的處理方法的流程圖;
圖3是本發(fā)明實施例提供的一種單點故障的處理裝置的結(jié)構(gòu)圖;
圖4是本發(fā)明實施例提供的另一種單點故障的處理裝置的結(jié)構(gòu)圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
請參閱圖1,其示出了本發(fā)明實施例提供的一種單點故障的處理方法的流程圖,所述處理方法應(yīng)用在第一節(jié)點中,包括:
S101、接收安裝在虛擬機內(nèi)部的第二節(jié)點發(fā)送的心跳信號;其中,所述虛擬機運行于共享存儲內(nèi);
在基于云平臺的集中式管理架構(gòu)中,管理節(jié)點作為總控中心負責(zé)管理一系列的資源,與管理節(jié)點連接的有多個彼此間相互獨立的計算節(jié)點,每個計算節(jié)點分別從管理節(jié)點處獲取資源,進行各自的處理。本實施例中,第一節(jié)點為計算節(jié)點,第二節(jié)點為管理節(jié)點。
現(xiàn)有技術(shù)中,在建立基于云平臺的集中式管理架構(gòu)時,管理節(jié)點和多個計算節(jié)點,分別都是基于物理機建立的。
本實施例中,需要將原本安裝在物理機內(nèi)的管理節(jié)點,改進為安裝在虛擬機內(nèi),即首先需要創(chuàng)建一個虛擬機,并且在新創(chuàng)建的虛擬機上安裝管理節(jié)點。然后,利用虛擬機,重新搭建基于云平臺的集中式管理架構(gòu)。其中,所述虛擬機運行于共享存儲內(nèi),使得所述虛擬機對與所述管理節(jié)點建立連接的所有計算節(jié)點,都可見。
此處共享存儲可以為創(chuàng)建虛擬機的物理機自帶的存儲器,也可以為外接的存儲器,只要能夠滿足存儲需求即可,本實施例并不對共享存儲進行限定。
基于云平臺的架構(gòu)一般支持心跳機制,但并不是所有的云平臺架構(gòu)都存在心跳機制,當(dāng)建立的云平臺架構(gòu)不存在心跳機制時,則需要進一步安裝心跳機制。
本實施例利用管理節(jié)點和計算節(jié)點之間的心跳機制,即管理節(jié)點周期性向與所述管理節(jié)點連接的計算節(jié)點發(fā)送心跳信號,計算節(jié)點接收安裝在虛擬機內(nèi)部的管理節(jié)點發(fā)送的心跳信號。
S102、根據(jù)所述心跳信號,判斷所述第二節(jié)點是否發(fā)生單點故障;
判斷是,則執(zhí)行步驟S103;
S103、重啟所述虛擬機。
計算節(jié)點根據(jù)接收到的所述心跳信號,判斷所述管理節(jié)點是否發(fā)生了單點故障,例如管理節(jié)點由于斷電發(fā)生了宕機。
判斷是,則重啟所述虛擬機。
可選地,本實施例中,可以從基于云平臺的集中式管理架構(gòu)中,選擇至少兩個計算節(jié)點,用于接收管理節(jié)點發(fā)送的心跳信號,并用于判斷所述管理節(jié)點是否發(fā)生了單點故障。避免只通過一個計算節(jié)點,接收管理節(jié)點發(fā)送的心跳信號時,計算節(jié)點本身發(fā)生單點故障,而不能或者誤判斷管理節(jié)點發(fā)生單點故障的問題產(chǎn)生。
從上述技術(shù)方案可知,第一節(jié)點接收安裝在虛擬機內(nèi)部的第二節(jié)點發(fā)送的心跳信號,僅根據(jù)所述心跳信號,即可判斷所述第二節(jié)點是否發(fā)生單點故障,發(fā)生單點故障時,第一節(jié)點重啟所述虛擬機,以克服安裝在虛擬機內(nèi)部的第二節(jié)點發(fā)生的單點故障問題。相較于現(xiàn)有技術(shù)需要額外建立多個管理節(jié)點以及與多個管理節(jié)點對應(yīng)的數(shù)據(jù)庫,本申請并不需要改變原本的集中式管理系統(tǒng)架構(gòu),而僅僅是將原本安裝在物理機內(nèi)的第一節(jié)點,改進為安裝在虛擬機內(nèi),并依據(jù)心跳機制,即可判斷第二節(jié)點是否發(fā)生單點故障。大大降低了集中式管理系統(tǒng)的復(fù)雜度,且降低了系統(tǒng)成本。
此外,由于本發(fā)明中虛擬機是運行在共享存儲內(nèi),所有第一節(jié)點都可以直接從共享存儲內(nèi)獲取相應(yīng)的數(shù)據(jù),可以滿足數(shù)據(jù)的一致性。相較于現(xiàn)有技術(shù)為了滿足數(shù)據(jù)的一致性,需要后期對數(shù)據(jù)庫集群內(nèi)的多個數(shù)據(jù)庫進行維護的這一技術(shù)方案,大大降低了系統(tǒng)維護難度,降低了系統(tǒng)維護成本。請參閱圖2,其示出了本發(fā)明實施例提供的另一種單點故障的處理方法的流程圖,所述處理方法包括:
S201、接收安裝在虛擬機內(nèi)部的第二節(jié)點發(fā)送的心跳信號;其中,所述虛擬機運行于共享存儲內(nèi);
步驟S201與上一實施例中的步驟S101相同,此處不再贅述。
S202、記錄接收到所述心跳信號的產(chǎn)生時間;
計算節(jié)點接收到管理節(jié)點發(fā)送的心跳信號后,同時記錄接收到此心跳信號的時間;
其中,計算節(jié)點每次接收到管理節(jié)點發(fā)送的心跳信號,分別都記錄在預(yù)設(shè)區(qū)域內(nèi),即預(yù)定區(qū)域內(nèi)記錄有每次接收到的心跳信號的產(chǎn)生時間;
當(dāng)然還可以,計算節(jié)點在接收到管理節(jié)點發(fā)送的心跳信號,記錄的此次心跳信號的產(chǎn)生時間,覆蓋上一次接收到的心跳信號的產(chǎn)生時間,即預(yù)定區(qū)域內(nèi)僅記錄有最近一次接收到的心跳信號的產(chǎn)生時間,節(jié)省了計算節(jié)點自身的存儲空間。
S203、查找上一次接收到的所述心跳信號的產(chǎn)生時間,得到第一時間;
此處的上一次指的是最近一次。
S204、計算當(dāng)前時間與所述第一時間之間的差值;其中,所述當(dāng)前時間為所述第一節(jié)點的系統(tǒng)時間;
當(dāng)前時間指的是計算節(jié)點的系統(tǒng)時鐘的時間,與計算機上的系統(tǒng)時間類似;
S205、判斷所述差值是否大于預(yù)設(shè)時間值;
是,則執(zhí)行S206。
預(yù)設(shè)時間值根據(jù)管理節(jié)點發(fā)送心跳信號的周期不同,設(shè)置為不同的值。例如,管理節(jié)點發(fā)送心跳信號的周期是1s,那么預(yù)設(shè)時間值可以設(shè)置為1.5s,管理節(jié)點發(fā)送心跳信號的周期為2s,那么預(yù)設(shè)時間值可以設(shè)置為2.5s。
判斷系統(tǒng)時間與第一時間的差值大于預(yù)設(shè)時間值,則說明計算節(jié)點在一個時間周期內(nèi)沒有接收到管理節(jié)點發(fā)送的心跳信號,即管理節(jié)點沒有按預(yù)設(shè)的周期向計算節(jié)點發(fā)送心跳信號,管理節(jié)點發(fā)生了單點故障。
S206、在所述共享存儲內(nèi),查找是否存在與所述虛擬機對應(yīng)的存儲鎖;
云平臺自身的一項功能特性是虛擬機正常啟動后,在虛擬機運行的共享存儲空間內(nèi),會存在與所述虛擬機一一對應(yīng)的存儲鎖,而當(dāng)虛擬機宕機時,將釋放存儲鎖,即共享存儲空間內(nèi),將不存在與此虛擬機對應(yīng)的存儲鎖。
針對計算節(jié)點而言,在其判斷管理節(jié)點發(fā)生了單點故障后,在對此單點故障進行處理前,先在所述共享存儲內(nèi),查找是否存在與所述虛擬機對應(yīng)的存儲鎖;
若不存在,則執(zhí)行S207;
若不存在,則說明此管理節(jié)點發(fā)生的單點故障還未被處理。
若存在,則間隔預(yù)設(shè)時長后,重新執(zhí)行步驟S202及其后續(xù)步驟;
若共享存儲內(nèi),存在與所述虛擬機對應(yīng)的存儲鎖,則說明安裝有管理節(jié)點的虛擬機重新啟動成功,進而安裝在此虛擬機內(nèi)部的管理節(jié)點恢復(fù)了正常功能,即其他的計算節(jié)點已經(jīng)成功地處理了此次管理節(jié)點發(fā)生的單點故障。那么此計算節(jié)點不對此次管理節(jié)點的單點故障進行處理,避免對管理節(jié)點發(fā)生的單點故障,多個計算節(jié)點同時都進行處理的問題產(chǎn)生。
間隔預(yù)設(shè)時長后,重新執(zhí)行根據(jù)所述心跳信號,判斷所述第二節(jié)點是否發(fā)生單點故障的步驟,即重新判斷管理節(jié)點是否發(fā)生了單點故障。
S207、調(diào)用應(yīng)用程序編程接口或命令行界面;
計算節(jié)點在判斷管理節(jié)點發(fā)生單點故障后,可以自動調(diào)用應(yīng)用程序編程接口API或命令行界面CLI;
當(dāng)然,計算節(jié)點在判斷出管理節(jié)點發(fā)生單點故障后,可以發(fā)出故障報警信號,用于告知用戶管理節(jié)點發(fā)生了故障;
用戶在計算節(jié)點發(fā)出故障報警信號后,可以通過操作計算節(jié)點的方式,調(diào)用應(yīng)用程序編程接口API或命令行界面CLI。
S208、向所述應(yīng)用程序編程接口或所述命令行界面,輸入重啟命令。
從上述技術(shù)方案可知,本實施例中第一節(jié)點接收安裝在虛擬機內(nèi)部的第二節(jié)點發(fā)送的心跳信號,僅根據(jù)所述心跳信號,即可判斷所述第二節(jié)點是否發(fā)生單點故障,發(fā)生單點故障時,第一節(jié)點重啟所述虛擬機,以克服安裝在虛擬機內(nèi)部的第二節(jié)點發(fā)生的單點故障問題。相較于現(xiàn)有技術(shù)需要額外建立多個管理節(jié)點以及與多個管理節(jié)點對應(yīng)的數(shù)據(jù)庫,本申請并不需要改變原本的集中式管理系統(tǒng)架構(gòu),而僅僅是將原本安裝在物理機內(nèi)的第一節(jié)點,改進為安裝在虛擬機內(nèi),并依據(jù)心跳機制,即可判斷第二節(jié)點是否發(fā)生單點故障。大大降低了集中式管理系統(tǒng)的復(fù)雜度,且降低了系統(tǒng)成本。
此外,由于本發(fā)明中虛擬機是運行在共享存儲內(nèi),所有第一節(jié)點都可以直接從共享存儲內(nèi)獲取相應(yīng)的數(shù)據(jù),可以滿足數(shù)據(jù)的一致性。相較于現(xiàn)有技術(shù)為了滿足數(shù)據(jù)的一致性,需要后期對數(shù)據(jù)庫集群內(nèi)的多個數(shù)據(jù)庫進行維護的這一技術(shù)方案,大大降低了系統(tǒng)維護難度,降低了系統(tǒng)維護成本。
同時,在對管理節(jié)點發(fā)生的單點故障進行處理前,先在所述共享存儲內(nèi),查找是否存在與所述虛擬機對應(yīng)的存儲鎖,只有不存在時,計算節(jié)點才對管理節(jié)點發(fā)生的單點故障進行處理,而當(dāng)存在時,不對管理節(jié)點發(fā)生的單點故障進行處理,重新判斷管理節(jié)點是否發(fā)生了單點故障。避免了多個計算節(jié)點同時都對管理節(jié)點發(fā)生的單點故障進行處理的問題產(chǎn)生。
對應(yīng)圖1所示的一種單點故障的處理方法,本發(fā)明還提供了一種單點故障的處理裝置,其結(jié)構(gòu)示意圖請參閱圖3所示,本實施例提供的一種單點故障的處理裝置包括:
接收單元11、判斷單元12和重啟單元13;
所述接收單元11,用于接收安裝在虛擬機內(nèi)部的第二節(jié)點發(fā)送的心跳信號;其中,所述虛擬機運行于共享存儲內(nèi);
所述判斷單元12,用于根據(jù)所述心跳信號,判斷所述第二節(jié)點是否發(fā)生單點故障;
所述重啟單元13,用于當(dāng)所述判斷單元判斷結(jié)果為是時,重啟所述虛擬機。
從上述技術(shù)方案可知,本申請公開的一種單點故障的處理裝置中,判斷單元根據(jù)接收單元接收到的安裝在虛擬機內(nèi)部的第二節(jié)點發(fā)送的心跳信號,判斷第二節(jié)點是否發(fā)生了單點故障,當(dāng)判斷發(fā)生了單點故障時,利用重啟單元重啟虛擬機,以克服安裝在虛擬機內(nèi)部的第二節(jié)點發(fā)生的單點故障問題。本實施例中,并不改變原有的系統(tǒng)架構(gòu),即實現(xiàn)了對第二節(jié)點發(fā)生的單點故障的處理,降低了系統(tǒng)的復(fù)雜度、系統(tǒng)成本以及維護成本。
對應(yīng)圖2所示的一種單點故障的處理方法,本發(fā)明還提供了另一種單點故障的處理裝置,其結(jié)構(gòu)示意圖請參閱圖4所示,本實施例提供的另一種單點故障的處理裝置包括:
接收單元11、判斷單元12、重啟單元13、記錄單元14和查找單元15;
優(yōu)選地,所述判斷單元12,包括:
查找子單元21、計算子單元22和判斷子單元23;
優(yōu)選地,所述重啟單元13,包括:
調(diào)用子單元31和輸入子單元32;
所述接收單元11,用于接收安裝在虛擬機內(nèi)部的第二節(jié)點發(fā)送的心跳信號;其中,所述虛擬機運行于共享存儲內(nèi);
所述記錄單元14,用于記錄接收到所述心跳信號的產(chǎn)生時間;
所述查找子單元21,用于查找上一次接收到的所述心跳信號的產(chǎn)生時間,得到第一時間;
所述計算子單元22,用于計算當(dāng)前時間與所述第一時間之間的差值;其中,所述當(dāng)前時間為所述第一節(jié)點的系統(tǒng)時間;
所述判斷子單元23,用于判斷所述差值是否大于預(yù)設(shè)時間值;
是,則調(diào)用所述查找單元15;
所述查找單元15,用于在所述共享存儲內(nèi),查找是否存在與所述虛擬機對應(yīng)的存儲鎖;
若不存在,則調(diào)用所述重啟單元13;
若存在,則間隔預(yù)設(shè)時長后,調(diào)用所述判斷單元12;
其中,所述重啟單元13中的所述調(diào)用子單元31,用于調(diào)用應(yīng)用程序編程接口或命令行界面;
所述重啟單元13中的所述輸入子單元32,用于向所述應(yīng)用程序編程接口或所述命令行界面,輸入重啟命令。
從上述技術(shù)方案可知,本申請公開的一種單點故障的處理裝置中,判斷單元根據(jù)接收單元接收到的安裝在虛擬機內(nèi)部的第二節(jié)點發(fā)送的心跳信號,判斷第二節(jié)點是否發(fā)生了單點故障,當(dāng)判斷發(fā)生了單點故障時,利用重啟單元重啟虛擬機,以克服安裝在虛擬機內(nèi)部的第二節(jié)點發(fā)生的單點故障問題。本實施例中,并不改變原有的系統(tǒng)架構(gòu),即實現(xiàn)了對第二節(jié)點發(fā)生的單點故障的處理,降低了系統(tǒng)的復(fù)雜度、系統(tǒng)成本以及維護成本。
且,在對管理節(jié)點發(fā)生的單點故障進行處理前,先在所述共享存儲內(nèi),利用查找單元查找是否存在與所述虛擬機對應(yīng)的存儲鎖,只有不存在時,計算節(jié)點才對管理節(jié)點發(fā)生的單點故障進行處理,而當(dāng)存在時,不對管理節(jié)點發(fā)生的單點故障進行處理,重新判斷管理節(jié)點是否發(fā)生了單點故障。避免了多個計算節(jié)點同時都對管理節(jié)點發(fā)生的單點故障進行處理的問題產(chǎn)生。
對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其他順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本發(fā)明所必須的。
需要說明的是,本說明書中的各個實施例均采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。對于方法類實施例而言,由于其與設(shè)備實施例基本相似,所以描述的比較簡單,相關(guān)之處參見設(shè)備實施例的部分說明即可。
最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
對所公開的實施例的上述說明,使本領(lǐng)域技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng)視為本發(fā)明的保護范圍。