每一個RAID級別都有不同的分布模式,其系統的可靠性也有所不同,并影響系統的性能和冗余度。因此,準確分析RAID系統的可靠性或容錯能力,有助于建設投資少、可靠性高的存儲系統。
何謂可靠性?
可靠性在理論上講是概率問題。
一套系統從投入使用開始,連續運行一段時間后會出現故障,通過維修或更換部件后再投入運行;第二次連續運行一段時間后,可能又出現故障……設Ti為運行時間,ti為停運時間,∑T表示平均運行時間,它是T1、T2……Tn的代數平均值,∑t表示平均停運時間,它是t1、t2……tn的代數平均值。如果令R為可靠性,則R=∑T/(∑T+∑t)。設F為故障率,則F=∑t/(∑T+∑t),且R+F=1。
為分析方便,本文僅討論由相同的RAID級和相同容量的硬盤驅動器組成的磁盤陣列,并且假設硬盤驅動器在100%運行情況下,3年內的可靠性r為0.95。
RAID及其可靠性
RAID是利用若干硬盤驅動器加上控制器按一定的組合方式組成的一個大容量、快速響應和高可靠的存儲子系統。硬盤驅動器的不同組合方式形成了不同級別的RAID陣列。
1.RAID 0——數據分割
RAID 0通過2個以上的硬盤驅動器組成一個磁盤陣列,讀入和寫出的數據流被分割為大小相同的塊或條,然后平均分配給各硬盤驅動器來完成傳輸。雖然組成RAID的磁盤條(Stripe Block)被顯示為同一邏輯磁盤,但實際卻由幾個硬盤驅動器并行處理,使整個系統的性能大大提高。RAID 0陣列的實際容量為M×n(M為硬盤驅動器的容量,n為硬盤驅動器的數量,下同),磁盤利用率為100%。
RAID 0在所有RAID級別中效率最高,但卻是惟一不具有容錯性的。由于它將數據分成塊存儲在不同的硬盤驅動器內,從而極大地增加了數據的安全隱患,且這種隱患隨著系統中硬盤驅動器總數量的增多而加大,因為如果其中有一個硬盤驅動器中的數據被破壞,整個數據就不能被正確讀出了。顯然,系統的可靠性值就是每一個單獨硬盤驅動器可靠性的乘積,即R=rn,對于12塊相同硬盤驅動器組成的RAID 0陣列,有R=0.9512=54%。
2.RAID 1——磁盤鏡像
如果說RAID 0是追求性能而放棄可靠性的話,那么,RAID 1正好相反,它是追求可靠性而放棄性能的一種解決方案。其做法就是通過磁盤鏡像使所有在給定硬盤驅動器上寫入的數據都被復制到另一個硬盤驅動器上。RAID 1至少由2個硬盤驅動器組成,其實際容量為M×n/2,磁盤利用率為50%。
在RAID 1中,2個硬盤驅動器組成一個鏡像對,在一對鏡像盤中,如果1個發生錯誤不會損失任何數據,因為數據可以從鏡像盤中恢復。但如果2個硬盤驅動器都發生了錯誤,數據則將丟失。
|
|