close

RAID

英文全名為Redundant Array of Independent Drivers,中文名稱為磁碟陣列。

磁碟陣列在早期被稱為備援磁碟陣列 (Redundant Array of Inexpensive Drivers,簡稱 RAID),

這個概念是在 1987 年由加州柏克萊大學的一組研究人員所提出,主要是利用個人電腦所使用的硬碟,

來提供大型主機一種低 成本、高容量與高效能的儲存裝置。不過隨著硬碟製造成本的降低,

加上應用範圍已經延伸至個人電腦,目前以容錯式獨立磁碟陣列(Redundant Array of Independent Drivers,

簡稱 RAID)稱之較為適當。

並且在當時定義了 5 種等級的 RAID,分別是RAID 0、RAID 1、RAID 0+1、RAID 3、RAID 4、RAID 5,後來還有其他研究團隊衍生出 RAID 6、RAID 7 等等的各式新規格。

 

目前較常使用的磁碟陣列等級為 RAID 0、RAID 3、RAID 5 三種,不過也有許多場合應用其他的等級的磁碟陣列。

至於應該選擇何種等級的磁碟陣列使用,則端看使用人數的多寡與用途。

 

 

RAID 0 (Striped)

定義為非容錯硬碟群組,必須由兩臺以上的磁碟所組成,也就是將 RAID 控制器上的多臺硬碟整合成為一臺磁碟陣列。

而當資料寫入至硬碟的時候,由於有兩個以 上磁碟讀寫頭的關係,所以資料寫入的速度相當快,換言之,

讀取資料的速度亦比單臺硬碟要快上許多。

此等級的磁碟陣列效能與硬碟的數量成正比,因為硬碟的數 量越多,也代表著磁碟讀寫頭的越多,因此速度也會更快。

但是由於這個等級的磁碟陣列不具容錯的功能,所以當磁碟陣列中的一臺硬碟故障時,整個磁碟陣列上的 資料便會損毀,

無法在更換新的硬碟後還原舊有的資料,因此適用的範圍並不廣泛。


由於 RAID 0 並不具有容錯的功能,雖然讀寫速度快,但對資料的安全性來說,相當沒有保障。

 

 

RAID 1 (Mirrored)

RAID 1 的特性恰好與 RAID 0 相反,雖然同樣必須由兩臺以上的磁碟組成,而且硬碟的數量必須為雙數臺,

但是 RAID 控制器會將硬碟分為兩組,並且會將資料同時寫入第一組硬碟與第二組 硬碟,兩組硬碟上的資料完全相同,

也就是說其中一組硬碟的資料屬於備份用途。


正因為如此,當第一組硬碟中有損毀的情形發生時,只要將故障的硬碟更新後,

RAID 控制器會參考第二組硬碟中的資料還原第一組硬碟上的資料,因此即使第一 組硬碟同時故障,亦不需要擔心。

不過缺點在於須使用一半的硬碟空間做資料備份。

 

 

RAID 0+1 (Striped+Mirrored)

從字面上就可以了解是由 RAID 0 與 RAID 1 兩種等級的概念所組成。

此等級的磁碟陣列必須由四臺以上的雙數硬碟構成。每兩臺硬碟為一組,每組硬碟均遵守RAID 1的規範,以保障資料的安全性;

而每組硬碟之間則遵守 RAID 0 的規範,以提升整體資料讀寫的速度。

這個等級的磁碟陣列所能使用的硬碟空間只有一半,所以說整體的成本相當的高,不過卻同時具有資料容錯與讀寫速度快的 特色。

 

 

RAID 2、RAID 3、RAID 4

這些工作原理相當類似,除具有容錯的功能外,均必須由3臺以上的硬碟組成(每臺硬碟的容量必須相同,

否則以最小的硬碟容量計算),並將同位元檢查資料放在 一臺硬碟上,一般稱為同位碟。

由於在資料寫入磁碟陣列之前,RAID 控制器中的 XOR 會將資料切割為數個區段,並且計算出同位元檢查資料,

而 RAID 3 的區段以byes計算,RAID 4 則以 block 為計算單位。當磁碟陣列中的一臺硬碟故障時,只要更換新的硬碟後,

系統就能回寫舊有的資料。

當使用3臺硬碟組成磁碟陣列時,能使用的硬碟 容量為 2 臺(計算公式為 N-1 臺),

因此比 RAID 1、RAID 0+1 有更多的硬碟空間可利用,每單位的儲存成本較低。

不過由於在寫入資料的同時,必須額外計算出同位元檢查資料,並且將計算出來的結果寫入同位碟,

所以 整體的讀寫效能會比 RAID 0 慢。

 

 

RAID 5 (Parity RAID)

運作原理與 RAID 2、RAID 3、RAID 4 相當類似,均必須由 3 臺硬碟組成,但是並沒有特定的同位碟。

當 RAID 控制器上的 XOR 計算出同位元檢查資料後,會隨著資料分別寫入各臺硬碟上,

所以整 體的讀寫效能比 RAID 3、RAID 4要好,不過仍然比 RAID 0 要差。

由於當磁碟陣列中的硬碟發生故障時,RAID 控制器會禁止任何讀取工作的進行,直到故障的硬碟更新,並完成資料復原。

因此當故障的時間發生在半夜,或是沒 有系統管理員在場的時候,伺服器幾乎處於停機的狀態,無法提供任何的服務,

所以便有人提出的備援硬碟(Spare Disk)的概念。

在這種架構下,當磁碟陣列中的其中一臺硬碟發生故障時,RAID 控制器會自動啟用備援硬碟來取代故障硬碟的工作,

只要幾分鐘的時間,就 可以將資料回寫至新的硬碟上。

由於這種做法目前只應用在 RAID 5 的磁碟陣列上,所以稱作 RAID 5+Spare。

 

 

RAID 6 (Independent Data disks with two independent distributed parity schemes)

柏克萊只訂到 RAID 5,RAID 6 是 RAID ADVISORY BOARD 定的與 RAID 5 相比,增加了第二個獨立的奇偶校驗信息塊。

兩個獨立的奇偶系統使用不同的算法,數據的可靠性非常高。

即使兩塊磁盤同時失效,也不會影響數據的使用。

但需 要分配給奇偶校驗信息更大的磁盤空間,相對 RAID 5 有更大的quot;寫損失 ",RAID 6 的寫性能非常差,

除了需要使用比 RAID 5 還要更高的安全性保障以外,較差的寫入性能和復雜的實施使得 RAID 6 很少被一般人使用。

 

 

RAID 7 (Optimized Asynchrony for High I/O Rates as well as High Data Transfer Rates)

全名為最優化的異步高 I/O 速率和高數據傳輸率,它與以前我們見到 RAID 級別具有明顯的區別。

RAID 7 完全可以理解為一個獨立存儲電腦,它自身帶有作業系統和管理工具,完全可以獨立運行。

 

 

RAID 10 (Mirrored+Striped)

這是將 RAID 0 與 RAID 1 的架構作結合用的磁碟陣列,10 與 0+1 的差別僅是先鏡射再分割資料,

或是先分割再將資料鏡射到兩組硬碟,但功能是相同的,而且都需由 4 顆硬碟組成。

這種組法同時具備效能提升與資料備份的優點,只要不是「同組鏡射」的兩顆硬碟同時毀損,資料都可以救得回來。

 

 

JBOD (Just Bunch of Disks)

這種組成方式嚴格來說不算 RAID,因為它的功能就跟它的全名一樣,「只是將多顆磁碟湊在一起」,當作一顆超大硬碟來用。

假設是 4 顆 250GB 的大硬碟,在 JBOD 模式下就成了一顆 1TB﹙=1000GB﹚的超高容量硬 碟,

但是除了容量提升之外,它的速度還是跟單一硬碟相同,也沒有額外的安全性。

 

 

RAID種類

需要硬碟數

可用容量

效能

安全性

主要應用

JBOD 2 以上 總容量100%使用 維持不變 最低 追求容量為主合併硬碟而已
RAID 0 2 以上的偶數 總容量 100% 使用 最高 極低 追求硬碟合併的容量與效能
RAID 1 2 顆為一組 總容量的 50% 最高 完全不能出錯的 1:1 鏡像資料備份
RAID 0+1 4 以上的偶數 總容量的 50% 極高 同時需要合併的空間與鏡像備份
RAID 2.3.4 3 以上 N 顆減去 1 顆的容量 容許一顆硬碟壞掉的資料備份
RAID 5 3 以上 N 顆減去 1 顆的容量 讀快寫慢 容許一顆硬碟壞掉的資料備份
RAID 6 4 以上 N 顆減去 2 顆的容量 讀快寫很慢 容許二顆硬碟壞掉的資料備份
RAID 10 4 以上的偶數 總容量的 50% 極高 類似 RAID 0+1 只是處裡順序不同

 

arrow
arrow
    全站熱搜

    mitblog 發表在 痞客邦 留言(0) 人氣()