RAID級別你選誰(下)

RAID級別你選誰(下) 
一般常用的RAID階層,分別是RAID 0、RAID1、RAID 3、RAID 4以及RAID 5,再加上二合一型 RAID 0+1﹝或稱RAID 10﹞。我們先把這些RAID級別的優、缺點做個比較: 
 

RAID級別 相對優點 相對缺點 
RAID 0 存取速度最快 沒有容錯 
RAID 1 完全容錯 成本高  
RAID 3 寫入性能最好 沒有多任務功能 
RAID 4 具備多任務及容錯功能 Parity 磁盤驅動器造成性能瓶頸 
RAID 5 具備多任務及容錯功能 寫入時有overhead 
RAID 0+1/RAID 10 速度快、完全容錯 成本高 


  接下來,我們分別針對RAID 3、RAID 5以及RAID 0+1/RAID 10作深入的討論。

  RAID 3特點與應用

  RAID 3 是將數據先做XOR 運算,產生Parity Data後,在將數據和Parity Data以並行存取模式寫入成員磁盤驅動器中,因此具備並行存取模式的優點和缺點。進一步來說,RAID 3每一筆數據傳輸,都更新整個Stripe﹝即每一個成員磁盤驅動器相對位置的數據都一起更新﹞,因此不會發生需要把部分磁盤驅動器現有的數據讀出來,與新數據作XOR運算,再寫入的情況發生﹝這個情況在RAID 4和RAID 5會發生,一般稱之爲Read、Modify、Write Process,我們姑且譯爲爲讀、改、寫過程﹞。因此,在所有RAID級別中,RAID 3的寫入性能是最好的。

  RAID 3的 Parity Data 一般都是存放在一個專屬的Parity Disk,但是由於每筆數據都更新整個Stripe,因此,RAID 3的 Parity Disk 並不會如RAID 4的 Parity Disk,會造成存取的瓶頸。

  RAID 3的並行存取模式,需要RAID 控制器特別功能的支持,才能達到磁盤驅動器同步控制,而且上述寫入性能的優點,以目前的Caching 技術,都可以將之取代,因此一般認爲RAID 3的應用,將逐漸淡出市場。

  RAID 3 以其優越的寫入性能,特別適合用在大型、連續性檔案寫入爲主的應用,例如繪圖、影像、視訊編輯、多媒體、數據倉儲、高速數據擷取等等。 

  RAID 4特點與應用

  RAID 4 是採取獨立存取模式,同時以單一專屬的Parity Disk 來存放Parity Data。RAID 4的每一筆傳輸﹝Strip﹞資料較長,而且可以執行Overlapped I/O,因此其讀取的性能很好。

  但是由於使用單一專屬的Parity Disk 來存放Parity Data,因此在寫入時,就會造成很大的瓶頸。因此,RAID 4並沒有被廣泛地應用。

  RAID 5特點與應用

  RAID 5也是採取獨立存取模式,但是其Parity Data 則是分散寫入到各個成員磁盤驅動器,因此,除了具備Overlapped I/O 多任務性能之外,同時也脫離如RAID 4單一專屬Parity Disk的寫入瓶頸。但是,RAI?D 5在座資料寫入時,仍然稍微受到"讀、改、寫過程"的拖累。

  由於RAID 5 可以執行Overlapped I/O 多任務,因此當RAID 5的成員磁盤驅動器數目越多,其性能也就越高,因爲一個磁盤驅動器再一個時間只能執行一個 Thread,所以磁盤驅動器越多,可以Overlapped 的Thread 就越多,當然性能就越高。但是反過來說,磁盤驅動器越多,數組中可能有磁盤驅動器故障的機率就越高,整個數組的可靠度,或MTDL (Mean Time to Data Loss) 就會降低。

  由於RAID 5將Parity Data 分散存在各個磁盤驅動器,因此很符合XOR技術的特性。例如,當同時有好幾個寫入要求發生時,這些要寫入的數據以及Parity Data 可能都分散在不同的成員磁盤驅動器,因此RAID 控制器可以充分利用Overlapped I/O,同時讓好幾個磁盤驅動器分別作存取工作,如此,數組的整體性能就會提高很多。

  基本上來說,多人多任務的環境,存取頻繁,數據量不是很大的應用,都適合選用RAID 5 架構,例如企業檔案服務器、WEB 服務器、在線交易系統、電子商務等應用,都是數據量小,存取頻繁的應用。

  RAID 0+1﹝RAID 10﹞

  RAID 0+1/RAID 10,綜合了RAID 0 和 RAID 1的優點,適合用在速度需求高,又要完全容錯,當然經費也很多的應用。RAID 0和RAID 1的原理很簡單,合起來之後還是很簡單,我們不打算詳細介紹,倒是要談談,RAID 0+1到底應該是RAID 0 over RAID 1,還是RAID 1 over RAID 0,也就是說,是把多個RAID 1 做成RAID 0,還是把多個RAID 0 做成RAID 1?

RAID 0 over RAID 1

  假設我們有四臺磁盤驅動器,每兩臺磁盤驅動器先做成RAID 1,再把兩個RAID 1做成RAID 0,這就是RAID 0 over RAID 1:

  (RAID 1) A = Drive A1 + Drive A2 (Mirrored)
  (RAID 1) B = Drive B1 + Drive B2 (Mirrored)
  RAID 0 = (RAID 1) A + (RAID 1) B (Striped)

  RAID 1 over RAID 0

  假設我們有六臺磁盤驅動器,每兩臺磁盤驅動器先做成RAID 0,再把兩個RAID 0做成RAID 1,這就是RAID 0 over RAID 1:

  (RAID 0) A = Drive A1 + Drive A2 (Striped)
  (RAID 0) B = Drive B1 + Drive B2 (Striped)
  RAID 1 = (RAID 1) A + (RAID 1) B (Mirrored)

  在這種架構之下,如果 (RAID 0) A有一臺磁盤驅動器故障,(RAID 0) A就算毀了,當然RAID 1仍然可以正常工作;如果這時 (RAID 0) B也有一臺磁盤驅動器故障,(RAID 0) B也就算毀了,此時RAID 1的兩磁盤驅動器都算故障,整個RAID 1資料就毀了。

  因此,RAID 0 OVER RAID 1應該比RAID 1 OVER RAID 0具備比較高的可靠度。所以我們建議,當採用RAID 0+1/RAID 10架構時,要先作RAID 1,再把數個RAID 1做成RAID 0
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章