星期日, 11月 23, 2008

RAID是什麼?

所謂的「RAID」,是「Redundant Array of Independent Disks 」的縮寫,也就是「獨立磁碟備援陣列」的意思。也有人將它說成「Redundant Array of Inexpensive Drives」﹙低價硬碟備援陣列﹚,當初RAID技術發表時用的是這個全名,不過現在則是前者的說法較多人採用。
##CONTINUE##
其中「Redundant」是「過多、多餘」的意思,要組成一部磁碟機通常只需一顆硬碟,甚至一顆硬碟還能分割成許多磁碟區。但是在組RAID磁碟機時,要用上的硬碟比一顆還要「多」,也就是要用上2顆以上的硬碟。

因此RAID在實體上是多顆硬碟,在系統中被當作一顆硬碟使用,而在作業系統底下,也還是可以將它分割為單一或多個分割區。因此建立好的RAID,使用起來跟單一硬碟是完全相同的,只是依組成方式的不同,RAID可以提供更大的容量、更高的讀寫效能,或是額外的「安全性」。﹙這裡所說的「安全性」,是指硬碟損毀之後資料重建、回復的能力,與加密防駭等功能無關﹚

而且RAID的「容量、速度、安全性」加成之後的CP值,能夠遠遠高於相同效能表現的超高階硬碟,這才是許多玩家樂於採用的主因。RAID的組成方式很多,在進入我們的測試之前,先帶大家看看RAID的各種類別。

JBOD (Just Bunch of Disks)

這種組成方式嚴格來說不算RAID,因為它的功能就跟它的全名一樣,「只是將多顆磁碟湊在一起」,當作一顆超大硬碟來用。假設是4顆250GB的大硬碟,在JBOD模式下就成了一顆1TB﹙=1000GB﹚的超高容量硬碟,但是除了容量提升之外,它的速度還是跟單一硬碟相同,也沒有額外的安全性。

RAID 0 (Striped)
325px-RAID_0.svg
這是最簡單也最猛的一種磁碟陣列,它的功能是在資料寫入時,將資料分割成幾個小區塊,分別存到各顆硬碟裡,因此可以提升寫入速度。當需要讀取時,再分別由所有硬碟裡將小區塊抓出來,所以也有較高的讀取速度。

但它的缺點是只要其中一顆硬碟壞掉,或只是小小的出點問題,都可能因為一小部分資料的不完整,就造成整個磁碟陣列無法正常讀取,全部的資料就這樣毀於一旦,完全沒有安全性可言。儘管如此,RAID 0存取效能隨著組成硬碟數目增加而提升的特性,對於「效能至上」的玩家們還是有不小的吸引力。

RAID 1 (Mirrored)
325px-RAID_1.svg
這種磁碟陣列是將單一磁碟作「鏡射」(Mirror)的動作,也就是資料寫入時將相同的資料同時丟進兩顆硬碟,確保所有的資料都隨時存在另一個備份。因為對單一硬碟寫入的資料量不變,所以寫入速度跟非RAID磁碟機沒有差別,不過在讀取時能同時由兩顆硬碟抓取資料,所以速度還是有所提升。

RAID 10 / 01 (Striped & Mirrored)

這是將RAID 0與RAID 1的架構作結合用的磁碟陣列,10與01的差別僅是先鏡射再分割資料,或是先分割再將資料鏡射到兩組硬碟,但功能是相同的,而且都需由4顆硬碟組成。這種組法同時具備效能提升與資料備份的優點,只要不是「同組鏡射」的兩顆硬碟同時毀損,資料都可以救得回來。

RAID 2.3.4

這幾種RAID一直都沒有成為主流,也很少有硬體支援這幾種組法。

RAID 2

這是RAID 0的改良版,以漢明碼en:Hamming Code)的方式將數據進行編碼後分割為獨立的位元,並將數據分別寫入硬碟中。因為在數據中加入了錯誤修正碼(ECC,Error Correction Code),所以數據整體的容量會比原始數據大一些,RAID2最少要三台磁碟機方能運作

RAID 3
675px-RAID_3.svg

採用Bit-interleaving(數據交錯存儲)技術,它需要通過編碼再將數據位元分割後分別存在硬碟中,而將同位元檢查後單獨存在一個硬碟中,但由於數據內的位元分散在不同的硬碟上,因此就算要讀取一小段數據資料都可能需要所有的硬碟進行工作,所以這種規格比較適於讀取大量數據時使用

RAID 4
675px-RAID_4.svg

它與RAID 3不同的是它在分割時是以區塊為單位分別存在硬碟中,但每次的數據存取都必須從同位元檢查的那個硬碟中取出對應的同位元數據進行核對,由於過於頻繁的使用,所以對硬碟的損耗可能會提高 (Block interleaving)

RAID 5 (Parity RAID)
675px-RAID_5.svg
RAID 5是由RAID 2.3.4改良而來,終於成為比較普及的一種架構。 它先將原始資料與同位檢查位元作組合,再以位元為單位分散存放在所有硬碟中,因此不需多用一部硬碟來存放檢查碼。

但RAID 5實際上仍需一顆硬碟的容量來存放同位檢查碼,所以RAID整體的可用容量會等於總容量減去單顆硬碟容量,只是這個浪費的空間是分散在各顆硬碟中。

RAID 5因為是分散的存取架構,因此效能提升明顯,而且任何一顆硬碟毀損,都還可以救得回來。 雖有浪費一顆硬碟容量的缺點,但是跟RAID 10 / 01一半的容量浪費相比,RAID 5單顆容量換得的安全性可說是相當划算。

RAID 6
800px-RAID_6.svg
同一陣列中容許兩個硬碟同時失效(或是當一個失效後還來不及更換便有第二個失效)後.更換新硬碟時再由另兩個正常硬碟將備份的資料建立在新的硬碟中.所以至少必須具備四或四個以上硬碟才能生效.

RAID方案

硬碟數

可用容量

效能

安全性

主要應用

JBOD

大於2

全部

不變

幾乎等於0

容量至上

RAID 0

大於2

全部

最高

危險

追求效能的狂熱玩家

RAID 1

2

總容量的50%

稍有提升

最高

完全不能出錯的資料備份

RAID 0+1

4以上的偶數

總容量的50%

極高

同時需要備份和效能,且預算無上限

RAID 5

3以上

N-1顆

讀快寫慢

同RAID 0+1但預算限制

RAID 6

3以上

N-2顆

讀快寫慢

同RAID 0+1但預算限制



沒有留言:

張貼留言