RAID
是
「Redundant Array of Independent Disk」
的縮寫,中文意思是獨立冗餘磁盤陣列。冗餘磁盤陣列技術誕生於
1987
年,由美國加州大學伯克利分校提出。
RAID
磁盤陣列(
Redundant Array of Independent Disks
)
簡單地解釋,就是將
N
臺
硬盤
經過
RAID Controller
(分
Hardware
,
Software
)結合成虛擬單臺大容量的硬盤使用,其特點是
N
臺硬盤同時讀取速度加快及提供容錯性
Fault Tolerant
,因此
RAID
是當成平時主要訪問
Data
的
Storage
不是
Backup Solution
。
在
RAID
有一基本概念稱爲
EDAP
(
Extended Data Availability and Protection
),其強調擴充性及容錯機制,
也是各家廠商如:
Mylex
,
IBM
,
HP
,
Compaq
,
Adaptec
,
Infortrend
等訴求的重點,包括在不須停機狀況下可處理如下動做:
RAID
磁盤陣列支援自動檢測故障硬盤;
RAID
磁盤陣列支援重建硬盤壞軌的資料;
RAID
磁盤陣列支援支持不須停機的硬盤備援
Hot Spare
;
RAID
磁盤陣列支援支持不須停機的硬盤替換
Hot Swap
;
RAID
磁盤陣列支援擴充硬盤容量等。
一旦
RAID
陣列出現故障,硬件服務商只能給客戶從新初始化或者
REBUILD
,這樣客戶數據就會沒法挽回。所以對
RAID0
、
RAID1
、
RAID5
以及組合型的
RAID
系列磁盤陣列數據恢復,出現故障之後只要不對陣列做初始化操做,就有機會恢復出故障
RAID
磁盤陣列的數據。
(
1
)
RAID
技術規範簡介
冗餘磁盤陣列技術最初的研製目的是爲了組合小的廉價磁盤來代替大的昂貴磁盤,以下降大批量數據存儲的費用,同時也但願採用冗餘信息的方式,使得磁盤失效時不會使對數據的訪問受損失,從而開發出必定水平的數據保護技術,而且能適當的提高數據傳輸速度。
過去
RAID
一直是高檔服務器纔有緣享用,一直做爲高檔
SCSI
硬盤配套技術做應用。近來隨着技術的發展和產品成本的不斷降低,
IDE
硬盤性能有了很大提高,加之
RAID
芯片的普及,使得
RAID
也逐漸在我的電腦上獲得應用。
那麼爲什麼叫作冗餘磁盤陣列呢?冗餘的漢語意思即多餘,重複。而磁盤陣列說明不只僅是一個磁盤,而是一組磁盤。這時你應該明白了,它是利用重複的磁盤來處理數據,使得數據的穩定性獲得提升。
(
2
)
RAID
的工做原理
RAID
如何實現數據存儲的高穩定性呢?咱們不妨來看一下它的工做原理。
RAID
按照實現原理的不一樣分爲不一樣的級別,不一樣的級別之間工做模式是有區別的。整個的
RAID
結構是一些磁盤結構,經過對磁盤進行組合達到提升效率,減小錯誤的目的,不要由於這麼多名詞而被嚇壞了,它們的原理實際上十分簡單。問了便於說明,下面示意圖中的每一個方塊表明一個磁盤,豎的叫塊或
磁盤陣列
,橫稱之爲帶區。
(
3
)
RAID
規範
主要包含
RAID 0
~
RAID 7
等數個規範,它們的側重點各不相同,常見的規範有以下幾種:
Raid 0
要實現
RAID0
必需要有兩個以上硬盤驅動器,
RAID0
實現了帶區組,數據並非保存在一個硬盤上,而是分紅數據塊保存在不一樣驅動器上。由於將數據分佈在不一樣驅動器上,因此數據吞吐率大大提升,驅動器的負載也比較平衡。若是恰好所須要的數據在不一樣的驅動器上效率最好。它不須要計算校驗碼,實現容易。它的缺點是它沒有數據差錯控制,若是一個驅動器中的數據發生錯誤,即便其它盤上的數據正確也無濟於事了。不該該將它用於對數據穩定性要求高的場合。若是用戶進行圖象(包括動畫)編輯和其它要求傳輸比較大的場合使用
RAID0
比較合適。同時,
RAID
能夠提升數據傳輸速率,好比所需讀取的文件分佈在兩個硬盤上,這兩個硬盤能夠同時讀取。那麼原來讀取一樣文件的時間被縮短爲
1/2
。在全部的級別中,
RAID 0
的速度是最快的。可是
RAID 0
沒有冗餘功能的,若是一個磁盤(物理)損壞,則全部的數據都沒法使用。
Raid 1
對於使用這種
RAID1
結構的設備來講,
RAID
控制器必須可以同時對兩個盤進行讀操做和對兩個鏡象盤進行寫操做。經過下面的結構圖您也能夠看到必須有兩個驅動器。由於是鏡象結構在一組盤出現問題時,可使用鏡象,提升系統的容錯能力。它比較容易設計和實現。每讀一次盤只能讀出一塊數據,也就是說數據塊傳送速率與單獨的盤的讀取速率相同。由於
RAID1
的校驗十分完備,所以對系統的處理能力有很大的影響,一般的
RAID
功能由軟件實現,而這樣的實現方法在服務器負載比較重的時候會大大影響服務器效率。當您的系統須要極高的可靠性時,如進行數據統計,那麼使用
RAID1
比較合適。並且
RAID1
技術支持
「
熱替換
」
,即不斷電的狀況下對故障磁盤進行更換,更換完畢只要從鏡像盤上恢復數據便可。當主硬盤損壞時,鏡像硬盤就能夠代替主硬盤工做。鏡像硬盤至關於一個備份盤,可想而知,這種硬盤模式的安全性是很是高的,
RAID 1
的數據安全性在全部的
RAID
級別上來講是最好的。可是其磁盤的利用率卻只有
50%
,是全部
RAID
級別中最低的。
從概念上講,
RAID 2
同
RAID 3
相似,
二者都是將數據條塊化分佈於不一樣的硬盤上,
條塊單位爲位或字節
。然而
RAID 2
使用必定的編碼技術來提供錯誤檢查及恢復。這種編碼技術須要多個磁盤存放檢查及恢復信息,使得
RAID 2
技術實施更復雜。所以,在商業環境中不多使用。下圖左邊的各個磁盤上是數據的各個位,由一個數據不一樣的位運算獲得的海明校驗碼能夠保存另外一組磁盤上,具體狀況請見下圖。因爲海明碼的特色,它能夠在數據發生錯誤的狀況下將錯誤校訂,以保證輸出的正確。它的數據傳送速率至關高,若是但願達到比較理想的速度,那最好提升保存校驗碼
ECC
碼的硬盤,對於控制器的設計來講,它又比
RAID3
,
4
或
5
要簡單。沒有免費的午飯,這裏也同樣,要利用海明碼,必需要付出數據冗餘的代價。輸出數據的速率與驅動器組中速度最慢的相等。
Raid 3
這種校驗碼與
RAID2
不一樣,只能查錯不能糾錯。它訪問數據時一次處理一個帶區,這樣能夠提升讀取和寫入速度
,
它象
RAID 0
同樣以並行的方式來存放數,但速度沒有
RAID 0
快。校驗碼在寫入數據時產生並保存在另外一個磁盤上。須要實現時用戶必需要有三個以上的驅動器,寫入速率與讀出速率都很高,由於校驗位比較少,所以計算時間相對而言比較少。用軟件實現
RAID
控制將是十分困難的,控制器的實現也不是很容易。它主要用於圖形(包括動畫)等要求吞吐率比較高的場合。不一樣於
RAID 2
,
RAID 3
使用單塊磁盤存放奇偶校驗
信息。若是一塊磁盤失效,奇偶盤及其餘數據盤能夠從新產生數據。
如果奇偶盤失效,則不影響數據使用。
RAID 3
對於大量的連續數據可提供很好的傳輸率,但對於隨機數據,奇偶盤會成爲寫操做的瓶頸
。
利用單獨的校驗盤來保護數據雖然沒有鏡像的安全性高,可是硬盤利用率獲得了很大的提升,爲
n-1
。
Raid 4
RAID4
和
RAID3
很象,不一樣的是,它對數據的訪問是按數據塊進行的,也就是按磁盤進行的,每次是一個盤。在圖上能夠這麼看,
RAID3
是一次一橫條,而
RAID4
一次一豎條
。它的特色的
RAID3
也挺象,不過在失敗恢復時,它的難度可要比
RAID3
大得多了,控制器的設計難度也要大許多,並且訪問數據的效率不怎麼好。
從它的示意圖上能夠看到,它的奇偶校驗碼存在於全部磁盤上,其中的
p0
表明第
0
帶區的
Raid 5
奇偶校驗值,其它的意思也相同。
RAID5
的讀出效率很高,寫入效率通常,塊式的集體訪問效率不錯
。由於奇偶校驗碼在不一樣的磁盤上,因此提升了可靠性,容許單個磁盤出錯。
RAID 5
也是以數據的校驗位來保證數據的安全,但它不是以單獨硬盤來存放數據的校驗位,而是將數據段的校驗位交互存放於各個硬盤上。這樣,任何一個硬盤損壞,均可以根據其它硬盤上的校驗位來重建損壞的數據。硬盤的利用率爲
n-1
。
可是它對數據傳輸的並行性解決很差,並且控制器的設計也至關困難。
RAID 3
與
RAID 5
相比,重要的區別在於
RAID 3
每進行一次數據傳輸,需涉及到全部的陣列盤。而對於
RAID 5
來講,大部分數據傳輸只對一塊磁盤操做,可進行並行操做。在
RAID 5
中有
「
寫損失
」
,即每一次寫操做,將產生四個實際的讀
/
寫操做,其中兩次讀舊的數據及奇偶信息,兩次寫新的數據及奇偶信息。
RAID6
:帶有兩種分佈存儲的奇偶校驗碼的獨立磁盤結構
Raid 6
名字很長,可是若是看到圖,你們馬上會明白是爲何,請注意
p0
表明第
0
帶區的奇偶校驗值,而
pA
表明數據塊
A
的奇偶校驗值。它是對
RAID5
的擴展,主要是用於要求數據絕對不能出錯的場合。固然了,因爲引入了第二種奇偶校驗值,因此須要
N+2
個磁盤,同時對控制器的設計變得十分複雜,寫入速度也很差,用於計算奇偶校驗值和驗證數據正確性所花費的時間比較多,形成了沒必要須的負載。我想除了軍隊沒有人用得起這種東西。
RAID7
全部的
I/O
傳送均是同步進行的,能夠分別控制,這樣提升了系統的並行性,提升系統訪問數據的速度;每一個磁盤都帶有高速緩衝存儲器,實時操做系統可使用任何實時操做芯片,達到不一樣實時系統的須要。容許使用
SNMP
協議進行管理和監視,能夠對校驗區指定獨立的傳送信道以提升效率。能夠鏈接多臺主機,由於加入高速緩衝存儲器,當多用戶訪問系統時,訪問時間幾乎接近於
0
。因爲採用並行結構,所以數據訪問效率大大提升。須要注意的是它引入了一個高速緩衝存儲器,這有利有弊,由於一旦系統斷電,在高速緩衝存儲器內的數據就會所有丟失,所以須要和
UPS
一塊兒工做。固然了,這麼快的東西,價格也很是昂貴。
這種結構無非是一個帶區結構加一個鏡象結構,由於兩種結構各有優缺點,所以能夠相互補充,達到既高效又高速還能夠的目的。你們能夠結合兩種結構的優勢和缺點來理解這種新結構。這種新結構的價格高,可擴充性很差。主要用於容量不大,但要求速度和差錯控制的數據庫中。
RAID53
:高效數據傳送磁盤結構
越到後面的結構就是對前面結構的一種重複和再利用,這種結構就是
RAID3
和帶區結構的統一,所以它速度比較快,也有容錯功能。但價格十分高,不易於實現。這是由於全部的數據必須通過帶區和按位存儲兩種方法,在考慮到效率的狀況下,要求這些磁盤同步真是不容易。
把
RAID0
和
RAID1
技術結合起來,即
RAID0+1
。數據除分佈在多個盤上外,每一個盤都有其物理鏡像盤,提供全冗餘能力,容許一個如下磁盤故障,而不影響數據可用性,並具備快速讀
/
寫能力。要求至少
4
個硬盤才能做成
RAID0+1
。
JBOD
一般又稱爲
Span
。它是在邏輯上將幾個物理磁盤一個接一個連起來,
組成一個大的邏輯磁盤。
JBOD
不提供容錯,該陣列的容量等於組成
Span
的全部磁盤的容量的總和。
JBOD
嚴格意義上說,不屬於
RAID
的範圍。不過如今不少
IDE RAID
控制芯片都帶着種模式,
JBOD
就是簡單的硬盤容量疊加,但系統處理時並無採用並行的方式,寫入數據的時候就是先寫的一塊硬盤,寫滿了再寫第二塊硬盤
……
實際應用中最多見的是
RAID0 RAID1 RAID5
和
RAID10
因爲在大多數場合,
RAID5
包含了
RAID2-4
的優勢,因此
RAID2-4
基本退出市場
如今,通常認爲
RAID2-4
只用於
RAID
開發研究
(
4
)咱們可以用得上的
IDE RAID
上面是對
RAID
原理的敘述,而咱們
Pcfans
最關心的是
RAID
的應用。咱們平常使用
IDE
硬盤,並且很容易買到
IDE RAID
卡和集成
RAID
芯片的主板。因此跟咱們最貼近的是
IDE RAID
。限於應用級別很低,
IDE RAID
多數只支持
RAID 0
,
RAID 1
,
RAID 0+1
,
JBOD
模式。
開始時
RAID
方案主要針對
SCSI
硬盤系統,系統成本比較昂貴。
1993
年,
HighPoint
公司推出了第一款
IDE-RAID
控制芯片,可以利用相對廉價的
IDE
硬盤來組建
RAID
系統,從而大大下降了
RAID
的
「
門檻
」
。今後,我的用戶也開始關注這項技術,由於硬盤是現代我的計算機中發展最爲
「
緩慢
」
和最缺乏安全性的設備,而用戶存儲在其中的數據卻經常遠超計算機的自己價格。在花費相對較少的狀況下,
RAID
技術可使我的用戶也享受到成倍的磁盤速度提高和更高的數據安全性,如今我的電腦市場上的
IDE-RAID
控制芯片主要出自
HighPoint
和
Promise
公司,此外還有一部分來自
AMI
公司(如表
2
)。
面向我的用戶的
IDE-RAID
芯片通常只提供了
RAID 0
、
RAID 1
和
RAID 0+1
(
RAID 10
)等
RAID
規範的支持,雖然它們在技術上沒法與商用系統相提並論,可是對普通用戶來講其提供的速度提高和安全保證已經足夠了。隨着硬盤接口傳輸率的不斷提升,
IDE-RAID
芯片也不斷地更新換代,芯片市場上的主流芯片已經所有支持
ATA 100
標準,而
HighPoint
公司新推出的
HPT 372
芯片和
Promise
最新的
PDC20276
芯片,甚至已經能夠支持
ATA 133
標準的
IDE
硬盤。在主板廠商競爭加重、我的電腦用戶要求逐漸提升的今天,在主板上板載
RAID
芯片的廠商已經不在少數,用戶徹底能夠不用購置
RAID
卡,直接組建本身的磁盤陣列,感覺磁盤狂飆的速度。