【運維理論】RAID級別簡介

獨立硬盤冗餘陣列(RAID, Redundant Array of Independent Disks),舊稱廉價磁盤冗餘陣列(RAID, Redundant Array of Inexpensive Disks),簡稱硬盤陣列。由伯克利大學一位教授提出,其基本思想就是把多個相對便宜的硬盤組合起來,成爲一個硬盤陣列組,使性能達到甚至超過一個價格昂貴、容量巨大的硬盤。根據選擇的版本不一樣,RAID比單顆硬盤有如下一個或多個方面的好處:加強數據集成度,加強容錯功能,增長處理量或容量。但也有可能下降安全性、下降性能等多種缺點。另外,磁盤陣列對於計算機來講,看起來就像一個單獨的硬盤或邏輯存儲單元。根據不一樣的RAID級別,基礎RAID級別能夠分爲RAID-0,RAID-1,RAID-2,RAID-3,RAID-4,RAID-5,RAID-6,RAID-7(存儲計算機公司獨有技術),JBOD。根據基礎RAID級別,能夠進行進一步組合,實現使用者本身想要的方案。html

簡而言之,RAID就是針對硬盤提供一種虛擬化方案,將多個物理硬盤組合成一個邏輯硬盤,操做系統只會把這個邏輯硬盤看成「一個硬盤」。RAID常被用在服務器計算機上,而且使用徹底相同的硬盤做爲組合。因爲硬盤價格的不斷降低(機械硬盤,基於TLC和QLC的固態硬盤)而且RAID功能更多的集成到主板上,於是電腦組裝愛好者也熱衷於給本身的數據存儲模塊加入RAID技術。面試

加入RAID技術主要是爲了增長如下一項或多項功能:算法

1.增長數據可靠性安全

2.增長存儲器讀寫性能服務器

3.增長容量性能

如下依次介紹部分主流RAID基本級別。spa

1、RAID0 又稱Strip,條帶化模式操作系統

原理:數據交付給RAID控制單元,切割成若干條帶,並行寫入陣列3d

得失:理論上最高可提高讀寫速度爲原來N倍,存儲容量擴充爲單塊硬盤N倍,N爲陣列內硬盤個數,數據安全性下降爲原來的1/N,陣列內任意一塊硬盤故障,整個陣列崩潰!並且從實際狀況來看,因爲自己切割數據也須要耗費計算資源,因此實際讀寫提高將略小於理論值,而且會隨着硬盤個數增長而提高愈來愈少。htm

應用狀況:適用於對讀寫要求高,成本控制嚴格,安全性要求不高的場合,單獨RAID0筆者本人原來組準系統的時候用過,主要是爲了提高跑分好看。通常都是採用其餘組合的方案。

原理圖示:

2、RAID-1 又稱Mirror,鏡像模式

原理:數據交付給RAID控制單元,對陣列內全部磁盤寫入相同數據。讀取時,與RAID0相仿,能夠同時從陣列中全部可用硬盤內讀取所需數據。

得失:理論上數據安全性提高N倍,寫能力不受影響,讀取數據能力提高爲原來N倍(性能基準與單塊硬盤比較,N爲硬盤個數)。實際狀況中,數據安全性提高比率更大(要鏡像陣列中全部盤壞纔會定義爲崩潰,因此崩潰概率是相乘,會成倍減少),讀取數據能力提高不足N倍(受控制器影響,和控制策略算法影響),寫能力微弱降低(控制單元損耗)

應用狀況:適用於對數據安全性要求高,讀多寫極少的狀況,故也不適合單獨拿來大規模應用。

原理圖示:

3、RAID3 帶專用校驗盤的數據條帶

原理:數據交付給RAID控制單元,控制單元將向陣列中一塊固定的磁盤寫入校驗信息,同時將數據信息寫入其他磁盤。校驗信息爲異或值(Xor),若是任意一塊硬盤發生錯誤,那麼均可以經過其他磁盤信息異或後重建。

得失:當整個陣列健康時,可以提供接近RAID0的性能(倍數要排除掉校驗盤),同時提供必定的容災能力(容許一塊硬盤故障)。但一旦出現壞盤進入降級模式,每一次讀寫壞區塊的信息都要經過計算其他盤的內容,性能會大大降低

應用狀況:因爲RAID5可以更好的代替RAID3,因此基本上RAID3應用很少。

原理圖示:

4、RAID5 分散校驗盤的數據條帶

原理:校驗數據分佈在陣列中的全部磁盤上,而沒有采用專門的校驗磁盤。對於數據和校驗數據,它們的寫操做能夠同時發生在徹底不一樣的磁盤上。

得失:讀取速度接近RAID0(倍數要排除掉校驗盤),同時提供必定的容災能力(容許一塊硬盤故障)。但RAID5還提供良好的擴展性,磁盤數量增長,能提供更高的容量和更快的速度。固然,對替換盤重建數據時,性能依然會受到較大影響。RAID5 兼顧存儲性能、數據安全和存儲成本等各方面因素,它能夠理解爲 RAID0 和 RAID1 的折中方案,是目前綜合性能最佳的數據保護解決方案。 

應用狀況:RAID5 基本上能夠知足大部分的存儲應用需求,數據中心大多采用它做爲應用數據的保護方案。但實際的應用中,也一般不單使用RAID5,而是有其餘多種的組合方案。

原理圖示:

固然,還有其餘的諸如RAID2,RAID4,RAID6及7等非主流基本陣列模式,這種陣列模式通常商用產品都是不支持的,僅供理論瞭解,這裏也貼一篇很好的博文,供你們參考。

點擊這裏查看超級詳細的介紹RAID的一篇圖文!

5、RAID的常見基礎組合,raid10和raid01

原理:RAID10又稱RAID1+0,是先將買來的硬盤分紅兩組,作鏡像,再對每組硬盤作條帶化。而RAID01則偏偏相反,是先將買來的硬盤分紅兩組,作條帶化,再對每組硬盤作鏡像。

得失:在對每一個子組保持基本RAID等級的特性下,RAID10比RAID01有更好的容錯能力,可以容許多個子RAID1都有壞盤,只要不是一個RAID1組中硬盤所有壞掉就OK。然而RAID01只能容許在其中一個RAID0組中有壞盤。成組至少四塊硬盤,因爲都有RAID1,因此磁盤利用率50%

應用狀況:鑑於RAID10和01都至少四塊硬盤,而且磁盤利用率在徹底健康下都一致,基於RAID10數據更強的容災能力,於是主流的磁盤陣列產品都只支持RAID10。

原理圖示:

還有其餘更多的組合,但都不經常使用。讀者能夠在我以前貼出的那個連接裏去查閱,那篇文章很詳細。

看完我這篇文章,應付通常面試都是沒有問題的了。並且列舉的陣列模式都是經常使用/支持商業化的,因此你們也能夠靈活利用這些經常使用陣列,提高本身的硬盤效能和數據安全性。

Intel的SRT技術也能夠當作是RAID的一種,只不過是Intel獨有,這裏就不放在這裏介紹拉,有機會的話,我本身也會寫一篇博客。

感謝觀看。

相關文章
相關標籤/搜索