磁碟陣列RAID原理、種類及效能優缺點對比
磁碟陣列(Redundant Arrays of Independent Disks,RAID)
1. 儲存的資料一定分片;
2. 分基於軟體的軟RAID(如mdadm)和基於硬體的硬RAID(如RAID卡);
3. RAID卡如同網絡卡一樣有整合板載的也有獨立的(PCI-e),一般獨立RAID卡效能相對較好,淘寶一搜便可看到他們的原形;
4. 現在基本上伺服器都原生硬體支援幾種常用的RAID;
5. 當然還有更加高大上的專用於儲存的磁碟陣列櫃產品,有專用儲存技術,規格有如12/24/48盤一櫃等,盤可選機械/固態,3.5/2.5寸等。
|
|||||||||
級別 |
特徵 |
原理 |
單元 |
冗餘 |
效能 |
利用率 |
最多壞 |
用途 |
缺陷 |
RAID0 |
條帶 |
分片分散存入2塊硬碟 |
2 |
否 |
讀寫速度2倍 |
100% |
0/2 |
SWAP/TMP |
不冗餘,資料難恢復 |
RAID1 |
映象 |
相同資料存入2塊硬碟 |
2 | 是 |
寫速度不變 讀速度2倍 |
50% |
1/2 |
資料備份 |
讀寫速度沒加,利用率低 |
RAID4 |
校驗 |
分片分散存入2塊硬碟 校驗碼存入第3塊硬碟 |
3 |
是 |
讀寫速度2倍 |
2/3=66% |
1/3 |
用的很少 |
1. 壞盤時另外2塊需要重新計算還原壞盤資料 2. 校驗碼盤壓力大成為瓶頸 |
RAID5 |
校驗 |
分片和校驗碼混合儲存 |
3 |
是 |
讀寫速度2倍 |
2/3=66% |
1/3 |
用的不多 |
壞盤時另外2塊需要重新計算還原壞盤資料 |
RAID6 |
校驗 |
分片盤校驗碼盤分別2個 資料分片校驗碼計算2次 |
4 |
是 |
讀寫速度2倍 |
2/4 |
2/4 1∈2 |
用的很少 |
“部隊中有一半是搞後勤的,感覺還是不太爽。” |
RAID10 |
1+0 |
2塊硬碟1組先做RAID1 多組RAID1再做RAID0 |
4 |
是 |
讀寫速度N倍 N為組數 |
2/4 |
2/4 1∈2 |
用的最多 |
- |
RAID50 |
5+0 |
3塊硬碟1組先做RAID5 多組再做RAID0 |
6 |
是 |
讀寫數讀2N倍 N為組數 |
4/6 |
2/6 1∈3 |
土豪用的 |
“好是好,就是貴!”
|
近來想建立一個私有云系統,涉及到安裝使用一臺網路儲存伺服器。對於伺服器中硬碟的連線,選用哪種RAID模式能準確滿足需求收集了資料,簡單整理後記錄如下:
一、RAID模式優缺點的簡要介紹
目前被運用較多的RAID模式其優缺點大致是這樣的:
1、RAID0模式
優點:在RAID 0狀態下,儲存資料被分割成兩部分,分別儲存在兩塊硬碟上,此時行動硬碟的理論儲存速度是單塊硬碟的2倍,實際容量等於兩塊硬碟中較小一塊硬碟的容量的2倍。
缺點:任何一塊硬碟發生故障,整個RAID上的資料將不可恢復。
備註:儲存高清電影比較適合。
2、RAID1模式
優點:此模式下,兩塊硬碟互為映象。當一個硬碟受損時,換上一塊全新硬碟(大於或等於原硬碟容量)替代原硬碟即可自動恢復資料和繼續使用,行動硬碟的實際容量等於較小一塊硬碟的容量,儲存速度與單塊硬碟相同。RAID 1的優勢在於任何一塊硬碟出現故障是,所儲存的資料都不會丟失。
缺點:該模式可使用的硬碟實際容量比較小,僅僅為兩顆硬碟中最小硬碟的容量。
備註:非常重要的資料,如資料庫,個人資料,是萬無一失的儲存方案。
3、RAID 0+1模式
RAID 0+1是磁碟分段及映象的結合,採用2組RAID0的磁碟陣列互為映象,它們之間又成為一個RAID1的陣列。硬碟使用率只有50%,但是提供最佳的速度及可靠度。
4、RAID 3模式
RAID3是把資料分成多個“塊”,按照一定的容錯演算法,存放在N+1個硬碟上,實際資料佔用的有效空間為N個硬碟的空間總和,而第N+1個硬碟儲存的資料是校驗容錯資訊,當這N+1個硬碟中的其中一個硬碟出現故障時,從其它N個硬碟中的資料也可以恢復原始資料。
5、RAID 5模式
RAID5不對儲存的資料進行備份,而是把資料和相對應的奇偶校驗資訊儲存到組成RAID5的各個磁碟上,並且奇偶校驗資訊和相對應的資料分別儲存於不同的磁碟上。當RAID5的一個磁碟資料發生損壞後,利用剩下的資料和相應的奇偶校驗資訊去恢復被損壞的資料。
6、RAID 10模式
RAID10最少需要4塊硬碟才能完成。把2塊硬碟組成一個RAID1,然後兩組RAID1組成一個RAID0。雖然RAID10方案造成了50%的磁碟浪費,但是它提供了200%的速度和單磁碟損壞的資料安全性。
二、另外三種硬體快速硬體設定模式簡介
在收集資料時看到有的硬體裝置提供快速磁碟模式設定,也很方便大家的使用,具體情況如下:
1、Clone模式
克隆模式,磁碟全部資料一樣,以最小硬碟的為準。
2、Large模式
硬碟容量簡單相加,將幾個硬碟變成一個硬碟,容量為幾個硬碟容量之和,此模式下可以獲得最大的硬碟空間。
3、Normal模式
硬碟分別處於正常、獨立的狀態,可以分別獨立的寫入或讀取資料,能使用的實際容量分別為4個硬碟的容量。如果其中一個硬碟受損,其他幾個硬碟不會受影響。
三、RAID使用簡明注意事項
★使用前請先備份硬碟的資料,一旦進行RAID設定或是變更RAID模式,將會清除硬盤裡的所有資料,以及無法恢復;
★建立RAID時,建議使用相同品牌、型號和容量的硬碟,以確保效能和穩定;
★請勿隨意更換或取出硬碟,如果取出了硬碟,請記下硬碟放入兩個倉位的順序不得更改,以及請勿只插入某一塊硬碟使用,以避免造成資料損壞或丟失;
★如果舊硬碟曾經在RAID模式下使用,請先進清除硬碟RAID資訊,讓硬盤迴復至出廠狀態,以免RAID建立失敗;
★RAID0模式下,其中一個硬碟損壞時,其它硬碟所有資料都將丟失;
★RAID1模式下,如果某一塊硬碟受損,可以用一塊大於或等於受損硬碟容量的新硬碟替換壞硬碟然後開機即可自動恢復和修復資料以及RAID模式。此過程需要一定時間,請耐心等待
四、細數RAID模式
1、概念
磁碟陣列(Redundant Arrays of Inexpensive Disks,RAID),有“價格便宜且多餘的磁碟陣列”之意。原理是利用陣列方式來作磁碟組,配合資料分散排列的設計,提升資料的安全性。磁碟陣列是由很多便宜、容量較小、穩定性較高、速度較慢磁碟,組合成一個大型的磁碟組,利用個別磁碟提供資料所產生加成效果提升整個磁碟系統效能。同時利用這項技術,將資料切割成許多區段,分別存放在各個硬碟上。磁碟陣列還能利用同位檢查(Parity Check)的觀念,在陣列中任一顆硬碟故障時,仍可讀出資料,在資料重構時,將資料經計算後重新置入新硬碟中。
2、規範
RAID技術主要包含RAID 0~RAID 50等數個規範,它們的側重點各不相同,常見的規範有如下幾種:
RAID 0:RAID 0連續以位或位元組為單位分割資料,並行讀/寫於多個磁碟上,因此具有很高的資料傳輸率,但它沒有資料冗餘,因此並不能算是真正的RAID結構。RAID 0只是單純地提高效能,並沒有為資料的可靠性提供保證,而且其中的一個磁碟失效將影響到所有資料。因此,RAID 0不能應用於資料安全性要求高的場合。
RAID 1:它是通過磁碟資料映象實現資料冗餘,在成對的獨立磁碟上產生互為備份的資料。當原始資料繁忙時,可直接從映象拷貝中讀取資料,因此RAID 1可以提高讀取效能。RAID 1是磁碟陣列中單位成本最高的,但提供了很高的資料安全性和可用性。當一個磁碟失效時,系統可以自動切換到映象磁碟上讀寫,而不需要重組失效的資料。
RAID 0+1: 也被稱為RAID 10標準,實際是將RAID 0和RAID 1標準結合的產物,在連續地以位或位元組為單位分割資料並且並行讀/寫多個磁碟的同時,為每一塊磁碟作磁碟映象進行冗餘。它的優點是同時擁有RAID 0的超凡速度和RAID 1的資料高可靠性,但是CPU佔用率同樣也更高,而且磁碟的利用率比較低。
RAID 2:將資料條塊化地分佈於不同的硬碟上,條塊單位為位或位元組,並使用稱為“加重平均糾錯碼(海明碼)”的編碼技術來提供錯誤檢查及恢復。這種編碼技術需要多個磁碟存放檢查及恢復資訊,使得RAID 2技術實施更復雜,因此在商業環境中很少使用。
RAID 3:它同RAID 2非常類似,都是將資料條塊化分佈於不同的硬碟上,區別在於RAID 3使用簡單的奇偶校驗,並用單塊磁碟存放奇偶校驗資訊。如果一塊磁碟失效,奇偶盤及其他資料盤可以重
新產生資料;如果奇偶盤失效則不影響資料使用。RAID 3對於大量的連續資料可提供很好的傳輸率,但對於隨機資料來說,奇偶盤會成為寫操作的瓶頸。
RAID 4:RAID 4同樣也將資料條塊化並分佈於不同的磁碟上,但條塊單位為塊或記錄。RAID 4使用一塊磁碟作為奇偶校驗盤,每次寫操作都需要訪問奇偶盤,這時奇偶校驗盤會成為寫操作的瓶頸,因此RAID 4在商業環境中也很少使用。
RAID 5:RAID 5不單獨指定的奇偶盤,而是在所有磁碟上交叉地存取資料及奇偶校驗資訊。在RAID 5上,讀/寫指標可同時對陣列裝置進行操作,提供了更高的資料流量。RAID 5更適合於小資料塊和隨機讀寫的資料。RAID 3與RAID 5相比,最主要的區別在於RAID 3每進行一次資料傳輸就需涉及到所有的陣列盤;而對於RAID 5來說,大部分資料傳輸只對一塊磁碟操作,並可進行並行操作。在RAID 5中有“寫損失”,即每一次寫操作將產生四個實際的讀/寫操作,其中兩次讀舊的資料及奇偶資訊,兩次寫新的資料及奇偶資訊。
RAID 6:與RAID 5相比,RAID 6增加了第二個獨立的奇偶校驗資訊塊。兩個獨立的奇偶系統使用不同的演算法,資料的可靠性非常高,即使兩塊磁碟同時失效也不會影響資料的使用。但RAID 6需要分配給奇偶校驗資訊更大的磁碟空間,相對於RAID 5有更大的“寫損失”,因此“寫效能”非常差。較差的效能和複雜的實施方式使得RAID 6很少得到實際應用。
RAID 7:這是一種新的RAID標準,其自身帶有智慧化實時作業系統和用於儲存管理的軟體工具,可完全獨立於主機執行,不佔用主機CPU資源。RAID 7可以看作是一種儲存計算機(Storage Computer),它與其他RAID標準有明顯區別。除了以上的各種標準(如表1),我們可以如RAID 0+1那樣結合多種RAID規範來構築所需的RAID陣列,例如RAID 5+3(RAID 53)就是一種應用較為廣泛的陣列形式。使用者一般可以通過靈活配置磁碟陣列來獲得更加符合其要求的磁碟儲存系統。
RAID 5E(RAID 5 Enhencement): RAID 5E是在RAID 5級別基礎上的改進,與RAID 5類似,資料的校驗資訊均勻分佈在各硬碟上,但是,在每個硬碟上都保留了一部分未使用的空間,這部分空間沒有進行條帶化,最多允許兩塊物理硬碟出現故障。看起來,RAID 5E和RAID 5加一塊熱備盤好象差不多,其實由於RAID 5E是把資料分佈在所有的硬碟上,效能會比RAID5 加一塊熱備盤要好。當一塊硬碟出現故障時,有故障硬碟上的資料會被壓縮到其它硬碟上未使用的空間,邏輯盤保持RAID 5級別。
RAID 5EE: 與RAID 5E相比,RAID 5EE的資料分佈更有效率,每個硬碟的一部分空間被用作分佈的熱備盤,它們是陣列的一部分,當陣列中一個物理硬碟出現故障時,資料重建的速度會更快。
RAID 50:RAID50是RAID5與RAID0的結合。此配置在RAID5的子磁碟組的每個磁碟上進行包括奇偶資訊在內的資料的剝離。每個RAID5子磁碟組要求三個硬碟。RAID50具備更高的容錯能力,因為它允許某個組內有一個磁碟出現故障,而不會造成資料丟失。而且因為奇偶位分部於RAID5子磁碟組上,故重建速度有很大提高。優勢:更高的容錯能力,具備更快資料讀取速率的潛力。需要注意的是:磁碟故障會影響吞吐量。故障後重建資訊的時間比映象配置情況下要長。
3、優點
提高傳輸速率。RAID通過在多個磁碟上同時儲存和讀取資料來大幅提高儲存系統的資料吞吐量(Throughput)。在RAID中,可以讓很多磁碟驅動器同時傳輸資料,而這些磁碟驅動器在邏輯上又是一個磁碟驅動器,所以使用RAID可以達到單個磁碟驅動器幾倍、幾十倍甚至上百倍的速率。這也是RAID最初想要解決的問題。因為當時CPU的速度增長很快,而磁碟驅動器的資料傳輸速率無法大幅提高,所以需要有一種方案解決二者之間的矛盾。RAID最後成功了。
通過資料校驗提供容錯功能。普通磁碟驅動器無法提供容錯功能,如果不包括寫在磁碟上的CRC(迴圈冗餘校驗)碼的話。RAID容錯是建立在每個磁碟驅動器的硬體容錯功能之上的,所以它提供更高的安全性。在很多RAID模式中都有較為完備的相互校驗/恢復的措施,甚至是直接相互的映象備份,從而大大提高了RAID系統的容錯度,提高了系統的穩定冗餘性。
4、實現
磁碟陣列有兩種方式可以實現,那就是“軟體陣列”與“硬體陣列”。
軟體陣列是指通過網路作業系統自身提供的磁碟管理功能將連線的普通SCSI卡上的多塊硬碟配置成邏輯盤,組成陣列。軟體陣列可以提供資料冗餘功能,但是磁碟子系統的效能會有所降低,有的降低幅度還比較大,達30%左右。
硬體陣列是使用專門的磁碟陣列卡來實現的。硬體陣列能夠提供線上擴容、動態修改陣列級別、自動資料恢復、驅動器漫遊、超高速緩衝等功能。它能提供效能、資料保護、可靠性、可用性和可管理性的解決方案。陣列卡專用的處理單元來進行操作,它的效能要遠遠高於常規非陣列硬碟,並且更安全更穩定。
磁碟陣列其實也分為軟陣列 (Software Raid)和硬陣列 (Hardware Raid) 兩種. 軟陣列即通過軟體程式並由計算機的 CPU提供執行能力所成. 由於軟體程式不是一個完整系統故只能提供最基本的 RAID容錯功能. 其他如熱備用硬碟的設定, 遠端管理等功能均一一欠奉. 硬陣列是由獨立操作的硬體提供整個磁碟陣列的控制和計算功能. 不依靠系統的CPU資源.
由於硬陣列是一個完整的系統, 所有需要的功能均可以做進去. 所以硬陣列所提供的功能和效能均比軟陣列好. 而且, 如果你想把系統也做到磁碟陣列中, 硬陣列是唯一的選擇. 故我們可以看市場上 RAID 5 級的磁碟陣列均為硬陣列. 軟 陣列只適用於 Raid 0 和 Raid 1. 對於我們做映象用的映象塔, 肯定不會用 Raid 0或 Raid 1。作為高效能的儲存系統,已經得到了越來越廣泛的應用。RAID的級別從RAID概念的提出到現在,已經發展了六個級別,其級別分別是0、1、2、3、4、5等。但是最常用的是0、1、3、5四個級別。
五、個人使用者該選那種RAID模式
首先要分析清楚,我們需要儲存的檔案有什麼樣的屬性。這其中需要大量儲存的和佔用儲存量大的檔案是兩回事兒。
從使用角度粗略分,個人需要儲存的檔案大致有文字檔案、照片錄影、影音檔案、應用程式等。
1、文字檔案:大量長期存放,階段性更新,但其佔用空間小,安全性要求個別較高,大部分一般;
2、照片錄影:大量長期存放,永久性記錄,佔用空間大,安全性要求高,一旦損失很難彌補;
3、影音檔案:一部分大量長期存放,一部分大量短期存放,階段性更新,佔用空間大,安全性要求一般,即便損失了,也可以再從網路上下載恢復;
4、應用程式:這其中包括一些軟體和硬體的驅動等,對於軟體,目前基本可以從網路上獲得,驅動程式有時需要預先備份,安裝裝置時隨時可用,屬於量少但要長期存放的,階段性更新,安全性要求一般。
看看自己需要對哪種型別的檔案進行儲存,再選擇自己需要的RAID模式即可。
本人的照片和私人錄影資料較多,平時喜歡收集APE等無損格式的音樂檔案,對於個人來說這都是至寶,不可有所損失,再有就是一些硬體的驅動程式,相對比較重要,另外會編輯少量的個人檔案,階段性比較重要,最後是影片,看完也就刪除了,不太重要。而照片錄影和無損音樂佔用的空間又是巨大的,安全性要求又很高,權衡後,在節約資金確保安全的前提下,準備購置五塊大容量硬碟,組成NAS儲存伺服器,選擇RAID5模式。
順便說,購置五快硬碟的原因還有一個,就是我使用的是老機箱改造NAS伺服器,市面上有3轉5的硬碟籠子可以簡單將原有的3個光碟機位變成5塊硬碟的儲存位,考慮到家用儲存8T的容量已經足夠了,10T基本上可以無憂了,所以選擇了5塊硬碟,每塊2T容量。當然組成RAOD5後會少於10T,那也足夠了!
NAS的好處很多,這裡就不在贅述,有興趣的朋友建議深入瞭解。它既可以完成集中儲存還可以完成諸如自動BT下載,網路印表機,蘋果媒體伺服器等眾多私有云功能,是很好的家庭網路應用解決方案。