RAID 磁碟陣列簡要概念

  • 3448
  • 0

RAID

獨立磁碟冗餘陣列 (Redundant Array of Independent Disks),簡稱硬碟陣列,主要就是把多個硬碟組合起來,成為一個磁碟陣列組,對於電腦來說磁碟陣列就像一個單獨的硬碟或邏輯儲存單元,RAID常用於伺服器電腦上,主要分為: RAID-0、RAID1、RAID1E、RAID-5、RAID-6、RAID-7、RAID-10、RAID-50、RAID-60。

碰到伺服器,硬碟的設計一定要了解一下,才知道什麼情況需要用那種磁碟陣列來保存資料是最好。

 

RAID 

獨立磁碟冗餘陣列 (Redundant Array of Independent Disks),簡稱硬碟陣列,主要就是把多個硬碟組合起來,成為一個磁碟陣列組,對於電腦來說磁碟陣列就像一個單獨的硬碟或邏輯儲存單元,RAID常用於伺服器電腦上,主要分為: RAID-0、RAID1、RAID1E、RAID-5、RAID-6、RAID-7、RAID-10、RAID-50、RAID-60。

RAID分成了不同的等級,每種等級都有其理論上的優缺點,不同的等級在兩個目標間取得平衡,分別是增加資料可靠性以及增加記憶體讀寫效能,下面幾個RAID介紹:

RAID0

將多個磁碟合併成一個大的磁碟,不具有冗餘,並列I/O,速度最快。RAID 0亦稱為帶區集。它是將多個磁碟並列起來,成為一個大磁碟。在存放資料時,其將資料按磁碟的個數來進行分段,然後同時將這些資料寫進這些盤中,所以在所有的級別中,RAID 0的速度是最快的。但是RAID 0沒有冗餘功能,如果一個磁碟(物理)損

壞,則所有的資料都會遺失,危險程度與JBOD相當。

理論上越多的磁碟效能就等於「單一磁碟效能」×「磁碟數」,但實際上受限於匯流排I/O瓶頸及其它因素的影響,RAID效能會隨邊際遞減,也就是說,假設一個磁碟的效能是50MB每秒,兩個磁碟的RAID 0效能約96MB每秒,三個磁碟的RAID 0也許是130MB每秒而不是150MB每秒,所以兩個磁碟的RAID 0最能明顯感受到效能的提升。

Size = 2 x min (S1,S2) 

但如果是以軟體方式來實作RAID,則磁碟的空間則不見得受限於此(例如Linux Software RAID),透過軟體實作可以經由不同的組合而善用所有的磁碟空間。

Size = sum of all disk

 

RAID1

兩組以上的N個磁碟相互作映像,在一些多執行緒作業系統中能有很好的讀取速度,理論上讀取速度等於硬碟數量的倍數,另外寫入速度有微小的降低。

只要一個磁碟正常即可維持運作,可靠性最高。RAID 1就是映像,其原理為在主硬碟上存放資料的同時也在映像硬碟上寫一樣的資料。當主硬碟(物理)損壞時,映像硬碟則代替主硬碟的工作。因為有映像硬碟做資料備份,所以RAID 1的資料安全性在所有的RAID級別上來說是最好的。但無論用多少磁碟做RAID 1,僅算一個磁碟的容量,是所有RAID中磁碟利用率最低的一個級別。

如果用兩個不同大小的磁碟建RAID 1,可用空間為較小的那個磁碟,較大的磁碟多出來的空間也可以分割成一個區來使用,不會造成浪費。

Size = min(S1,S2,S3…)

 

 

 

RAID5

RAID Level 5是一種儲存效能、資料安全和儲存成本兼顧的儲存解決方案。它使用的是Disk Striping(硬碟分割)技術。RAID 5至少需要三顆硬碟,

RAID 5不是對儲存的資料進行備份,而是把資料和相對應的奇偶校驗訊息儲存到組成RAID5的各個磁碟上,並且奇偶校驗訊息和相對應的資料分別儲存於不同的磁碟上。當RAID5的一個磁碟資料發生損壞後,可以利用剩下的資料和相應的奇偶校驗訊息去恢復被損壞的資料。RAID 5可以理解為是RAID 0和RAID 1的折衷方案。RAID 5可以為系統提供資料安全保障,但保障程度要比鏡像低而磁碟空間利用率要比鏡像高。RAID 5具有和RAID 0相近似的資料讀取速度,只是因為多了一個奇偶校驗訊息,寫入資料的速度相當的慢,若使用「回寫快取」可以讓效能改善不少。同時由於多個資料對應一個奇偶校驗訊息,RAID 5的磁碟空間利用率要比RAID 1高,儲存成本相對較便宜。

目前RAID2、3、4較少實際應用,因為RAID5已經涵蓋了所需的功能,因此RAID2、3、4大多只在研究領域有實作,而實際應用上則以RAID5為主。

Size =(N-1) x min(S1,S2,…,SN)

 

RAID6

與RAID 5相比,RAID 6增加了第二個獨立的奇偶校驗訊息塊。兩個獨立的奇偶系統使用不同的演算法,資料的可靠性非常高,即使兩塊磁碟同時失效也不會影響資料的使用。但RAID 6需要分配給奇偶校驗訊息更大的磁碟空間,相對於RAID 5有更大的「寫損失」,因此

「寫入效能」非常差。較差的效能和複雜的實作方式使得RAID 6很少得到實際應用。

同一陣列中最多容許兩個磁碟損壞。更換新磁碟後,資料將會重新算出並寫入新的磁碟中。依照設計理論,RAID 6必須具備四個以上的磁碟才能生效。

可使用的容量為硬碟總數減去2的差,乘以最小容量,公式為Size=(N-2)*min(S1,S2,S3...Sn),同理,資料保護區域容量則為最小容量乘以2。

RAID 6在硬體磁碟陣列卡的功能中,也是最常見的磁碟陣列等級。

 

比較表:

RAID等級

需要硬碟數

最小容錯硬碟數

可用容量

效能/目的

安全性

應用產業

0

>=2

0

n

最高/追求最大容量速度

一個硬碟異常,全部硬碟跟著異常

視訊剪接快取用

1

>=2

總數的一半

總容量的一半

稍有提升/追求最大容量速度

最高

個人、企業備份

5

>=3

1

n-1

高/追求最大容量、最小預算

個人、企業備份

6

>=4

2

n-2

比RAID5慢

安全性比RAID5高

個人、企業備份

 

磁碟陣列種類

「軟體磁碟陣列」(Software RAID)

主要由電腦主機板CPU處理陣列儲存作業,缺點為耗損較多電腦CPU運算RAID的資源,優點則是價格偏低。
分類有二種:

1.純軟體磁碟陣列(Pure Software RAID):只需要主機板支援即可,不需要任何磁碟陣列卡。

2.硬體輔助磁碟陣列(Hardware-Assisted RAID):需要一張磁碟陣列卡,以及磁碟陣列卡廠商所提供的驅動程式。

(目前遇到的使用此方式,卡上面有電池,一段時間就必須更換。) crying

 

「硬體磁碟陣列」(Hardware RAID)

硬體磁碟陣列卡上內建CPU處理器,協助分擔電腦CPU運算RAID的資源,優點是比軟體磁碟陣列效能還強,I/O讀寫效能也最快,也能在系統斷電後,透過備份電池模組(BBU, Backup Battery Unit)以及非揮發性記憶體 (NVRAM)將硬碟讀寫日誌檔(Journal)包含的剩餘讀寫作業先紀錄在記憶體中,等待電力供應復原後,再由NVRAM取回日誌檔資料,接著再完成讀寫作業,將剩餘讀寫作業安全完成以確保讀寫完整性。備份電池模組通常會配合陣列卡的Write-Back快取模式,藉由此記憶體快取讀寫作業以得到更高的讀寫效能;但是沒有備份電池模組的硬體磁碟陣列卡,切勿使用Write-Back快取模式以免遭遇斷電情形導致讀寫資料流失。此外,因為硬體磁碟陣列卡搭載CPU處理器,所以可以與系統分離出來,對硬碟進行各種作業,還原作業的速度也比軟體磁碟陣列快,唯售價較高是其缺點。

 

另外,除了伺服器上會有磁碟陣列概念防止資料散失,NAS (Network Attached Storage)網路儲存設備也利用此概念。

NAS和傳統的檔案儲存服務不同的地方,在於NAS設備上面的作業系統和軟體提供了資料儲存、資料存取、以及相關的管理功能;此外,NAS設備也提供了不止一種檔案傳輸協定。NAS系統通常有一個以上的硬碟,而且和傳統的檔案伺服器一樣,通常會把它們組成RAID來提供服務;有了NAS以後,網路上的其他伺服器就可以不必再兼任檔案伺服器的功能。NAS的型式很多樣化,可以是一個大量生產的嵌入式設備,也可以在一般的電腦上執行NAS的軟體。

 

 

以上資料來自 《維基百科RAID》

http://zh.wikipedia.org/zh-tw/RAID

 

-------------------------------------------------------------------

之前伺服器硬碟壞掉更換,看一下RAID5的介紹,至少要三個硬碟組成,同一時間只能容許一個硬碟壞掉,所幸那次更換完REBUILD沒有問題,後來找找很多在REBUILD也有碰到問題,所以,在硬碟更換後,做REBUILD之前資料要先備份比較保險!!