RAID10 中的磁碟數量對於 Microsoft SQL 伺服器的塊大小是否重要?
我們計劃部署 Microsoft SQL Server 並將數據庫儲存在 RAID10 (RAID1+0) 塊級儲存上。
我在陣列中放入多少驅動器以實現最佳操作是否重要?是四個,如上圖所示,還是六個、八個或十個?
有人告訴我,我需要正確數量的驅動器才能為 MSSQL 優化塊大小。
給出的範例是具有六個驅動器 (D1–D6) 的 RAID10 …
RAID 0
├ RAID1 (D1; D2)
├ RAID1 (D3; D4)
RAID1 (D5; D6)
… 會導致問題,因為 64 kB 的塊將被分成三個,結果導致必須在每個 RAID1 子陣列上寫入大小為 0.33% 的塊。
這只是進一步澄清我的問題的一個例子。那麼,我在陣列中放入多少驅動器以實現最佳操作是否重要?
請用參考資料和解釋來支持你的答案。
MSSql Server 的塊大小應為 64kb,以獲得最佳性能,如簡單的Google 搜尋所述。
關於驅動器,RAID 10 至少需要 4 個驅動器(查看您自己連結的圖像),然後您可以將 2 對擴展至您的內心內容(再次查看您連結的圖像)。但是請記住,一旦系統在使用中,用更多磁碟升級它是一件很痛苦的事情,所以一定要確保根據需要放入盡可能多的磁碟!
添加:
您的問題仍然是相同的答案,在您的 RAID 上具有 64kB 的塊大小,這意味著它將寫入 64kB 的塊。MSSql 執行 64kB 大小的文件,這意味著它將遞歸儲存塊。所以說你寫了兩個block,64kB會儲存到D1,然後鏡像到D2,然後它會再寫一個block到D3,然後鏡像到D4。它絕不會嘗試拆分塊,如果您將塊大小設置為 8kB,就會發生這種情況。然後它將塊分成 8 塊,因此塊 1、4、7 將進入 D1,塊 2、5、8 將進入 D3,而 3、6 將進入 D5。這當然會相應地反映。