馬瑋駿,王 強,何曉暉,馮 徑,馬 強
(解放軍理工大學,江蘇 南京 211101)
云存儲系統Master節點故障動態切換算法
馬瑋駿,王 強,何曉暉,馮 徑,馬 強
(解放軍理工大學,江蘇 南京 211101)
為了解決大規模云存儲系統中Master節點發生故障導致存儲服務不可用的問題,建立了面向云存儲系統管理節點發生故障時的故障影響分析模型。該模型以存儲服務可用性、數據可靠性和數據可用性為分析目標,通過故障狀態、管理節點實時狀態以及管理節點故障的限制條件三個維度對故障影響進行分析,為恢復故障提供了有效的方法依據。同時,基于故障影響分析模型,提出了一種基于消息的Master節點故障動態切換算法—DSA-M。該算法通過基于序號的優先級策略實現了Master節點動態申請和切換,保證了云存儲服務的高可用性。測試結果表明,DSA-M算法能夠在Master節點發生故障時自動進行Master節點的切換和接管,恢復云存儲服務的運行;通過控制故障檢測周期,能夠使得DSA-M算法的性能保持在相對穩定的區間內,隨失效時刻的適應性也比較強。
云存儲系統;Master節點;故障檢測;元數據;動態切換
大規模云存儲系統(Huge Cloud Storage System,HCSS)憑借規模大、覆蓋范圍廣、訪問量大、存儲數據量大等特點,逐步成為業界的研究熱點[1],而如何保證云存儲系統的高可靠性、高可用性以及故障恢復問題一直是HCSS的重要研究方向。HCSS一般由一個Master節點,多個元數據管理節點和若干個存儲節點構成,其中Master節點主要負責收集、檢測各個元數據管理節點的工作信息,掌握云存儲系統的全局運行狀態。因此,當Master節點出現故障時,如何保證云存儲服務的高可用性并盡快使其他元數據管理節點實現從普通管理節點至Master節點的無縫切換,是HCSS中需要解決的關鍵問題之一。
文獻[2]給出了一種提高云存儲系統可靠性的方法,并提出了多個云存儲管理節點相互協作提供存儲服務高可用和高可靠性的概念;文獻[3]研究了OpenStack類云存儲服務的同步瓶頸問題,并給出了一種輕量級的對象同步協議LightSync,減輕了同步負載;文獻[4]描述了GFS通過Master節點MASTER狀態、操作記錄、檢查點多機備份的方式確保可靠性和故障恢復的相關方法;文獻[5]提出了一種基于糾刪碼的用于Hadoop平臺的高性價比的容錯策略,能夠使用較低的代價提供云存儲的高可靠性;文獻[6]提出了一種基于低密度奇偶校驗碼的云存儲系統框架,其中使用了一種裁剪糾錯碼來提高云存儲系統的編碼和解碼性能;文獻[7]從資源分配角度建立了云存儲系統可靠性分析模型,并驗證了模型的有效性;文獻[8]基于云存儲節點數據訪問頻率,提出一種副本備份算法,提高了數據的可靠性和云存儲訪問性能;文獻[9]針對云存儲系統的可靠性評價機制進行研究,并給出了面向傳統被動容錯和新型主動容錯兩類云存儲系統的可靠性評價模型。為了提高云存儲服務的可用性和容災性,近年來一些研究人員將P2P技術融合至云存儲架構[10-12]。文獻[13]通過結合(n,k)-RS編碼和X編碼,為云存儲系統設計一類新的準確修復編碼,在一個或兩個節點發生故障時,修復局部性以及修復帶寬上都具有顯著優勢;文獻[14]利用數據拆分及編解碼的思想來解決云盤存儲數據的可靠性問題;文獻[15]采用雙活容災存儲技術,構建了一個真正意義上的雙活云計算數據中心;文獻[16]提出了云存儲系統故障自動化管理的策略框架、策略描述語言以及策略映射機制,提高了云存儲系統故障自動化管理的可實現性。
可以看出,各類云存儲系統或多或少都采用了數據冗余來保證數據的可用性和可靠性,數據可靠性指數據能夠持久存儲并且不丟失的概率,數據可用性是指數據持續可用的概率。數據可靠性可以看作是靜態需求,而數據可用性則是動態需求。數據可靠性可以由數據冗余的方式提供保證,很明顯,數據可靠,卻不一定可用,如果存儲系統軟硬件出現故障,即便數據被可靠地存儲,卻不能被用戶使用。
因此,云存儲系統必須能通過有效的軟硬件動態恢復技術使系統發生故障時能夠自動恢復軟、硬件的正常運行,盡可能地提供持續、正確的存儲服務,保證系統存儲服務的高可用性,這樣才能保證數據的高可用性。
為此,圍繞HCSS中Master節點故障失效時持續提供云存儲服務的問題,提出了HCSS管理節點(包括Master節點和元數據管理節點)故障分析模型,并以該模型為基礎提出Master節點故障自我恢復的相關算法。
HCSS管理節點主要負責為云存儲客戶端提供元數據服務,同時需要檢測各個存儲節點的工作狀態。通常HCSS中有多個管理節點,其中Master節點負責所有管理節點的故障檢測。使用故障管理對象、故障的限制條件和表現以及故障管理對象的狀態三個維度來表示HCSS中管理節點的故障分析模型。
設HCSS管理節點的故障狀態空間SCSSM={s1,s2,…,sn};HCSS管理節點故障的限制條件和表現空間CCSSM={c1,c2,…,cm};HCSS管理節點實時狀態空間RCSSM={r1,r2,…,rl}。在t時刻,存儲服務可用性為SA(t);數據可靠性為DR(t);數據可用性為AD(t)。
記故障發生時間為t1,故障狀態為sm,HCSS管理節點為oi,HCSS管理節點實時狀態為rj,HCSS管理節點故障的限制條件和表現為ck,故障持續時間為Δt,則故障sm對存儲服務可用性的影響記為:
Fsm→SA=fsm→SA(oi,rj,ck)∈[0,1]
(1)
設t2>t1,t2∈(t1,t1+Δt],則t2時刻系統存儲服務可用性記為:
SA(t2)=SA(t1)(1-Fsm→SA)
(2)
式(1)中,fsm→SA表示故障sm對存儲服務可用性的影響函數,該函數的取值范圍為[0,1],取0表示沒有影響,取1表示影響最大,使得系統存儲服務可用性為0,即無法提供存儲服務。
同理,設fsm→DR和fsm→AD分別表示故障sm對系統數據可靠性和數據可用性的影響函數,則t2時刻系統數據可靠性記為:
DR(t2)=DR(t1)(1-Fsm→DR)
(3)
t2時刻系統數據可用性記為:
AD(t2)=AD(t1)(1-Fsm→AD)
(4)
為了討論簡便,下面對影響函數進行二值化:
Fsm→SA=fsm→SA(oi,rj,ck)∈{0,1}
(5)
Fsm→DR=fsm→DR(oi,rj,ck)∈{0,1}
(6)
Fsm→AD=fsm→AD(oi,rj,ck)∈{0,1}
(7)
式(5)~(7)表示將故障影響簡化為0和1兩種取值,0表示沒有影響,1表示有影響,這種簡化對于界定故障的檢測范圍、恢復范圍以及恢復時效是很有意義的。對于故障影響為0的故障,可以檢測但不一定要及時恢復;對于故障影響為1的故障,是必須要進行檢測和及時恢復的。
表1給出了HCSS管理節點在崩潰故障情況下的故障分析。其中,崩潰故障指節點宕機、掉電或系統崩潰等,對HCSS管理節點上存儲的元數據隨節點崩潰的丟失情況不做任何假設。
通過表1可以看出,與Master節點緊密相關的是r5狀態,首先影響的是系統的存儲服務可用性以及數據可用性,Master節點崩潰會導致其他HCSS管理節點無法獲取全局的狀態信息,這必然會影響元數據管理工作,因此系統數據可靠性也會受到影響。

表1 HCSS管理節點崩潰故障影響分析
對于Master節點故障時的存儲服務可用性自恢復,關鍵在于故障恢復軟件能否在Master節點發生故障時,在r5狀態下,使多個HCSS管理節點能迅速完成Master節點申請和接管,否則Master節點故障將導致系統的存儲服務可用性、數據可用性都受到影響,也會影響系統的數據可靠性。
從故障影響分析模型的分析結果可以看出,由于同一時刻HCSS管理節點集合中只有一個節點作為Master節點,當Master節點出現故障,必須由其他HCSS管理節點動態接管Master節點的所有職能。
因此,提出了一種基于消息的Master節點動態切換算法(Dynamic Switching Algorithm for Master,DSA-M)。通過基于序號的優先級策略實現了Master節點失效時的Master節點動態申請及負載接管,保證了系統的存儲服務高可用性。
3.1DSA-M算法設計
DSA-M算法的核心思想是:如果某個HCSS管理節點hj超過一定的時間沒有收到Master節點hm的檢測消息,就認為hm失效(崩潰),便開始申請為Master節點,如果所有其他節點都同意hj作為Master節點,hj便接管故障檢測工作。
3.1.1 超時判定策略
算法中有兩個超時時限,第一個是每個HCSS管理節點hj判斷故障檢測Master節點hm失效的超時時限,該超時通過式(8)進行計算:
(8)

如果hj發現超過Tme仍然沒有收到hm的檢測消息,則認為hm出現故障;Tme的選擇需要謹慎,因為如果選擇得過小,則會產生誤判,造成頻繁而沒有必要的申請消息;如果選擇得過大,則會造成長時間HCSS管理節點集合中沒有Master節點,HCSS管理節點的故障信息以及狀態信息不能及時更新。如果出現誤判,則Master節點返回不同意消息。
第二個超時時限是每個HCSS管理節點hj在發出Master節點申請消息后,期望別的HCSS管理節點回執的超時時限,該超時記為MDT,取MDT為當前網絡往返時延的最大值。這樣取值的目的一方面在于避免由于個別被申請節點的時延較大而遺漏確認消息,另一方面在于減少多個節點同時申請Master節點的可能性,從而減少網絡通信量。
3.1.2 優先級策略
為了減少通信量,避免多個節點同時申請,為每個節點設定申請的優先級。按照優先級,當某個節點申請成功后,其他節點無需再申請。優先級采用hj在云存儲管理節點集合SCSSMN中的序號SNj進行定義,排在前面的節點申請優先級高,hj通過式(9)計算自己在懷疑Master節點失效后開始Master節點申請的等待時延:
TD=(SNj-1)×MDT
(9)
可以看出,排序越靠后的節點,需要等待的時間就越長。這里需要注意一個問題,序號的規定和發布是基于序號的優先級策略中的核心環節,如果序號固定,那必然存在申請不公平的現象,排序靠后的節點可能始終無法獲得申請的機會。因此,算法中的序號主要通過Master節點進行生成和發布,而不是固定的,Master節點只需每次檢測時更新序號的排列(可以采用隨機排列),便能使各個節點的優先級發生實時變化,因此Master節點通過序號的公平分配,即可解決申請過程中的不公平問題。
3.1.3 節點失效處理策略
(1)申請過程中被申請節點失效:申請過程中,如果某個被申請節點失效,則無法響應申請節點的申請消息,此時申請節點可以通過超時機制進行處理,一旦某個被申請節點超時,申請節點便跳過該節點,強制實行接管,這樣在第一個故障檢測周期內,就能夠檢測出該失效節點。
(2)申請過程中被申請節點超時(但沒有失效):申請過程中,如果某個被申請節點由于網絡或者過載等原因超時,申請節點便跳過該節點,強制實行接管,這樣在第一個檢測周期內,就能夠檢測出該節點的實時狀態,對于被申請節點,一旦收到檢測消息,便進行響應,并更新Master節點。
(3)申請過程中申請節點失效:申請過程中,如果申請節點失效,則存在兩種情況。第一種是申請進行了一半,此時必定有部分被申請節點無法收到申請消息,假設沒有收到申請消息的第一個節點是hj,則一旦到達時間TD,hj會由于沒收到申請消息而發出Master節點申請,因此其他節點最多等待TD即可收到申請消息。這里注意申請節點發送消息的順序,應該與SN的順序相反,這樣,每次申請節點失效后,下一個申請節點可以在最短的時間內發出申請。例如:假設排序后的節點按SN順序為h1,h2,…,hl,申請節點為h1,被申請節點總數為l-1,則h1發送申請消息的順序為hl-1,hl-2,…,h2,h1如果在發送完給hk(2
另一種情況是所有被申請節點都收到了申請消息后,申請節點失效,在這種情況下,由于各個節點都承認了申請節點為Master節點,因此可以按照針對Master節點的超時機制進行處理,超時時限可以按照式(8)進行設定。由于排序越靠后的節點越先得到申請消息,因此如果靠后的節點由于超時設置太小而超時的話,則會發起申請,但是該申請消息不會被其他節點所接受,于是申請節點會繼續等待下一個超時周期。
3.2DSA-M算法描述
DSA-M的算法描述如下所示:
算法1:DSA-M算法。
1:ON no MAIN_DETECT message from MainNode forTme=
2:SCSSMN←SCSSMN-hm;SNj←Sequence Number ofhjinSCSSMN;
3:ON no MAIN_REQUEST message from any Node forTD=(SNj-1)×MDT then
4:SendRequest(hm,MAIN_REQUEST);
5:fori=SNldown to SN1do //hi∈SCSSMN={h1,h2,…,hl}
6:ifi<>SNjthen SendRequest(hi,MAIN_REQUEST);
7:SetTimer;
8:ON ReceiveFromCSSMN(hi,MAIN_AFFIRMATIVE) then OK_COUNT++;
9:if(OK_COUNT=SCSSMN.Count-1)or(Timer>MDT) then
10:SetMainNode(hi);
11:StartDetect;
12:ON ReceiveFromCSSMN(hi,MAIN_NEGATIVE) then ResetToStep4;
13:ON ReceiveFromCSSMN(hi,MAIN_REQUEST) then
14:ifSNi≤SNjthen
15:SendResponse(hi,MAIN_AFFIRMATIVE);
16:SetMainNode(hi);
17:ResetToStep1;
18:else SendResponse(hi,MAIN_NEGATIVE);
19:ON receive MAIN_DETECT message from MasterNodehithen
20:SendResponse(hi,MAIN_DETECT_RESPONSE);
21:ResetToStep1;
22:ON receive MAIN_REQUEST message from other Node then//hm
23:SendResponse(hi,MAIN_NEGATIVE);
算法1中假設當前Master節點為hm,當前HCSS管理節點為hj。算法將管理節點之間的消息分為五類,分別是:
(1)MAIN_DETECTMaster:節點對其余HCSS管理節點的故障檢測消息;
(2)MAIN_DETECT_RESPONSE:HCSS管理節點對故障檢測的響應消息;
(3)MAIN_REQUEST:某個HCSS管理節點申請成為Master節點的申請消息;
(4)MAIN_AFFIRMATIVE:某個被申請節點同意申請節點的Master節點申請消息;
(5)MAIN_NEGATIVE:某個被申請節點不同意申請節點的Master節點申請消息。
第1行表示一旦任意一個HCSS管理節點hj(非Master節點)超過Tme都沒有收到來自Master節點hm的消息,則啟動2~21行的算法任務。
第2行表示在SCSSMN中去除hm進行重新排序,得到每個節點的SN。
第3~12行表示hj超過TD仍然未收到來自其他HCSS管理節點的申請消息MAIN_REQUEST,而執行的算法任務。
第4行表示首先給hm發送申請消息MAIN_REQUEST,防止對Master節點的誤判造成系統中存在多個Master節點的情況。
第5~6行表示hj按照SN倒排的順序對其他HCSS管理節點發出申請消息MAIN_REQUEST。
第7行表示發送完消息即設定一個定時器,用于檢測對申請消息響應的超時。
第8行表示hj發出申請消息后收到了某個HCSS管理節點hi的同意消息MAIN_AFFIRMATIVE,此時hj將計數器加1,用于統計收到的同意消息數;第9~11行表示如果hj收到的同意消息數等于被申請節點數,或者等待同意申請消息超時,便置自己為Master節點,同時開始故障檢測。
第12行表示如果hj收到某個HCSS管理節點hi的不同意消息MAIN_NEGATIVE,則hj重置本地定時器,恢復到第4步的初始狀態,即剛發現hm失效的狀態,繼續等待TD,ResetToStep4函數負責狀態的重置工作。需要注意的是,一旦hj的狀態被重置,則它不會再處理任何MAIN_AFFIRMATIVE或者MAIN_NEGATIVE消息。
第13行表示hj收到來自hi的申請消息MAIN_REQUEST,第14~18行表示對消息中hi的序號SNi進行判斷,如果SNi≤SNj,表示hi滿足申請條件(優先級條件),hj便使用同意申請消息MAIN_AFFIRMATIVE響應hi,同時置hi為Master節點,重置自身的狀態到發現Master節點超時時的狀態,進入正常的運行流程,ResetToStep1函數負責重置處理;如果SNi>SNj,則表示hi不滿足申請條件(優先級條件),hj便使用不同意申請消息MAIN_NEGATIVE響應hi。
第19~21行表示hj收到來自Master節點的故障檢測消息,則立即響應MAIN_DETECT_RESPONSE消息,并重置自身的狀態到發現Master節點超時時的狀態,進入正常的運行流程。
第22~23行是Master節點hm算法,這里表示如果由于網絡狀態不穩定或者hm過載,造成hj的誤判,則hm響應不同意申請消息MAIN_NEGATIVE。
該算法的優點在于:
(1)無需實時獲取各個HCSS管理節點的狀態,由于Master節點失效,狀態檢測結果可能會不一致,采用序號的方式進行Master節點申請計算工作,能夠在HCSS管理節點狀態不一致的情況下完成申請,并正確運行;
(2)采用序號的方式進行申請優先級計算,避免了不必要和過多的申請消息,申請過程中任何HCSS管理節點失效,算法依然能夠保證正確性;
(3)Master節點申請和接管對于每個節點只需1次往返消息交互,消息代價很小,復雜度為O(N),N為HCSS管理節點數;
(4)可擴展性好,當HCSS管理節點增多,增加的消息量為常數,與節點數目無關;
(5)正常情況下,Master節點失效后,經過一個故障檢測周期加上網絡時延的時間,即可完成接管,不論網絡條件如何,都能自動進行恢復,保證故障檢測的有效性。
因此,DSA-M算法在Master節點處于狀態hj并出現故障的情況下,保證了系統的數據可靠性。
實驗采用5個HCSS管理節點,其中5號節點作為初始Master節點,在5個節點上運行DSA-M算法,測試當Master節點失效時,其他HCSS管理節點申請Master節點的性能。
測試中,故障檢測超時取800 ms和200 ms,故障檢測周期為1 000 ms,初始故障檢測Master節點編號為5,故障檢測Master節點申請回執超時為100 ms,測試進行100次。
測試過程中,使HCSS管理節點5(故障檢測Master節點)停止響應任何請求(模擬崩潰故障,即失效),Master節點失效的時刻是隨機的,記錄Master節點失效的時刻t1與其他HCSS管理節點申請Master節點成功的時刻t2之差:Δt=t2-t1(申請時間),用于衡量Master節點失效狀態下其余節點申請Master節點的性能。
測試結果如圖1所示。
(10)

(11)

(12)
為了體現測試的全面性,考察當多個節點失效時Master節點申請的性能,失效節點組合按照(5)、(5,1)、(5,1,2),(5,1,2,3)四種,每一種組合內的節點都是同時失效,由DSA-M算法描述可知,申請的優先級是以節點序號計算,只要排序靠前的節點沒有失效,排序靠后的節點將無法完成申請,因此以上四種組合使得每個節點(1,2,3,4)都有機會申請Master節點,是最有代表性的一種組合。
此外,由圖1的分析可知,申請時間的變化依賴于Master節點失效時刻在故障檢測周期內的分布,因此為了討論方便,假設Master節點失效時刻按照間隔100 ms的規律均勻變化,考察一個檢測周期內HCSS管理節點申請Master節點時間與失效節點組合之間的關系,如圖2所示。

圖2 多個節點失效時申請Master節點成功時間(失效時刻均勻分布)
從圖2可以看出,節點失效的不同組合所對應的Master節點申請時間并不相同,這種差異主要來自于Master節點申請優先級的控制。由DSA-M算法描述可知,每個節點發現Master節點失效后,將延遲時間TD發送Master節點申請消息,因此排序越靠后的節點發起申請的延遲就越大,而延遲的時間和節點的序號以及最大往返時延(MDT)相關,測試中MDT=100 ms。圖2中Master節點失效后,可以申請成為Master節點的HCSS管理節點有4個,因此當前n個節點都失效時,最大等待時延Twait(申請開始時間)和申請完成時間Tfinish分別為:
Twait=n×MDT
(13)
(14)
式(14)因為有多個節點失效,必然有節點會響應申請消息超時,因此會多一個超時時間MDT,這也是圖2中多于1個節點失效時的申請時間要比只有Master節點失效時的申請時間普遍多100 ms左右的原因。因此在多個節點失效的情況下,申請時間可以使用式(15)計算。
(15)
其中,n表示從1號節點開始,連續失效的節點個數。
因此在多個節點失效的情況下,申請時間的變化范圍為:

(16)
可以看出,通過控制故障檢測周期T,便能夠使得DSA-M算法的性能保持在相對穩定的區間內,隨失效時刻的適應性也比較強。
存儲服務可用性是衡量云存儲系統好壞的重要指標之一,當云存儲系統中管理節點出現故障時,如何快速恢復系統運行,確保存儲服務的可用性是HCSS需要解決的關鍵問題之一。針對HCSS中Master節點失效導致存儲服務不可用的問題,建立了HCSS中管理節點故障影響分析模型,根據模型分析結果,提出了DSA-M算法。當Master節點發生故障時,以多個HCSS管理節點之間并行工作為基礎,通過基于序號的優先級策略實現了Master節點的動態申請和切換,保證了云存儲服務的高可用性。
測試結果表明,DSA-M算法能夠在Master節點發生故障時自動進行Master節點切換和接管,恢復云存儲服務的運行。通過控制故障檢測周期,能夠使DSA-M算法的性能保持在相對穩定的區間內,隨失效時刻的適應性也比較強。
[1] 劉 鵬.云計算[M].第3版.北京:電子工業出版社,2015.
[2] 馬瑋駿,吳海佳,劉 鵬.MassCloud云存儲系統構架及可靠性機制[J].河海大學學報:自然科學版,2011,39(3):348-354.
[3] Chekam T T,Zhai E,Li Z,et al.On the synchronization bottleneck of OpenStack swift-like cloud storage systems[C]//IEEE international conference on computer communications.San Francisco:IEEE,2016:135-144.
[4] Kamath A,Jaiswal A,Dive K.From idea to reality:Google file system[J].International Journal of Computer Applications,2014,103(9):8-10.
[5] Wu C H,Hsu P.Cost-effective and reliable cloud storage for big data[C]//ASE big data & social informatics 2015.New York:ACM,2015.
[6] Wei Y,Yong W F.A cost-effective and reliable cloud storage[C]//2014 IEEE 7th international conference on cloud computing.Anchorage:IEEE,2014:938-939.
[7] Faragardi H R,Shojaee R,Tabani H,et al.An analytical model to evaluate reliability of cloud computing systems in the presence of QoS requirements[C]//International conference on computer and information science.Niigata,Japan:[s.n.],2013:315-321.
[8] Joolahluk J,Wen Y F.Reliable and available data replication planning for cloud storage[C]//IEEE international conference on advanced information networking and applications.Barcelona,Spain:IEEE,2013:772-779.
[9] 趙 暢. 云存儲系統可靠性分析[D].天津:南開大學,2014.
[10] Song J,Deng J H.NOVA:a P2P-cloud VoD system for IPTV with collaborative pre-deployment module based on recommendation scheme[C]//International conference on materials science and information technology.Nanjing,China:[s.n.],2013:1566-1570.
[11] Chakareski J.Cost and profit driven cloud-P2P interaction[J].Peer-to-Peer Networking and Applications,2015,8(2):244-259.
[12] Babaolu O,Marzolla M,Trambrini M.Design and implementation of a P2P cloud system[C]//Proceedings of the ACM symposium on applied computing.Trento,Italy:ACM,2012:412-417.
[13] 李小兵,許胤龍,林一施,等.X再生碼:一類適用于云存儲的準確修復編碼[J].計算機應用與軟件,2014,31(8):241-244.
[14] 王 帥,常朝穩,王禹同,等.面向多云盤的N+i模式的編碼冗余存儲機制[J].小型微型計算機系統,2016,37(2):236-240.
[15] 吳禮樂.基于雙活容災存儲技術的云計算數據中心的設計及應用[J].電子設計工程,2015,23(6):190-192.
[16] 馬瑋駿,王 強,何曉暉,等.一種基于策略的云存儲系統故障管理方法[J].軟件工程,2016,19(6):4-7.
Dynamic Switching Algorithm for Master Node in Huge Cloud Storage System
MA Wei-jun,WANG Qiang,HE Xiao-hui,FENG Jing,MA Qiang
(PLA University of Science and Technology,Nanjing 211101,China)
In order to solve the unavailable problem of storage service on account of the Master node fault in huge cloud storage system,an analysis model for fault effect of management node has been constructed,which takes storage service availability,data reliability and data availability as the analysis target.Three-dimensional element has been employed in the analysis model such as fault status,real-time status and restrictive condition so as to provide an effective method for fault recovery.Based on the analysis model,a dynamic switching algorithm for master node based on message called DSA-M has been presented,in which it implements the dynamic application and switching of Master node by PRI policy based on sequence number and ensures the high availability.Test results show that DSA-M has provided management nodes auto switching and taken over while master node is breakdown and high storage service availability.The performance of DRA-M also can be stable in relative region by reasonable control of fault detection cycle and DRA-M also has strong adaptability for crush moment.
cloud storage system;Master node;fault detection;metadata;dynamic switching
2016-05-09
:2016-08-10 < class="emphasis_bold">網絡出版時間
時間:2017-07-05
國家自然科學基金資助項目(61371119)
馬瑋駿(1980-),男,講師,博士,研究方向為網絡管理、網格計算、分布式存儲。
http://kns.cnki.net/kcms/detail/61.1450.TP.20170705.1649.006.html
TP301.6
:A
:1673-629X(2017)09-0085-07
10.3969/j.issn.1673-629X.2017.09.019