天天看點

關于RAID 一些概念

轉自: 關于RAID的一些概念

RAID 技術入門

獨立磁盤備援陣列( RAID ) 的初衷主要是為了大型伺服器提供高端的存儲功能和備援的資料安全。 RAID 系統使用許多小容量磁盤驅動器來存儲大量資料, 它通過在多個硬碟上同時存儲和讀取資料來大幅提高存儲系統的資料吞吐量( Throughput ),而且在很多 RAID 模式中都有較為完備的互相校驗 / 恢複的措施,甚至是直接互相的鏡像備份,進而大大提高了 RAID 系統的容錯度,提高了系統的穩定備援性,這也是 Redundant 一詞的由來。 對計算機 系統 來說,這樣一個由多個磁盤驅動器構成的陣列就是一個邏輯單元 ,使用者可以對它進行分區,格式化等等。總之,對磁盤陣列的操作與單個硬碟一模一樣 。

RAID 組建的方式多種多樣。某些類型的 RAID 強調性能,某些則強調可靠性、容錯或糾錯能力。是以,可根據要完成的任務來選擇類型。

不過,所有的磁盤陣列( RAID 0 除外)有着共同的特點——也是其真正的優點就是“熱交換”的能力:使用者可以取出一個存在缺陷的磁盤,并插入一個新的予以更換。正常的備份和鏡像軟體速度較慢,而且,如果一個磁盤出現故障,則往往需要中斷系統。對大多數類型的 RAID 來說,可以不必中斷伺服器或系統,就可以自動利用鏡像或奇偶資訊來通過剩餘的磁盤重建出故障磁盤上的資料,而不必中斷系統。

RAID 技術問世時是基于 SCSI 接口, 一直是 SCSI 領域的獨有産品, 因 當時的技術與成本較 高 也限制了其在低端市場的發展 ,是以主要面向伺服器等高端應用。

今天, 在市場的帶動下,用于個人計算機的 IDE 接口裝置價格大幅降低,同時性能大幅提高。但是, RAID 技術仍隻基于 SCSI 接口,普通的 PC 使用者在羨慕 RAID 技術的好處的同時,卻無法擁有 RAID 。随着個人計算機的大衆化一些廠商看到了 RAID 在低端使用者中蘊涵的巨大市場, 經過不斷努力将日益成熟的 RAID 技術 移植到 IDE 和 SATA 接口上,推出了基于 IDE 和 SATA 接口的 RAID 應用,稱為 IDE RAID 或 SATA RAID 。而基于 SCSI 接口的 RAID 應用則相應稱為 SCSI RAID 。 我們已經能夠享受到相對成本低廉得多的 IDE RAID 系統 。

雖然 IDE/SATA RAID 的穩定與可靠性還不可能與 SCSI-RAID 相比,但它相對于單個硬碟的性能優勢對廣大玩家是一個不小的誘惑。事實上,對于日常的低強度操作, IDE RAID 已足能勝任了。 與 SCSI RAID 相比, IDE RAID 具有極低的價格,和一點也不遜色的性能表現,相應的, IDE RAID 解決方案就具有 SCSI RAID 無法比拟的高成本效益。是以 IDE RAID 自推出後,受到普通 PC 使用者和普通商業應用的普遍歡迎。 RAID 對于普通的使用者來說,再也不是什麼奢侈的技術了。

RAID-0 等級

Striped Disk Array without Fault Tolerance( 沒有容錯設計的條帶磁盤陣列)

圖中一個圓柱就是一塊磁盤(以下均是),它們并聯在一起。從圖中可以看出, RAID 0 在存儲資料時由 RAID 控制器(硬體或軟體)分割成大小相同的資料條,同時寫入陣列中的磁盤。如果發揮一下想象力,你會覺得資料 象 一條帶子橫跨過所有的陣列磁盤,每個磁盤上的條帶深度則是一樣的。至于每個條帶的深度則要看所采用的 RAID 類型,在 NT 系統的軟 RAID 0 等級中,每個條帶深度隻有 64KB 一種選項,而在硬 RAID 0 等級,可以提供 8 、16 、32 、 64 以及 128KB 等多種深度參數。 Striped 是 RAID 的一種典型方式,在很多 RAID 術語解釋中,都把 Striped 指向 RAID 0 。在讀取時,也是順序從陣列磁盤中讀取後再由 RAID 控制器進行 組合再 傳送給系統,這也是 RAID 的一個最重要的特點。

關于RAID 一些概念

這樣,資料就等于并行的寫入和讀取,進而非常有助于提高存儲系統的性能。對于兩個硬碟的 RAID 0 系統,提高一倍的讀寫性能可能有些誇張,畢竟要考慮到也同時 缯 加的資料分割與組合等與 RAID 相關的操作處理時間,但比單個硬碟提高 50% 的性能是完全可以的。

  不過, RAID 0 還不能算是真正的 RAID ,因為它沒有資料備援能力。由于沒有備份或校驗恢複設計,在 RAID 0 陣列中任何一個硬碟損壞就可導緻整個陣列資料的損壞,因為資料都是分布存儲的。下面總結一下 RAID 0 的特點

關于RAID 一些概念

RAID-1 等級

Mirroring and Duplexing (互相鏡像)

對比 RAID 0 等級,我們能發現硬碟的内容是兩兩相同的。這就是鏡像 —— 兩個硬碟的内容完全一樣,這等于内容彼此備份。比如陣列中有兩個硬碟,在寫入時, RAID 控制器并不是将資料分成條帶而是将資料同時寫入兩個硬碟。這樣,其中任何一個硬碟的資料出現問題,可以馬上從另一個硬碟中進行恢複。注意,這兩個硬碟并不是主從關系,也就是說是互相鏡像 / 恢複的。

關于RAID 一些概念

RAID 1 已經可以算是一種真正的 RAID 系統,它提供了強有力的資料容錯能力,但這是由一個硬碟的代價所帶來的效果,而這個硬碟并不能增加整個陣列的有效容量。下面總結一下 RAID 1 的特點:

關于RAID 一些概念

RAID-5 等級

Independent Data disks with distributed parity blocks (獨立的資料磁盤與分布式校驗塊)

今天我們将介紹在進階 RAID 系統中最常見的等級 ——RAID 5 ,由于其出色的性能與資料備援平衡設計而被廣泛采用。與 RAID 3 、 4 一樣,它也是一種即時校驗 RAID 系統,但設計更為巧妙,而管理也相對複雜。其結構見圖:

關于RAID 一些概念

與RAID 4相對照,我們可以發現它仍采用了資料塊的存儲方式,但沒有獨立的校驗硬碟,這是因為它在每個獨立的資料盤中都開辟了單獨的區域用于存儲同級資料的XOR校驗資料,至于什麼是同級資料,在上一期中已經講過了。在寫入時,同級校驗資料将即時生成并寫入,在讀取時,同級校驗資料也将被即時讀出并檢查源資料的正确性。從圖中可以發現,RAID 5的硬碟使用率較高,資料吞吐量比較容易得到發揮。

RAID 5是目前最常用的進階RAID等級,是RAID 3、4的理想替代者,許多高檔RAID控制器都提供了對RAID 5的支援,并以此做為高檔RAID系統的标志。

下面就來總結一下RAID 5的特點:

關于RAID 一些概念

RAID-10 等級

Very High Reliability combined with High Performance (高可靠性與高性能的組合)

RAID 10 是建立在 RAID 0 和 RAID 1 基礎上的,具體的組合結構看圖:

關于RAID 一些概念

從中可以看出, RAID 1 在這裡就是一個備援的備份陣列,而 RAID 0 則負責資料的讀寫陣列。其實,圖 1 隻是一種 RAID 10 方式,更多的情況是從主通路分出兩路(以 4 個硬碟時為例),做 Striping 操作,即把資料分割,而這分出來的每一路則再分兩路,做 Mirroring 操作,即互做鏡像。這就是 RAID 10 名字的來曆(也是以被很多人稱為 RAID 0+1 ),而不是像 RAID 5 、 3 那樣的全新等級。

由于利用了 RAID 0 極高的讀寫效率和 RAID 1 較高的資料保護、恢複能力,使 RAID 10 成為了一種成本效益較高的等級,目前幾乎所有的 RAID 控制卡都支援這一等級。但是, RAID 10 對存儲容量的使用率和 RAID 1 一樣低,隻有 50% 。下面就讓我們總結一下它的特點:

關于RAID 一些概念

RAID-53 等級

High I/O Rates and Data Transfer Performance (高帶寬與資料傳輸性能)

與 RAID 10 一樣, RAID 53 也是一種組合 RAID 等級,但不要拿 RAID 10 的觀點套用,認為它是 RAID 5 和 RAID 3 的組合,事實上, RAID 53 應該稱為 RAID 30 或 RAID 03 (也可以說是 RAID 0+3 ),即 RAID 3 與 RAID 0 的組合,具體形式見圖:

關于RAID 一些概念

與圖 1 相對比,可以發現, RAID 53 中将備份等級由 RAID 0 變為了 RAID 3 ,也就是說把原來的鏡像陣列變成了分割式( Segments )存儲陣列。但它不是對每個 RAID 0 硬碟都用一個 RAID 3 系統進行,而是用 RAID 3 對所有資料進行備援存儲(或者說是校驗),而且讀寫與 ECC 效率比 RAID 0 要高不少。

值得注意的是, RAID 3 在 RAID 53 的資料傳輸中占有相當重要的位置。在介紹 RAID 3 時,曾說過它有很高的讀寫傳輸率。是以,在進行大資料量吞吐時,由于 RAID 3 的傳輸率高的緣故, RAID 53 的性能要比 RAID 10 好(因為備援備份的時間縮短)。而且,借助于 RAID 0 ,其 I/O 帶寬并沒有降低。不過,從它的配置形式上就可以看出來,它的存儲空間使用率要比 RAID 10 低,為 40% 。下面就讓我們總結一下 RAID 53 的特點:

關于RAID 一些概念

軟硬RAID比較

與Modem一樣,RAID也有全軟、半軟半硬與全硬之分,全軟RAID就是指RAID的所有功能都是作業系統(OS)與CPU來完成,沒有第三方的控制/處理(業界稱其為RAID協處理器——RAID Co-Processor)與I/O晶片。這樣,有關RAID的所有任務的處理都由CPU來完成,可想而知這是效率最低的一種RAID。半軟半硬RAID則主要缺乏自己的I/O處理晶片,是以這方面的工作仍要由CPU與驅動程式來完成。而且,半軟半硬RAID所采用的RAID控制/處理晶片的能力一般都比較弱,不能支援高的RAID等級。全硬的RAID則全面具備了自己的RAID控制/處理與I/O處理晶片,甚至還有陣列緩沖(Array Buffer),對CPU的占用率以及整體性能是這三種類型中最優勢的,但裝置成本也是三種類型中最高的。早期市場上所出現的使用HighPoint HPT 368、370以及PROMISE晶片的IDE RAID卡與內建它們的主機闆都是半軟半硬的RAID,并不是真正的硬RAID,因為它們沒有自己專用的I/O處理器。而且,這兩個公司的RAID控制/處理晶片的能力較弱,不能完成複雜的處理任務,是以還不支援RAID 5等級。著名的Adpatec公司所出品的AAA-UDMA RAID卡則是全硬RAID的代表之作,其上有專用的進階RAID Co-Processor和Intel 960專用I/O處理器,完全支援RAID 5等級,是目前最進階的IDE-RAID産品。表1 就是典型的軟體RAID與硬RAID在行業應用中的比較。

補充資料

CSDN下載下傳:介紹RAID的文檔