1. 什麼是RAID
2. RAID原理
3. 查看RAID0
4. 查看RAID1
5. 查看RAID5
6. 查看RAID10 算法
什麼是RAID
磁盤陣列(Redundant Arrays of Independent Disks,RAID),有「獨立磁盤構成的具備冗餘能力的陣列」之意。
磁盤陣列是由多個磁盤組合成一個容量巨大的磁盤組,利用個別磁盤提供數據所產生加成效果提高整個磁盤系統效能。利用這項技術,將數據切割成許多區段,分別存放在各個硬盤上。 數據庫
RAID原理
磁盤陣列做爲獨立系統在主機外直連或經過網絡與主機相連。磁盤陣列有多個端口能夠被不一樣主機或不一樣端口鏈接。一個主機鏈接陣列的不一樣端口可提高傳輸速度。
和當時PC用單磁盤內部集成緩存同樣,在磁盤陣列內部爲加快與主機交互速度,都帶有必定量的緩衝存儲器。主機與磁盤陣列的緩存交互,緩存與具體的磁盤交互數據。
在應用中,有部分經常使用的數據是須要常常讀取的,磁盤陣列根據內部的算法,查找出這些常常讀取的數據,存儲在緩存中,加快主機讀取這些數據的速度,而對於其餘緩存中沒有的數據,主機要讀取,則由陣列從磁盤上直接讀取傳輸給主機。對於主機寫入的數據,只寫在緩存中,主機能夠當即完成寫操做。而後由緩存再慢慢寫入磁盤。 緩存
RIAD0:無差錯控制的帶區組
RAID0硬盤組由至少一塊硬盤組成,容量=單塊硬盤空量(較小的)xRAID0組硬盤數量。讀寫速率=單塊硬盤讀寫速率xRAID0組硬盤數量。
優勢:數據吞吐量大,讀寫速率快,性能高
缺點:沒有數據差錯控制,一旦RAID組內有一塊磁盤損壞,全部數據都沒法使用
詳細介紹:要實現RAID0必需要有兩個以上硬盤驅動器,RAID0實現了帶區組,數據並非保存在一個硬盤上,而是分紅數據塊保存在不一樣驅動器上。由於將數據分佈在不一樣驅動器上,因此數據吞吐率大大提升,驅動器的負載也比較平衡。若是恰好所須要的數據在不一樣的驅動器上效率最好。它不須要計算校驗碼,實現容易。它的缺點是它沒有數據差錯控制,若是一個驅動器中的數據發生錯誤,即便其它盤上的數據正確也無濟於事了。不該該將它用於對數據穩定性要求高的場合。若是用戶進行圖象(包括動畫)編輯和其它要求傳輸比較大的場合使用RAID0比較合適。同時,RAID能夠提升數據傳輸速率,好比所需讀取的文件分佈在兩個硬盤上,這兩個硬盤能夠同時讀取。那麼原來讀取一樣文件的時間被縮短爲1/2。在全部的級別中,RAID 0的速度是最快的。可是RAID 0沒有冗餘功能的,若是一個磁盤(物理)損壞,則全部的數據都沒法使用。 安全
RIAD1:鏡像結構
RAID1組由2塊而且只能由2塊硬盤組成,容量=單塊硬盤的容量(較小的),讀寫速率=單塊硬盤的讀寫速率。
優勢:保障性高,若其中一塊硬盤故障,能夠直接更換,對數據無影響
缺點:寫入速率較慢
詳細介紹:對於使用這種RAID1結構的設備來講,RAID控制器必須可以同時對兩個盤進行讀操做和對兩個鏡象盤進行寫操做。經過下面的結構圖您也能夠看到必須有兩個驅動器。由於是鏡象結構在一組盤出現問題時,可使用鏡象,提升系統的容錯能力。它比較容易設計和實現。每讀一次盤只能讀出一塊數據,也就是說數據塊傳送速率與單獨的盤的讀取速率相同。由於RAID1的校驗十分完備,所以對系統的處理能力有很大的影響,一般的RAID功能由軟件實現,而這樣的實現方法在服務器負載比較重的時候會大大影響服務器效率。當您的系統須要極高的可靠性時,如進行數據統計,那麼使用RAID1比較合適。並且RAID1技術支持「熱替換」,即不斷電的狀況下對故障磁盤進行更換,更換完畢只要從鏡像盤上恢復數據便可。當主硬盤損壞時,鏡像硬盤就能夠代替主硬盤工做。鏡像硬盤至關於一個備份盤,可想而知,這種硬盤模式的安全性是很是高的,RAID 1的數據安全性在全部的RAID級別上來講是最好的。可是其磁盤的利用率卻只有50%,是全部RAID級別中最低的。 服務器
RAID5:分佈式奇偶校驗的獨立磁盤結構
RAID5由至少三塊硬盤組成,容量=單塊硬盤容量(較小的)x(RAID5組硬盤數量-1),讀寫速率=單塊硬盤的讀寫速率x(RAID5組硬盤數量-1)。
優勢:數據可靠性高、讀寫速度快,空間利用率高
缺點:RAID5組的其中一塊硬盤發生故障,整個系統的性能將大大下降
詳細介紹:從它的示意圖上能夠看到,它的奇偶校驗碼存在於全部磁盤上,其中的p0表明第0帶區的奇偶校驗值,其它的意思也相同。RAID5的讀出效率很高,寫入效率通常,塊式的集體訪問效率不錯。由於奇偶校驗碼在不一樣的磁盤上,因此提升了可靠性,容許單個磁盤出錯。RAID 5也是以數據的校驗位來保證數據的安全,但它不是以單獨硬盤來存放數據的校驗位,而是將數據段的校驗位交互存放於各個硬盤上。這樣,任何一個硬盤損壞,均可以根據其它硬盤上的校驗位來重建損壞的數據。硬盤的利用率爲n-1。 可是它對數據傳輸的並行性解決很差,並且控制器的設計也至關困難。RAID 3 與RAID 5相比,重要的區別在於RAID 3每進行一次數據傳輸,需涉及到全部的陣列盤。而對於RAID 5來講,大部分數據傳輸只對一塊磁盤操做,可進行並行操做。在RAID 5中有「寫損失」,即每一次寫操做,將產生四個實際的讀/寫操做,其中兩次讀舊的數據及奇偶信息,兩次寫新的數據及奇偶信息。 RAID-5的話,優勢是提供了冗餘性(支持一塊盤掉線後仍然正常運行),磁盤空間利用率較高(N-1/N),讀寫速度較快(N-1倍)。RAID5最大的好處是在一塊盤掉線的狀況下,RAID照常工做,相對於RAID0必須每一塊盤都正常才能夠正常工做的情況容錯性能好多了。所以RAID5是RAID級別中最多見的一個類型。RAID5校驗位即P位是經過其它條帶數據作異或(xor)求得的。計算公式爲P=D0xorD1xorD2…xorDn,其中p表明校驗塊,Dn表明相應的數據塊,xor是數學運算符號異或。 網絡
RAID5校驗位算法詳解
P=D1 xor D2 xor D3 … xor Dn (D1,D2,D3 … Dn爲數據塊,P爲校驗,xor爲異或運算)XOR(Exclusive OR)的校驗原理以下表: 分佈式
A值 性能 |
B值 動畫 |
Xor結果 編碼 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
這裏的A與B值就表明了兩個位,從中能夠發現,A與B同樣時,XOR(非或又稱」非異或」)結果爲0,A與B不同時,XOR結果就是1,若是知道XOR結果,A和B中的任何兩個數值,就能夠反推出剩下的一個數值。好比A爲1,XOR結果爲1,那麼B確定爲0,若是XOR結果爲0,那麼B確定爲1。這就是XOR編碼與校驗的基本原理。
RAID10:高可靠性與高效磁盤結構
RAID10是RAID1和RAID0結合體,由至少4塊硬盤組成,容量=單塊硬盤容量(較小的)x(RAID10組硬盤數量/2),讀寫速率=單塊硬盤的讀寫速率x(RAID10組硬盤數量/2)
優勢:數據保障性高,讀寫速率快
缺點:空間利用率低,讀寫性能不及RAID0
詳細介紹:這種結構無非是一個帶區結構加一個鏡象結構,由於兩種結構各有優缺點,所以能夠相互補充,達到既高效又高速還能夠互爲鏡像的目的。你們能夠結合兩種結構的優勢和缺點來理解這種新結構。這種新結構的價格高,可擴充性很差。主要用於容量不大,但要求速度和差錯控制的數據庫中。
其餘有關RAID的詳細信息請見百度百科《磁盤陣列》