RAID技術詳解 – RAID0、RAID1、RAID5、RAID10和RAID01

概述

關於raid方面的內容很容易混淆,下面用幾張圖來幫助大家理解RAID0、RAID1、RAID5、RAID10之間的一些區別和聯繫。


1、常見的RAID級別介紹

1.1 RAID0 等級

Striped Disk Array without Fault Tolerance( 沒有容錯設計的條帶磁盤陣列)

RAID0 是一種簡單的、無數據校驗的數據條帶化技術。實際上不是一種真正的 RAID ,因為它並不提供任何形式的冗餘策略。 RAID0 將所在磁盤條帶化後組成大容量的存儲空間(如圖所示),將數據分散存儲在所有磁盤中,以獨立訪問方式實現多塊磁盤的並讀訪問。由於可以併發執行 I/O 操作,總線帶寬得到充分利用。再加上不需要進行數據校驗,RAID0 的性能在所有 RAID 等級中是最高的。理論上講,一個由 n 塊磁盤組成的 RAID0 ,它的讀寫性能是單個磁盤性能的 n 倍,但由於總線帶寬等多種因素的限制,實際的性能提升低於理論值。

RAID0 具有低成本、高讀寫性能、 100% 的高存儲空間利用率等優點,但是它不提供數據冗餘保護,一旦數據損壞,將無法恢復。 因此, RAID0 一般適用於對性能要求嚴格但對數據安全性和可靠性不高的應用,如視頻、音頻存儲、臨時數據緩存空間等。

RAID技術詳解 – RAID0、RAID1、RAID5、RAID10和RAID01

無冗錯的數據條帶

1.2 RAID1 等級

Mirroring and Duplexing (相互鏡像)

RAID1 稱為鏡像,它將數據完全一致地分別寫到工作磁盤和鏡像 磁盤,它的磁盤空間利用率為 50% 。 RAID1 在數據寫入時,響應時間會有所影響,但是讀數據的時候沒有影響。 RAID1 提供了最佳的數據保護,一旦工作磁盤發生故障,系統自動從鏡像磁盤讀取數據,不會影響用戶工作。

RAID1 與 RAID0 剛好相反,是為了增強數據安全性使兩塊 磁盤數據呈現完全鏡像,從而達到安全性好、技術簡單、管理方便。 RAID1 擁有完全容錯的能力,但實現成本高。 RAID1 應用於對順序讀寫性能要求高以及對數據保護極為重視的應用,如對郵件系統的數據保護。

RAID技術詳解 – RAID0、RAID1、RAID5、RAID10和RAID01

無校驗的相互鏡像

1.3 RAID5 等級

Independent Data disks with distributed parity blocks (獨立的數據磁盤與分佈式校驗塊)

RAID5 應該是目前最常見的 RAID 等級,它的原理與 RAID4 相似,區別在於校驗數據分佈在陣列中的所有磁盤上,而沒有采用專門的校驗磁盤。對於數據和校驗數據,它們的寫操作可以同時發生在完全不同的磁盤上。因此, RAID5 不存在 RAID4 中的併發寫操作時的校驗盤性能瓶頸問題。另外, RAID5 還具備很好的擴展性。當陣列磁盤 數量增加時,並行操作量的能力也隨之增長,可比 RAID4 支持更多的磁盤,從而擁有更高的容量以及更高的性能。

RAID5 的磁盤上同時存儲數據和校驗數據,數據塊和對應的校驗信息存保存在不同的磁盤上,當一個數據盤損壞時,系統可以根據同一條帶的其他數據塊和對應的校驗數據來重建損壞的數據。與其他 RAID 等級一樣,重建數據時, RAID5 的性能會受到較大的影響。

RAID5 兼顧存儲性能、數據安全和存儲成本等各方面因素,它可以理解為 RAID0 和 RAID1 的折中方案,是目前綜合性能最佳的數據保護解決方案。 RAID5 基本上可以滿足大部分的存儲應用需求,數據中心大多采用它作為應用數據的保護方案。

RAID技術詳解 – RAID0、RAID1、RAID5、RAID10和RAID01

帶分散校驗的數據條帶

1.4 RAID10和RAID01 等級

Very High Reliability combined with High Performance (高可靠性與高性能的組合)

RAID10是先做鏡象,然後再做條帶。

RAID01是先做條帶,然後再做鏡象。

相同的配置下,通常 RAID01 比 RAID10 具有更好的容錯能力。

RAID01 兼備了 RAID0 和 RAID1 的優點,它先用兩塊磁盤建立鏡像,然後再在鏡像內部做條帶化。 RAID01 的數據將同時寫入到兩個磁盤陣列中,如果其中一個陣列損壞,仍可繼續工作,保證數據安全性的同時又提高了性能。 RAID01 和 RAID10 內部都含有 RAID1 模式,因此整體磁盤利用率均僅為 50% 。

RAID技術詳解 – RAID0、RAID1、RAID5、RAID10和RAID01

RAID 10模型

RAID技術詳解 – RAID0、RAID1、RAID5、RAID10和RAID01

RAID 01模型


2、關鍵技術

2.1 鏡像

鏡像是一種冗餘技術,為磁盤提供保護功能,防止磁盤發生故障而造成數據丟失。對於 RAID 而言,採用鏡像技術 典型地 將會同時在陣列中產生兩個完全相同的數據副本,分佈在兩個不同的磁盤驅動器組上。鏡像提供了完全的數據冗餘能力,當一個數據副本失效不可用時,外部系統仍可正常訪問另一副本,不會對應用系統運行和性能產生影響。而且,鏡像不需要額外的計算和校驗,故障修復非常快,直接複製即可。鏡像技術可以從多個副本進行併發讀取數據,提供更高的讀 I/O 性能,但不能並行寫數據,寫多個副本會會導致一定的 I/O 性能降低。

鏡像技術提供了非常高的數據安全性,其代價也是非常昂貴的,需要至少雙倍的存儲空間。高成本限制了鏡像的廣泛應用,主要應用於至關重要的數據保護,這種場合下數據丟失會造成巨大的損失。另外,鏡像通過“ 拆分 ”能獲得特定時間點的上數據快照,從而可以實現一種備份窗口幾乎為零的數據備份技術。

2.2 數據條帶

磁盤存儲的性能瓶頸在於磁頭尋道定位,它是一種慢速機械運動,無法與高速的 CPU 匹配。再者,單個磁盤驅動器性能存在物理極限, I/O 性能非常有限。 RAID 由多塊磁盤組成,數據條帶技術將數據以塊的方式分佈存儲在多個磁盤中,從而可以對數據進行併發處理。這樣寫入和讀取數據就可以在多個磁盤上同時進行,併發產生非常高的聚合 I/O ,有效提高了整體 I/O 性能,而且具有良好的線性擴展性。這對大容量數據尤其顯著,如果不分塊,數據只能按順序存儲在磁盤陣列的磁盤上,需要時再按順序讀取。而通過條帶技術,可獲得數倍與順序訪問的性能提升。

數據條帶技術的分塊大小選擇非常關鍵。條帶粒度可以是一個字節至幾 KB 大小,分塊越小,並行處理能力就越強,數據存取速度就越高,但同時就會增加塊存取的隨機性和塊尋址時間。實際應用中,要根據數據特徵和需求來選擇合適的分塊大小,在數據存取隨機性和併發處理能力之間進行平衡,以爭取儘可能高的整體性能。

數據條帶是基於提高 I/O 性能而提出的,也就是說它只關注性能, 而對數據可靠性、可用性沒有任何改善。實際上,其中任何一個數據條帶損壞都會導致整個數據不可用,採用數據條帶技術反而增加了數據發生丟失的概念率。

2.3 數據校驗

鏡像具有高安全性、高讀性能,但冗餘開銷太昂貴。數據條帶通過併發性來大幅提高性能,然而對數據安全性、可靠性未作考慮。數據校驗是一種冗餘技術,它用校驗數據來提供數據的安全,可以檢測數據錯誤,並在能力允許的前提下進行數據重構。相對鏡像,數據校驗大幅縮減了冗餘開銷,用較小的代價換取了極佳的數據完整性和可靠性。數據條帶技術提供高性能,數據校驗提供數據安全性, RAID 不同等級往往同時結合使用這兩種技術。

採用數據校驗時, RAID 要在寫入數據同時進行校驗計算,並將得到的校驗數據存儲在 RAID 成員磁盤中。校驗數據可以集中保存在某個磁盤或分散存儲在多個不同磁盤中,甚至校驗數據也可以分塊,不同 RAID 等級實現各不相同。當其中一部分數據出錯時,就可以對剩餘數據和校驗數據進行反校驗計算重建丟失的數據。校驗技術相對於鏡像技術的優勢在於節省大量開銷,但由於每次數據讀寫都要進行大量的校驗運算,對計算機的運算速度要求很高,必須使用硬件 RAID 控制器。在數據重建恢復方面,檢驗技術比鏡像技術複雜得多且慢得多。

海明校驗碼和 異或校驗是兩種最為常用的 數據校驗算法。海明校驗碼是由理查德.海明提出的,不僅能檢測錯誤,還能給出錯誤位置並自動糾正。海明校驗的基本思想是:將有效信息按照某種規律分成若干組,對每一個組作奇偶測試並安排一個校驗位,從而能提供多位檢錯信息,以定位錯誤點並糾正。可見海明校驗實質上是一種多重奇偶校驗。異或校驗通過異或邏輯運算產生,將一個有效信息與一個給定的初始值進行異或運算,會得到校驗信息。如果有效信息出現錯誤,通過校驗信息與初始值的異或運算能還原正確的有效信息。


3、RAID 應用選擇

RAID 等級的選擇主要有三個因素,即數據可用性、 I/O 性能和成本。 目前,在實際應用中常見的主流 RAID 等級是 RAID0 , RAID1 , RAID3 , RAID5 , RAID6 和 RAID10 ,它們之間的技術對比情況如表 1 所示。如果不要求可用性,選擇 RAID0 以獲得高性能。如果可用性和性能是重要的,而成本不是一個主要因素,則根據磁盤數量選擇 RAID1 。如果可用性,成本和性能都同樣重要,則根據一般的數據傳輸和磁盤數量選擇 RAID3 或 RAID5 。在實際應用中,應當根據用戶的數據應用特點和具體情況,綜合考慮可用性、性能和成本來選擇合適的 RAID 等級。

RAID技術詳解 – RAID0、RAID1、RAID5、RAID10和RAID01

主流RAID等級對比

用戶選擇 RAID 的原則是:在成本預算內,滿足數據存儲需求的前提下,選擇最優的存儲廠商解決方案。因此,首先用戶需要對存儲需求作深入的調研和分析,並給出成本預算,然後對眾多存儲廠商的解決方案進行分析和對比,最後選擇出一個綜合最優的存儲方案。其中,存儲產品的擴展性和存儲廠家的售後服務需要重點考察,存儲需求(如容量、性能)可能會不斷升級,存儲產品發生故障後的維修和支持保障,這些都要未雨先繆。


篇幅有限,關於raid方面的內容就介紹到這了,大家可以做個基本瞭解,其中的一些區別和原理,然後什麼時候用RAID5,什麼時候用RAID10有個底就可以了。

後面會分享更多運維方面的內容,感興趣的朋友可以關注下!!

RAID技術詳解 – RAID0、RAID1、RAID5、RAID10和RAID01


分享到:


相關文章: