海量存儲機群系統中提高系統MTTF的設計和分析
摘 要:當今,機群系統被廣泛地應用于海量存儲系統。對數據有高可靠性要求的應用,如何提高系統MTTF是人們研究的主要問(wèn)題。本文提出了一個(gè)新的動(dòng)態(tài)備份策略,并行數據備份策略,通過(guò)詳細的理論分析,指出該策略可顯著(zhù)地提高系統MTTF;還通過(guò)仿真實(shí)驗,驗證了其效果。
關(guān)鍵詞:海量存儲;機群系統;平均故障前時(shí)間
1 引言
在過(guò)去幾年里,機群系統被廣泛地應用于海量存儲系統,比如,著(zhù)名的Google文件系統就包含上千個(gè)基于linux的計算機。這樣做的好處有三個(gè)。第一,由于每個(gè)節點(diǎn)都是大批量生產(chǎn)的,整個(gè)系統的價(jià)格可以很低。第二,通過(guò)增減節點(diǎn),系統可以簡(jiǎn)單地進(jìn)行擴展。第三,通過(guò)在互相獨立的節點(diǎn)上備份數據,可以顯著(zhù)地提高系統中數據的可靠性。
對存儲系統來(lái)說(shuō),系統的平均故障前時(shí)間(MTTF)是指系統中出現某個(gè)數據因所有的備份都丟失,而導致該數據無(wú)法挽回地丟失所需的平均時(shí)間。對于有較高數據可靠性要求的系統,系統的MTTF是衡量系統性能的一個(gè)重要指標。提高系統MTTF的一個(gè)方法就是 提高數據的備份數。備份數的選擇需要綜合考慮,因為選擇過(guò)低的備份數,系統的MTTF不能滿(mǎn)足要求;而選擇過(guò)高的備份數,系統的存儲資源就被浪費,特別是當系統中包含大量數據的時(shí)候。另一個(gè)方面,考慮到機群系統中節點(diǎn)會(huì )不斷失效,因此還必須對備份數因節點(diǎn)失效而降低的數據進(jìn)行動(dòng)態(tài)備份,以提高系統MTTF。本文提出了一個(gè)新的動(dòng)態(tài)備份策略,并行數據備份策略,理論分析了其性能,并進(jìn)行了仿真實(shí)驗。
2系統結構和動(dòng)態(tài)備份策略
整個(gè)系統的構成情況如下。機群系統包含n個(gè)節點(diǎn)。系統中的所有對象狀態(tài)以狀態(tài)塊為單元進(jìn)行組織。系統中存儲的互不相同的狀態(tài)塊總數正比與節點(diǎn)總數。每個(gè)狀態(tài)塊有m個(gè)備份。同一個(gè)狀態(tài)塊的備份不能在一個(gè)節點(diǎn)上,以保證可靠性;一個(gè)節點(diǎn)可以同時(shí)存儲許多個(gè)狀態(tài)塊的備份。每個(gè)正常節點(diǎn)都會(huì )失效。
在出現一個(gè)節點(diǎn)失效后,系統的動(dòng)態(tài)備份策略為:1)為失效節點(diǎn)上的每個(gè)狀態(tài)塊,選擇一對源節點(diǎn)和目標節點(diǎn),源節點(diǎn)包含該狀態(tài)塊,目標節點(diǎn)不包含;2)讓這些狀態(tài)塊,同時(shí)在各對應源節點(diǎn)和目標節點(diǎn)之間開(kāi)始轉移,直至轉移完畢。其中,各狀態(tài)塊的源節點(diǎn)和目標節點(diǎn)的選擇應盡可能互不重合,以使盡可能多的狀態(tài)塊轉移可并發(fā)進(jìn)行。另外,這個(gè)備份策略也意味著(zhù)每個(gè)狀態(tài)塊的備份可存儲于任一節點(diǎn)上。下面,通過(guò)建立數學(xué)模型,理論估計該動(dòng)態(tài)備份策略下的系統MTTF。
3理論分析
考慮用Markov過(guò)程來(lái)描述這個(gè)模型。為此,做如下假設。節點(diǎn)的失效速率服從指數分布,均值為l。由于系統中節點(diǎn)數目巨大,所以在一個(gè)節點(diǎn)失效后,其上的狀態(tài)塊完全可以找到互不重復的源節點(diǎn)和目標節點(diǎn),狀態(tài)塊轉移可以并發(fā)進(jìn)行,可設轉移速率服從指數分布,均值為lb。另外,考慮到系統中的節點(diǎn)數目巨大,可以認為系統在出現某狀態(tài)塊無(wú)法挽回丟失時(shí),系統中正常工作的節點(diǎn)數依然維持在較高水平,與起始時(shí)的節點(diǎn)數n在同一個(gè)數量級。因此,可近似認為系統中節點(diǎn)數始終為n。于是,取有幾個(gè)失效節點(diǎn)上的狀態(tài)塊正在進(jìn)行轉移為研究對象,可得狀態(tài)轉移圖如圖1。其中,m為每個(gè)狀態(tài)塊的原備份數;ai表示當一個(gè)有n個(gè)節點(diǎn)的系統中有(i-1)個(gè)失效節點(diǎn)上的狀態(tài)塊正在進(jìn)行轉移時(shí)無(wú)狀態(tài)塊丟失,而再失效一個(gè)節點(diǎn)發(fā)生一狀態(tài)塊丟失的概率;狀態(tài)i'(i>=m)表示系統中出現某狀態(tài)塊無(wú)法挽回地丟失。
圖1 系統的狀態(tài)轉移過(guò)程
因此,目標就化為系統進(jìn)入狀態(tài)i'的均值時(shí)間。這個(gè)系統可以近似看成一個(gè)狀態(tài)數為無(wú)窮的一維生滅過(guò)程。要求解進(jìn)入狀態(tài)i'的瞬態(tài)概率,將涉及解一個(gè)含無(wú)窮多等式的微分方程組,這是很復雜的。但根據以往求一維生滅過(guò)程的穩態(tài)解的經(jīng)驗知道, 。因此,如果ln-1/mn很小,那隨著(zhù)n的增加,Pn將急速下降。于是,當n增加到一定值時(shí),可以忽略其后的狀態(tài)。對一個(gè)典型的含1000個(gè)節點(diǎn)的機群系統,若節點(diǎn)的MTTF為一天,則系統中出現某節點(diǎn)失效的速率約為0.011/秒;而一個(gè)狀態(tài)塊的平均轉移時(shí)間可以在10秒鐘左右,即,轉移速率為0.1/秒;這兩個(gè)速率之比約為0.1。因此,可以忽略系統中n>=m的狀態(tài),而把系統進(jìn)入狀態(tài)m'的均值時(shí)間作為系統的MTTF。
評論