由於重建故障磁盤時存在不可恢復讀取錯誤 (URE) 的威脅,如今很少使用 RAID 5。畢竟,一個 URE 可能會導致整個陣列出現故障。
通常建議使用 RAID 6 或 RAID 10 作為更安全的替代方案。但是,與 RAID 5 相比,這些 RAID 級別有一些缺點。隨著 RAID 陣列的規模越來越大,它們有時也可能不夠用。
那麼,RAID 5 現在是否值得使用?或者你應該總是選擇更高的級別,比如 RAID 10,儘管它們有缺點?我們將在本文中嘗試回答此類查詢。
什麼是 RAID 5?
RAID 5 是一種標準的 RAID 級別,可在整個陣列中對塊大小的數據塊進行條帶化。它使用一個磁盤空間來存儲分佈在整個陣列中的奇偶校驗數據。因此,RAID 5 提供了一切(性能、容錯、存儲容量)的良好組合。
優點:出色的可用存儲適用於讀取密集型工作負載缺點: 寫入性能較差 只能承受一個磁盤故障 重建時間長
什麼是 RAID 10?
RAID 10,或技術上的 RAID 1+0,是一個嵌套的 RAID 級別。它將 RAID 1(僅鏡像)組合為第一層,將 RAID 0(僅條帶化)組合為第二層。因此,它也稱為鏡像條帶。
與 RAID 5 一樣,RAID 10 也在塊級別對數據塊進行條帶化。但是它使用鏡像而不是奇偶校驗計算來實現容錯。與萬事通的 RAID 5 不同,RAID 10 將性能和冗餘置於存儲效率之上。
優點: 出色的寫入性能 可以處理多個磁盤故障 缺點: 只有 50% 的可用存儲空間較大的 RAID 10 陣列價格昂貴
RAID 5 與 RAID 10 – 主要差異
RAID 5 和 RAID 10 在顯著方面存在差異,主要差異在於它們如何提供容錯,以及提供多大程度的容錯。
容錯
RAID 5 通過對每個字節的數據進行異或運算來計算奇偶校驗信息。它將此奇偶校驗數據分佈在整個陣列中,使其占用一個磁盤的整體空間。
如果陣列中的磁盤發生故障並需要更換,則此奇偶校驗數據以及當前可用的磁盤,可用於重建丟失的數據。由於這一點,RAID 5 陣列可以承受一個磁盤故障。
RAID 10 使用鏡像而不是奇偶校驗計算來提供容錯。由於較低層是鏡像磁盤對 (RAID 1),每個 RAID 1 陣列最多可以承受 1 個磁盤故障。總的來說,這意味著 RAID 10 的容錯級別變化很大。
假設您有一個 12 磁盤 RAID 10 陣列。您的陣列最多可以處理 6 個並發磁盤故障,或者它可能會因為同一 RAID 1 陣列中的兩個磁盤都發生故障而發生故障。在最好的情況下,RAID 10 的容錯能力是無與倫比的。在最壞的情況下,它與 RAID 5 相同。
即使只有一個磁盤發生故障,RAID 10 在重建時往往表現更好,尤其是對於較大的陣列。這是因為 RAID 5 需要從陣列中的所有磁盤讀取數據,而 RAID 10 只處理一個鏡像對。
讀/寫性能
讀取和寫入速度通常取決於您的工作負載情況。 RAID 10 可以更好地處理隨機 I/O,因為它有兩個相同的數據集可供使用,這有助於減少尋道時間。
雖然對於順序 I/O,RAID 5 提供了相當的性能。對於讀取密集型工作負載,我們甚至見過 RAID 5 性能更好的案例。但寫性能是另一回事。
RAID 5 為每個數據條帶計算並寫入一個奇偶校驗塊。這種開銷會導致寫入性能下降。 RAID 10 技術上由於鏡像需要寫入兩次數據,但由於寫入是在兩個不同的驅動器上並行進行,因此沒有開銷。
因此,RAID 10 在寫入性能方面勝出,即使
最小磁盤數
RAID 5 至少需要兩個磁盤用於條帶化和一個磁盤空間來存儲奇偶校驗數據。這意味著任何 RAID 5 陣列至少需要 3 個磁盤。除此之外,您可以根據需要添加任意數量的磁盤。
RAID 10 條帶鏡像對,這意味著您需要的磁盤總數為偶數。此外,標準的 RAID 10 陣列至少需要 4 個磁盤(兩個用於鏡像,另外兩個用於對鏡像陣列進行條帶化)。一些非標準的實現,如 Linux MD 確實支持 RAID 10,儘管只有 2 個磁盤。
可用存儲
RAID 5 陣列只為奇偶校驗數據保留一個磁盤空間.這對於冗餘來說不是很好,但出於同樣的原因,它在存儲效率方面非常出色。對於更大的 RAID 5 陣列,這種說法更加真實。
RAID 10 正好相反。由於它使用鏡像對,只有總存儲量的 50% 可用,其餘部分用於冗餘。對於大型陣列,這會導致大量的不可用空間。但出於同樣的原因,您還可能獲得無與倫比的容錯能力。
RAID 5 和 RAID 10 有何相似之處?
我們已經介紹了 RAID 5 和 RAID 之間的主要區別10,但也有一些相似之處適用於它們。對於初學者,您可以使用硬件或軟件方式實現這兩種方法。
設置這些 RAID 級別中的任何一個時,您應該使用相同大小的磁盤以最大化可用存儲空間。使用混合大小的磁盤會導致瓶頸,如下所示。
此外,無論您選擇哪個特定級別,定期磁盤清理都會顯著提高 RAID 設置的可靠性for.
您應該使用 RAID 5 嗎?
RAID 5 的存儲效率非常高,進而也具有成本效益。這使其成為小規模或個人使用的不錯選擇。 RAID 5 可以很好地處理順序工作負載,只要它不是過度的 I/O 密集型。這使其適用於媒體服務器、文件服務器和備份等應用。
當您需要設置大型陣列時,它也是一種經濟高效的解決方案。但隨著 RAID 5 的可靠性隨著規模的增加而降低,您需要權衡利弊才能做出決定。
RAID 10 何時更好?
用於大量寫入和 I/O 密集型工作負載, RAID 10 是更好的選擇。它非常常用於 SQL 服務器。除了數據庫服務器,它還適用於電子郵件服務器、Web 服務器等。
如果安全和性能是首要任務,RAID 10 是一個很好的選擇。但由於只有一半的存儲空間可用,因此設置大型 RAID 10 陣列可能是一項代價高昂的考驗。與 RAID 5 一樣,您需要根據您的主要需求和預算做出決定。
最終結論 – RAID 5 與 RAID 10
比較 RAID 5 和 RAID 10 ,一個並不普遍比另一個好或壞。它更多地與您計劃使用 RAID 設置的目的有關。一般來說,RAID 5 對於大多數人來說是一個全面且易於使用的選項。當數據可用性和性能是主要優先事項時,RAID 10 會更好。
無論您選擇哪種方式,請記住 RAID 的目的是確保正常運行時間。 RAID !=備份。
在使用 RAID 時,良好的做法可以最大限度地減少數據丟失的可能性,但即使使用任何“更安全”的 RAID 實施,數據丟失也始終是可能的。單獨的外部備份(最好是異地備份)是對此的最佳保護。
回顧一下,RAID 5 與 RAID 10 之間的主要區別如下:
RAID 5 RAID 10Fault Tolerance可以承受一個磁盤故障。可以承受陣列中一到一半的磁盤故障。性能不錯具有順序 I/O 的讀取性能。出色的寫入性能和可比的讀取性能。磁盤數量至少需要 3 個磁盤。至少需要 4 個磁盤。可用存儲奇偶校驗數據佔用相當於一個磁盤的空間。總體上只有50%的存儲可用。