RAID級別

 一、RAID-1 到 RAID-6

數據是許多組織機構的命脈,對數據快速可靠的訪問是企業在當今的“互聯網時代”世界中安身立命的關鍵所在。同樣的,很多組織機構都會採用某種級別的RAID(廉價冗餘磁盤 陣列)來保護數據的完整。現在你可以看一下週圍有多少人因爲RAID-5的簡單以及看似最符合需求而在服務器上進行採用。雖然在很多情況下RAID 5是一個不錯的選擇,但是如果你比較注重最初的寫入性能,那麼別的級別RAID可能也有不錯的表現。現在你們當中有多少人能夠解釋RAID 10和RAID 50的設計目的?這些比較新的RAID級別可以克服RAID 5的某些缺陷,同時依然能夠保證存儲系統有足夠的冗餘。本文將逐一評價具有代表性的RAID級別的優點和缺陷。

RAID 0 (條塊磁盤)

所需最小驅動器數量: 2
最大容量:磁盤數量x 單個磁盤容量
描述: 寫入磁盤的數據被分爲區塊並分別寫入各個磁盤。
優勢: 由於數據的讀寫均通過多軸進行,輸入和輸出負載被分散,因此讀寫速度非常迅速。從理論上來說,磁盤數量越多,系統性能越好。通常情況下,如果追求性能上的改進,最好使 用Iometer檢測具體的存儲性能,因爲實際的改進可能沒有預想的明顯。
缺陷: 當某個磁盤出現問題,整個磁盤陣列都會出現故障,因爲這一級別的RAID沒有任何安全裝置。磁盤數量的增加,就意味着故障風險的增加。

RAID 1 (磁盤鏡像)

所需最小驅動器數量: 2 或者2的倍數
最大容量: 磁盤陣列總容量/2
描述: 所有數據會複製成雙份分別存儲在兩塊物理硬盤上,提供高級別的冗餘。
優勢: 可靠性很高。故障只會影響一塊磁盤。RAID 1 的讀取性能比較高(與單一磁盤的性能相當或更優)。
缺陷: 由於每個磁盤都有一個鏡像磁盤,因此運營成本增加了100%。由於需要在兩塊磁盤上寫入數據,因此寫入性能會受到一定的影響,不過即使這樣,其寫入性能也好於其他級別的 RAID。

RAID 2: 已停止使用。

RAID 3 (帶有校驗信息的並行傳輸磁盤)

所需最小驅動器數量:3
最大容量: (磁盤數量-1) x 每塊磁盤的容量
描述: 數據按字節被打散後平均的寫入各個磁盤。所有的校驗信息另外寫在單獨的專用磁盤上。
優勢: 可以允許單獨磁盤上數據的丟失。連續寫入性能可以接受。連續讀取性能比較好。
缺陷: 使用不廣泛,因此解決問題的相關信息比較少。RAID 3一般被認爲比較有效。隨意寫入性能較差。隨意讀取性能比較好。

RAID 4 (使用共享校驗塊的獨立數據磁盤)

最大容量: (磁盤數量- 1) x 每塊磁盤的容量
描述: 一個文件被分成區塊,每個區塊被寫入多個磁盤中,但是並不要求平均的寫入。與RAID 3類似的, RAID 4 也使用單獨的物理磁盤來存儲校驗信息。是大數據量高讀取率環境下的最佳選擇。
所需最小驅動器數量:3
優勢: 讀取率很高。允許單一磁盤數據的丟失。
缺陷: 寫入性能差。區塊讀取性能不錯。

RAID 5 (無旋轉校驗的獨立訪問磁盤陣列)

最大容量: (磁盤數量- 1) x 每塊磁盤的容量
描述: 類似與RAID 4, 數據區塊被分散寫入每塊磁盤上(有時並不平均), 但是這種情況下, 校驗信息與寫入的信息一起分散到各個磁盤上。
所需最小驅動器數量:3
優勢: 支持良好。允許單一磁盤數據的丟失。
缺陷: 數據重建過程中性能較差。由於寫入過程中需要不斷更新校驗信息因此寫入性能有時差強人意。

RAID 6 (帶有兩份獨立條帶校驗信息的獨立數據磁盤組)

最大容量: (磁盤數量- 2) x 每塊磁盤的容量
描述:與RAID 4類似, 數據被分成區塊分散寫入整個磁盤組中(有時不是平均寫入),但在此情況下,校驗數據同時也被分散到整個磁盤組中。
所需最小驅動器數量:3
優勢: 最多允許兩塊磁盤出現數據丟失。讀取性能優良。適用於全部關鍵性應用環境。
缺陷: 寫入性能不是非常理想。由於需要更新多個校驗信息,寫入性能甚至不及RAID 5。數據重建過程中性能下降明顯。

二、幾種不常見RAID等級

本部分介紹了通常在存儲架構中會出現的一些新型的RAID陣列:RAID 15、RAID 51和RAID 100,並解釋它們和我們日常使用的RAID陣列之間的差別。

要注意,這些RAID陣列儘管有很多優點,但是它們的造價也是非常昂貴的。我個人從來沒有在生產領域內見過它們其中任何一種陣列。在我的商店裏,有使用RAID 50的SAN,但是 這也是我能承受的極限了。

RAID 15 (奇偶位鏡像陣列,或者先進行RAID 1再進行RAID 5)

最大容量:[(磁盤數量/2)-1] x磁盤容量
描述:所需的驅動器數量(最少):6(要求磁盤數量爲偶數)
優點:你想要讓你的數據獲得真正的安全,完全不必擔憂磁盤故障嗎?可以試試RAID 15 或者RAID 51。它們都提供了超強的容錯能力。即使大量磁盤損壞的情況下仍然不會丟 失數據。但是容錯能力取決於出現故障的是哪一塊磁盤。如果你在每個鏡像組中損失一塊硬盤,系統仍然可以正常運轉。但是如果有四塊硬盤損壞了,而它們恰好是兩個鏡像組中 的四塊硬盤,你就會丟失整個RAID 5陣列中的數據。
缺點:在這種情況下,強大的容錯能力是以降低磁盤存儲空間效能爲代價的。如果你的陣列是由6塊硬盤組成的最小的RAID 15陣列,整個陣列存儲容量的66%都會被用於管理, 這就意味着你只能使用34%的存儲容量。隨着陣列中磁盤數量的增加,效能比例也會有所增加,但是永遠都不會達到50%。這是由陣列的結構決定的,也是因爲RAID硬件本身要耗佔 部分資源,這種模式造價昂貴,而且非常複雜,難以實施。

 

圖A:RAID 15在多塊硬盤出現故障的時候仍然能夠工作

RAID 51 (鏡像奇偶位陣列,或者先進行RAID 5再進行RAID 1)

最大容量:[(磁盤數量/2)-1]x磁盤容量
描述:需要的驅動器數量(最少):6(要求磁盤數量爲偶數)
優點:提供了非常強大的容錯能力。整個陣列甚至可以在損失了好幾塊硬盤的情況下仍然正常工作,當然,這也取決於損壞的是哪些硬盤。在由6塊硬盤組成的最小陣列中,你 最多可以損失4塊硬盤(一個RAID 5陣列中的全部磁盤和第二個RAID 5陣列中的一塊磁盤),還能夠保持系統正常運轉。
缺點:超強的容錯能力是以大量的管理空間和昂貴的支持爲代價的。

 

圖B:RAID 51被管理佔據了大量的空間

RAID 100 (RAID 10+0, 或者先進行RAID 10然後進行RAID 0)

最大容量:磁盤數量x 磁盤容量/2
描述:需要的驅動器數量(最低要求):6(要求磁盤數量爲偶數)
優點:RAID 100提供了非常優秀的隨機讀取性能。而且從理論上說,RAID 100陣列在50%的磁盤出現故障的時候仍然能夠工作,當然前提是故障磁盤不能位於同一RAID 1陣列上 。
缺點:具有和RAID 1同樣的缺點。和RAID 1一樣,RAID 1只有50%的效能。根據執行情況不同,寫性能可能不如其他RAID陣列,但是這還取決於你如何配置每個RAID 10和位於 頂層的RAID 0(硬件或者軟件)。

 

圖C:RAID 100能夠提供非常好的讀取性能

還有很多其他的RAID層,但其中絕大部分都是專有的,而且並沒有得到廣泛應用。在本系列文章中,我只介紹了你在真實世界裏最有可能遇到的一些RAID等級。

 

更多資料:網上搜索“讓我們談談RAID”,這篇文章對RAID內部的技術講的比較詳細。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章