一: RAID簡介
RAID(Redundant Array of Independent Disk 獨立冗餘磁碟陣列)是一項資料保護策略.
二: RAID的幾種常用層級
1. RAID 0:
通過並行讀取來提高資料I/O, 讀取操作效率很高, 但是不提供資料容錯及保護. 不推薦作為SQL Server使用.
2. RAID 1:
鏡像保護,有兩個磁碟機,一個做主磁碟機,一個做鏡像, 所以是實際需要兩倍的磁碟機,第二個所為冗餘使用. 使用RAID 1我們的儲存容量應該是(n*s/2)。
一次寫操作寫入到兩個磁碟, 所以雖寫入速度會稍微有影響, 但是讀取速度幾乎是大多數情況下的兩倍. 因為在讀取操作過程中磁碟機可以並行地進行訪問,從而提高了輸送量。RAID 1限制於兩個磁碟機。
3. RAID 5:
帶校正的磁碟條帶。在這種類型的RAID中,資料以複雜條帶的形式寫入到陣列中的所有磁碟機中,同時所有磁碟機中都有分布數校正塊。這樣RAID 5就可能使用三個或者更多磁碟組成的任意大小的陣列,只犧牲相當於一個磁碟的儲存容量用於校正。但是這種校正是分布式的,並不單獨存在於任何一個物理磁碟中.
RAID 5由於在大型陣列中犧牲的儲存容量較少,所以它具有成本效益的特點,從而被人們所廣泛使用。與鏡像不同的是,帶有校正的條帶要求必須在磁碟之間進行針對每個寫入條帶的計算,這造成了一部分的開銷。因此,輸送量並不總是一個容易計算的項目,它在很大程度上取決於系統在做校正計算時候的計算能力。
計算RAID 5的容量非常簡單:就是((n-1)*s)。RAID 5陣列可以避免這列中任何單個磁碟的丟失.
對RAID5的每一次寫操作, 都會涉及到多個讀用於計算並且儲存. 對SQL Server有很多的寫操作,並且要求很高效率的時, RAID 5並不是一個很好的選擇.
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)。
RAID效能比較:
讀效率: 因為是並行讀取, 讀取效率都很高.
寫效率: 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, 資料備份,建議資料備份在遠端
SSD硬碟:SSD的英文全稱是Solid State Disk/Drive, 中文翻譯為固態硬碟. 可以廣泛應用於伺服器、台式機、筆記本、行動裝置、遊戲機等, 加速啟動, 提高效能, 同時降低功耗.
優點:
- 速度快(高I/O).
- 耐用防震
- 無噪音
- 重量輕
- SQL Server搭配SSD硬碟可以取得很好的I/O效能
缺點:
- 價格高,容量小,做RAID會進一步損失容量, 所以性價比不高. 對於不考慮價格的公司就另當別論.
- 技術還不是太成熟
四: 總結
針對不同的功能,建立不同的RAID架構可以提高資料效率和利用率.
(以上只是自己對RAID的一點淺顯的理解,如有錯誤或者不當的地方,歡迎提出指正. 謝謝!)
>>>SQL Server效能調校系列入口地址