海量存儲機群系統中提高系統MTTF的設計和分析
從圖上可以很明顯地看到三個特點。第一,在相同節點數目下,備份數越多,系統的MTTF越大,這是所預期的。第二,當節點數目達到1000的時候,在2個備份的情況下,系統MTTF小于1小時;在3個備份的情況下,系統MTTF仍能保持在400小時(約為16天)左右。這些值與前面的理論分析基本一致,數值都在相同的數量級。第三,當備份數只有1或2個的時候,隨著節點數的增加,系統MTTF顯著下降;而當備份數是3個的時候,隨著節點數的增加,系統MTTF基本保持不變。這個現象可以解釋如下。首先,當備份數只有1或2個的時候,系統MTTF隨著節點數的增加而下降的原因是:當節點數增多時,系統中出現節點失效的可能性就增大。比如,對于一個包含1000個節點的機群系統,若每個節點的失效速率為l,則系統中出現節點失效的速率為1000l。在這樣高的失效速率下,很容易發生包含同一個狀態塊備份的兩個節點(當備份數為2時)幾乎同時失效。另外,隨節點數的增多,狀態塊的數目也成倍增加,這也增加了系統中出現某狀態塊丟失的可能性。其次,當備份數有3個的時候,系統MTTF隨著節點數的增加能保持穩定的原因是:當節點數增多時,雖然系統中出現某個節點失效的可能性增大,會降低系統MTTF,但另一個能起到相反的作用因素顯著表現出來。這個因素就是通過并發拷貝操作,大大降低對象狀態轉移時間。舉個例子。假設一個機群系統有1000個節點,每個節點存儲著100個狀態塊,每個狀態塊大小為64M。當一個節點失效后,系統就會為其上的100個狀態塊尋找一對源節點和目標節點進行轉移。正常情況下,在100Mb/s的網絡里,若只使用一半帶寬的話,轉移一個狀態塊需要(64MB*8b/B*2)/(100Mb/s),即,近似為10秒。那么,轉移100個狀態塊需要1000秒左右,即,近似為15分鐘,這是很長的一段時間。但考慮到系統中有1000個節點,很容易找到這樣100對源節點和目標節點,它們沒有任何兩個節點是相同的。在這種情況下,拷貝操作完全可以并發進行,100個狀態塊可在10秒內拷貝完畢,這是很短的一段時間。
縮短拷貝時間的最大好處是,在拷貝期間發生新節點失效的可能性減小,進而這樣就可以減小某個狀態塊丟失的可能性。為了證明降低拷貝時間的作用,考慮如下對比實驗。對于備份數為2和3的那兩組實驗,將原先的tratio的限制舍棄不用,而限制系統中正在進行拷貝的節點數目的上限為10個。如果實驗的結果表明,隨節點數的增加,系統MTTF顯著降低,那么就證明了降低拷貝時間對提高系統MTTF的作用。圖3顯示的是得到的實驗結果。作為對比,把沒有該限制的原實驗結果也畫在圖上,用虛線表示。實驗的結果正如所預料的,在兩種實驗情況下,系統MTTF都隨節點數增加,而顯著降低。特別地,當節點數為1000時,在備份數為2的情況下,系統MTTF遠低于1小時;在備份數為3的情況下,系統MTTF只有2小時左右。這些性能數據,都比原先沒有該限制的實驗,要低得多。
圖3有并發限制與無并發限制的比較
5 結論
本文提出了一個新的動態備份策略,并行數據備份策略。研究表明,該策略可顯著地提高系統的MTTF。特別地,當系統節點數目達到1000的時候,在3個備份的情況下,系統MTTF仍能保持在幾十天的數量級。并且指出該策略的有效性主要來源于通過并發拷貝操作,大大降低了對象狀態的轉移時間。
本文創新點
本文提出了一個新的動態備份策略,并行數據備份策略。通過詳細的理論分析和仿真實驗,指出該策略可以在系統中當節點數達到成百上千時顯著地提高系統的MTTF。該策略若使用在海量存儲系統中,可以顯著地提高數據的可靠性。
評論