RAID級別你選誰(上)(轉貼)

RAID級別你選誰(上) 
RAID 012345 到底哪一種適合你,不只是成本問題,容錯功能和傳輸性能的考慮以及未來之可擴充性都應該符合應用的需求。

  RAID 在市場上的的應用,已經不是新鮮的事兒了,很多人都大略瞭解RAID的基本觀念,以及各個不同RAID LEVEL 的區分。但是在實際應用面,我們發現,有很多使用者對於選擇一個合適的RAID LEVEL,仍然無法很確切的掌握,尤其是對於RAID 0+1 (10),RAID 3,RAID 5之間的選擇取捨,更是舉棋不定。

  本文將針對RAID 0+1/10、RAID 3以及RAID 5的工作原理和特性,作一些分析和比較,以列出這些不同RAID階層所適合的應用,希望對各位能有原則性的幫助。

   RAID條切“striped”的存取模式

  在使用數據條切﹝Data Stripping﹞ 的RAID 系統之中,對成員磁盤驅動器的存取方式,可分爲兩種:

  並行存取﹝Paralleled Access﹞
  獨立存取﹝Independent Access﹞

  RAID 2和RAID 3 是採取並行存取模式。

  RAID 0、RAID 4、RAID 5及RAID 6則是採用獨立存取模式。

   平行存取模式

  並行存取模式支持裏,是把所有磁盤驅動器的主軸馬達作精密的控制,使每個磁盤的位置都彼此同步,然後對每一個磁盤驅動器作一個很短的I/O數據傳送,如此一來,從主機來的每一個I/O 指令,都平均分佈到每一個磁盤驅動器。

  爲了達到並行存取的功能,RAID 中的每一個磁盤驅動器,都必須具備幾乎完全相同的規格:轉速必須一樣;磁頭搜尋速度﹝Access Time﹞必須相同;Buffer 或Cache的容量和存取速度要一致;CPU處理指令的速度要相同;I/O Channel 的速度也要一樣。總而言之,要利用並行存取模式,RAID 中所有的成員磁盤驅動器,應該使用同一廠牌,相同型號的磁盤驅動器。

   

  並行存取的基本工作原理

  假設RAID中共有四部相同規格的磁盤驅動器,分別爲磁盤驅動器A、B、C和D,我們在把時間軸略分爲T0、T1、T2、T3和T4:

T0: RAID控制器將第一筆數據傳送到A的Buffer,磁盤驅動器B、C和D的Buffer都是空的,在等待中 
T1: RAID控制器將第二筆數據傳送到B的Buffer,A開始把Buffer中的數據寫入扇區,磁盤驅動器C和D的Buffer都是空的,在等待中 
T2: RAID控制器將第三筆數據傳送到C的Buffer,B開始把Buffer中的數據寫入扇區,A已經完成寫入動作,磁盤驅動器D和A的Buffer都是空的,在等待中 
T3: RAID控制器將第四筆數據傳送到D的Buffer,C開始把Buffer中的數據寫入扇區,B已經完成寫入動作,磁盤驅動器A和B的Buffer都是空的,在等待中 
T4: RAID控制器將第五筆數據傳送到A的Buffer,D開始把Buffer中的數據寫入扇區,C已經完成寫入動作,磁盤驅動器B和C的Buffer都是空的,在等待中 
  
如此一直循環,一直到把從主機來的這個I/O 指令處理完畢,RAID控制器纔會受處理下一個I/O 指令。重點是在任何一個磁盤驅動器準備好把數據寫入扇區時,該目的扇區必須剛剛好轉到磁頭下。同時RAID控制器每依次傳給一個磁盤驅動器的數據長度,也必須剛剛好,配合磁盤驅動器的轉速,否則一旦發生miss,RAID 性能就大打折扣。

  並行存取RAID的最佳應用

  並行存取RAID之架構,以其精細的馬達控制和分佈之數據傳輸,將數組中每一個磁盤驅動器的性能發揮到最大,同時充分利用Storage Bus的頻寬,因此特別適合應用在大型、數據連續的檔案存取應用,例如:

  影像、視訊檔案服務器
  數據倉儲系統
  多媒體數據庫
  電子圖書館
  印前或底片輸出檔案服務器
  其它大型且連續性檔案服務器

  由於並行存取RAID架構之特性,RAID 控制器一次只能處理一個I/O要求,無法執行Overlapping 的多任務,因此非常不適合應用在I/O次數頻繁、數據隨機存取、每筆數據傳輸量小的環境。同時,因爲並行存取無法執行Overlapping 的多任務,因此沒有辦法"隱藏"磁盤驅動器搜尋﹝seek﹞的時間,而且在每一個I/O的第一筆數據傳輸,都要等待第一個磁盤驅動器旋轉延遲﹝rotational latency﹞,平均爲旋轉半圈的時間,如果使用一萬轉的磁盤驅動器,平均就需要等待50 usec。所以機械延遲時間,是並行存取架構的最大問題。

   獨立存取模式

  相對於並行存取模式,獨立存取模式並不對成員磁盤驅動器作同步轉動控制,其對每個磁盤驅動器的存取,都是獨立且沒有順序和時間間格的限制,同時每筆傳輸的數據量都比較大。因此,獨立存取模式可以儘量地利用overlapping 多任務、Tagged Command Queuing等等高階功能,來"隱藏"上述磁盤驅動器的機械時間延遲﹝Seek 和Rotational Latency﹞。

  由於獨立存取模式可以做overlapping 多任務,而且可以同時處理來自多個主機不同的I/O Requests,在多主機環境﹝如Clustering﹞,更可發揮最大的性能。

  獨立存取RAID的最佳應用

  由於獨立存取模式可以同時接受多個I/O Requests,因此特別適合應用在數據存取頻繁、每筆數據量較小的系統。例如:

  在線交易系統或電子商務應用
  多使用者數據庫
  ERM及MRP 系統
  小文件之文件服務器
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章