Raid

為什麼 MongoDB 文件建議在 EBS 上執行 Raid 10?

  • May 3, 2013

他們似乎只談論性能,我認為與其他混合 RAID 類型相比,情況並非如此。

見這裡:http ://www.mongodb.org/display/DOCS/Amazon+EC2#AmazonEC2-EBSvs.LocalDrives

您在問什麼——“為什麼 MongoDB 推薦 EBS 而不是本地磁碟”或“為什麼 MongoDB 推薦 RAID-10 而不是單個 EBS?” 我認為您提供的連結中的這兩個問題都得到了很好的回答,但回顧一下:

  • EBS 與本地磁碟:如果您希望 MongoDB 數據在實例崩潰或重啟後倖免於難,這很容易。當實例消失時,本地磁碟消失。
  • EBS 的 RAID-10:簡而言之,EBS 的性能非常糟糕……非常糟糕(而且,更糟糕的是,多變)。RAID-10 至少將負載分散到許多卷上。

編輯:那麼,還有第三個問題。從您的評論連結連結到的實際基準數據已經消失,所以我們只有評論,但我會說這是一個糟糕的基準,因為所涉及的邏輯是錯誤的。不同 RAID 級別所需的每塊 I/O 為:

  • RAID1:跨 N 個磁碟的 N 次寫入
  • RAID5:N-2 次讀取(在條帶中收集現有的、未更改的數據——如果幸運的話,可能會被記憶體),2 次寫入 N 個磁碟
  • RAID10:跨 N 個磁碟寫入 2 次

我無法解釋為什麼基準測試會得到它所做的結果,因為數據已經消失了,但我的猜測是沒有進行足夠的測試執行來消除測試共享資源的固有可變性。早在很久以前,我就為 Heroku 做了很多此類工作,並且隨著時間的推移(以及超過數量)執行的可變性令人震驚……令人震驚。

至於您引用的維基百科文章,在這種情況下無關緊要,因為它完全是關於高端 SAN 設備中的 RAID-5;您在 VM 中執行 RAID-5,它缺乏執行“奇偶校驗重新計算和重新分配任務”的能力

$$ … $$作為對主機透明的後端程序執行”——在“大屁股 SAN”和“軟體 RAID”之間的各種其他差異中。

引用自:https://serverfault.com/questions/295324