SQL Server:1 個 12 磁碟機 RAID-10 陣列或 2 個 8 個磁碟機和 4 個磁碟機陣列

SQL Server:1 個 12 磁碟機 RAID-10 陣列或 2 個 8 個磁碟機和 4 個磁碟機陣列

為 SQL Server 2008 設定一個盒子,哪一個可以提供最佳效能(重型 OLTP)? RAID-10 陣列中的磁碟機越多,效能越好,但如果將遺失 4 個磁碟機專門用於交易日誌,則效能會更高。

RAID-10 中的 12 個磁碟機加 1 個熱備用。

或者

RAID-10 中的 8 個磁碟機用於資料庫,4 個磁碟機 RAID-10 用於交易日誌以及 2 個熱備用零件(每個陣列一個)。

我們有 14 個驅動器插槽可供使用,它是一個較舊的 PowerVault,不支援全域熱備件。

答案1

我會去10/2。日誌通常很小且是連續的,您的 RAID 控制器應該能夠足夠有效地對它們進行排隊,以便將它們寫入 raid 1 中的 2 個磁碟,而不會幹擾其餘磁碟。如果您的 RAID 控制器無法執行此操作,那麼請忘記任何拆分,如果您趕時間,只需選擇 12。如果您有時間,可以進行一些測試,看看效果如何。遺憾的是缺乏全球熱備件,但無論如何,聽起來你有一個像樣的盒子可以玩。

答案2

就我有限的知識而言,有兩個主要因素需要考慮

  1. 資料庫檔案操作通常是隨機的,因此您需要最大化該磁碟的 IOPS,而交易日誌檔案操作通常是連續的,因此您需要良好的原始吞吐量

  2. 您希望以這種方式單獨儲存主資料庫和交易日誌 - 如果您遺失了主資料庫磁碟,您可以從備份+交易日誌重新產生資料庫,如果您只是遺失了交易日誌,您仍然擁有主資料庫。

當然,它比上面的摘要要複雜得多,但這就是基礎知識。因此,我會說使用兩個獨立的陣列,如果您有能力為兩個陣列使用 RAID10,那就太好了。

答案3

您應該在 RAID-10 中使用 12 個驅動器,但請確保伺服器有足夠的記憶體。原因是,如果您有足夠的內存,則大多數資料寫入都會被緩存,並且畢竟在將資料寫入磁碟時,許多寫入將合併在單一 IO 事務中。對於 OLTP 資料庫尤其如此。快取為您提供了足夠的頻寬,用於將交易日誌寫入相同磁碟機。透過在回寫模式下使用具有受 BBU 保護的內建快取的硬體 RAID 控制器,您可以進一步提高寫入效能。

另請注意,使用 8+4 或 10+2 也是不錯的選擇,我看到的唯一缺點是儲存使用效率低。否則它是固體的。

答案4

必須首先確定你的工作量。並且測試,測試,測試(怎麼強調都不夠):

首先,「我的 RAID 10 中的磁碟越多,速度就越快」這一說法並不正確。這很大程度上取決於您的 RAID 系統如何實現此 RAID 等級(寫入/讀取/條帶化/緩衝區的分佈...我可以繼續)。

其次,雖然將交易日誌儲存在與資料庫不同的位置(磁碟)總是一個好主意,但有效增益取決於您的工作負載,是否有很多但很小的寫入,或者是否有很少但很大的寫入,什麼是寫入/讀取比率、讀取量有多大…等等。頁數

你說你做了很多 OLTP。根據我對這個術語的理解,這意味著大量讀取,而不是大量寫入(...是嗎?首先確認這一點)。在這種情況下,將交易日誌儲存在同一個地方就可以了 - 所以我會選擇12驅動器

相關內容