【轉載】SQL Server性能調校系列(7)--RAID

 

一: RAID簡介

RAID(Redundant Array of Independent Disk 獨立冗餘磁盤陣列)是一項數據保護策略.

 

二: RAID的幾種常用級別

 

1. RAID 0:

通過並行讀取來提高數據I/O, 讀取操作效率很高, 但是不提供數據容錯及保護. 不推薦作爲SQL Server使用.

image

 

2. RAID 1:

鏡像保護,有兩個驅動器,一個做主驅動器,一個做鏡像, 所以是實際需要兩倍的驅動器,第二個所爲冗餘使用. 使用RAID 1我們的存儲容量應該是(n*s/2)。

一次寫操作寫入到兩個磁盤, 所以雖寫入速度會稍微有影響, 但是讀取速度幾乎是大多數情況下的兩倍. 因爲在讀取操作過程中驅動器可以並行地進行訪問,從而提高了吞吐量。RAID 1限制於兩個驅動器。

image

 

3. RAID 5:

帶校驗的磁盤條帶。在這種類型的RAID中,數據以複雜條帶的形式寫入到陣列中的所有驅動器中,同時所有驅動器中都有分佈數校驗塊。這樣RAID 5就可能使用三個或者更多磁盤組成的任意大小的陣列,只犧牲相當於一個磁盤的存儲容量用於校驗。但是這種校驗是分佈式的,並不單獨存在於任何一個物理磁盤中.

RAID 5由於在大型陣列中犧牲的存儲容量較少,所以它具有成本效益的特點,從而被人們所廣泛使用。與鏡像不同的是,帶有校驗的條帶要求必須在磁盤之間進行鍼對每個寫入條帶的計算,這造成了一部分的開銷。因此,吞吐量並不總是一個容易計算的項目,它在很大程度上取決於系統在做校驗計算時候的計算能力。

計算RAID 5的容量非常簡單:就是((n-1)*s)。RAID 5陣列可以避免這列中任何單個磁盤的丟失.

 

對RAID5的每一次寫操作, 都會涉及到多個讀用於計算並且存儲. 對SQL Server有很多的寫操作,並且要求很高效率的時, RAID 5並不是一個很好的選擇.

image

 

4. RAID 6

帶雙重校驗的磁盤條帶。RAID 6與RAID 5非常相似,但它的每個條帶使用兩個校驗塊,而不是一個,這加強了應對磁盤故障的保護能力。

RAID 6是RAID家族中的新成員。RAID 6是其他幾個RAID類型實現標準化幾年之後增加的。RAID 6比較特殊,因爲它可以承受陣列中任意兩個驅動器的故障,同時防止數據丟失。但是爲了配合額外的冗餘度,RAID 6陣列需要犧牲陣列中相當於兩個驅動器的容量,並要求真列中最少有四個驅動器。RAID 6的容量可以用((n-2)*s)來計算。

 

5. RAID 10:

帶條帶的鏡像。從技術上來說,RAID 10是一種混合的RAID,包括存在於一個非校驗條帶(RAID 0)中的一對RAID鏡像。

當一個陣列中只有兩個驅動器的時候,很多廠商會稱其爲RAID 10(或者RAID 10+),但從技術上來說這應該是RAID 1,因爲陣列中至少有四個驅動器纔會發生條帶化。對於RAID 10來說,驅動器必須是一對一對添加的,因此陣列中的驅動器數量只可能是偶數。

RAID 10可以在丟失近半數驅動器組的情況下正常運轉,同時最多隻能承受每個驅動器中一個驅動器發生故障或者丟失。RAID 10不包含校驗計算,這使得它相對RAID 5和RAID 6來說具有一定的性能優勢,而且陣列對計算能力的要求也更低。RAID 10提供了超過任何一種常見類型RAID的讀取性能,因爲在讀取操作中陣列中的所有驅動器都可同時使用。但是RAID 10的寫入性能要低很多。RAID 10的容量計算方法和RAID 1相同,都是(n*s/2)。

image 

 

RAID性能比較:

image

 

讀效率: 因爲是並行讀取, 讀取效率都很高.

寫效率: RAID 0 > RAID 1 > RAID 10 > RAID 5

磁盤利用率: RAID 0 > RAID 5 > RAID 1 = RAID 10

容錯能力:  RAID 10 = RAID 1 > RAID 5 > RAID 0

作爲SQL Server 的DB Server建議使用RAID 1 或RAID10.

 

 

三: RAID與SQL Server

 

DB server physical disk design with separate RAID volumes for data, log, tempdb and backup files.

磁盤架構:

C:  OS [要求很好的數據讀寫效率, 並且有很強的容錯能力, 提供數據保護]

D: 做RAID10, 存儲DB數據文件 [要求讀的效率高, 寫效率比較低一些, 容錯能力要強,如果數據文件很大, 要求節約磁盤空間]

E: 做RAID1,  存儲DB日誌文件 [在DB運行過程中, 日誌讀寫比較頻繁, 需要很高的數據讀寫效率]

F: 做RAID10, 存儲數據庫的tempdb [存放臨時數據庫]

G(可選): 做RAID1, 數據備份,建議數據備份在遠端

image

 

SSD硬盤:SSD的英文全稱是Solid State Disk/Drive, 中文翻譯爲固態硬盤. 可以廣泛應用於服務器、臺式機、筆記本、移動設備、遊戲機等, 加速啓動, 提高性能, 同時降低功耗.

優點:

  • 速度快(高I/O).
  • 耐用防震
  • 無噪音
  • 重量輕
  • SQL Server搭配SSD硬盤可以取得很好的I/O性能

缺點:

  • 價格高,容量小,做RAID會進一步損失容量, 所以性價比不高. 對於不考慮價格的公司就另當別論.
  • 技術還不是太成熟

 

四: 總結

針對不同的功能,建立不同的RAID架構可以提高數據效率和利用率.

 

原載地址:http://www.cnblogs.com/changbluesky/archive/2010/10/21/1857303.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章