Raid

提高 RAID 性能

  • October 15, 2011

我剛剛安裝了一個 LSI 9260-i8,使用兩個虛擬驅動器,第一個由 4 個 SSD 組成,第二個由 4 個 HDD 組成。顯然,這個想法是在保持一定安全性和充足儲存容量的同時獲得更好的性能。

SSD 很棒,在處理小到相對大的文件時,該陣列的速度非常快。HDD 主要託管大型文件 (500MB-30GB)。它旨在作為主要的長期儲存設施,而 SSD 陣列僅用於操作文件和短期儲存。這意味著文件通常會從 SSD 陣列移動到 HDD 陣列。

問題是,在編寫完第一個大型操作之後,性能會迅速下降。它從大約 250MB/s 開始,對於只有 5 個 HDDS 的 RAID 5 陣列來說,寫入性能還不錯,但是我剛剛做的副本,由 4 個文件組成,總計 12 GB,逐漸下降到 35MB/s 的低點。

現在我想一個人的建議將取決於很多元資訊,所以這裡是:

  • LSI 卡還沒有 BBU,因此禁用了回寫。
  • HDD 是 WD15EARS 2TB 驅動器。顯然,這些並不是目前最快的 HDD,但我認為始終保持 200MB/s 的速度並不過分。
  • SSD 是 OCZ Vertex 2 60GB 驅動器。
  • 不要認為這是相關的,但 HDD 的降速時間增加到 5 分鐘,而不是正常的 8 秒
  • 驅動器在儲存管理器中顯示健康,日誌中沒有註意錯誤
  • 就像我說的,SDD 非常快,讀取速度高達 1100MB/s,所以這似乎不是瓶頸。
  • 複製似乎暫停,它會快速執行,停止,再次快速執行約 500MB 等,導致整體速度降低。
  • 創建 HDD 陣列時,我使用了 512Kb 的條帶大小。這是巨大的,但我預計該陣列上只有大到大的文件。我現在也不想改變它,因為它會破壞現有數據而且我沒有備份(還)
  • 作業系統是 Ubuntu 10.04 (64bit)
  • 主機板 Asus WS Revolution(它是一個工作站)、24GB ECC RAM、Xeon W3570 庫存 3.2GHz
  • LSI 卡插入第一個 PCIe 插槽(以避免 NF200 引入的延遲)
  • 系統在其他方面完全穩定
  • 硬碟陣列使用 “mkfs.ext4 -b 4096 -E stride=128,stripe-width=384 -L “DATA” /dev/sdb” 格式化
  • fstab 不包括 data=writeback,也不包括 noaccess,儘管我認為這不應該是影響大文件的問題

任何和所有的建議表示讚賞。

我認為“LSI 卡還沒有 BBU,所以回寫被禁用”是瓶頸。

如果您有 UPS - 啟用回寫。

如果沒有 - 嘗試獲取 BBU。

如果不能 - 如果啟用回寫,您可以通過失去記憶體數據來冒險虛擬驅動器上的數據一致性,以防電湧,或者使用直寫記憶體保持這些速度。

即使您將分區與邏輯卷對齊(通常由大多數現代作業系統自動完成)並使用優化的集群/塊大小格式化卷,足夠大(我認為在您的情況下應該是 2mb)以獲取所有驅動器處理單個 IO 請求我認為您不會獲得很大的寫入性能差異。

因為 RAID5 的寫入性能是一個非常成本的過程。而且由於它是通過 XOR 處理器寫入的,所以我認為記憶體中沒有全部數據來實時執行奇偶校驗計算

在 4x320gb hdds 515kb stip 大小的 RAID 5 上啟用回寫記憶體後,寫入大型順序文件的平均寫入速度為 250-350 MB/秒,在虛擬卷內複製大文件的平均寫入速度為 150 MB/秒。(我仍然沒有 BBU,但我有舊的 apc 700VA 智能UPS,所以我認為它足以最大限度地減少電湧和最終的記憶體損失)

我們是在討論 100% 隨機、100% 順序還是某種混合模式?當我在陣列上/從/向陣列上完全讀取、寫入或複制大文件時,我主要體驗的是高速。另一方面,正如已經說過的那樣,隨機寫入(讀取)的平均速度從小於 1 mb/s 到 190 mb/s 的平均速度要低得多,具體取決於文件​​大小和/或請求大小。在日常小尺寸/文件使用中,大多低於 20mb/s 範圍。因此,這在很大程度上取決於現實生活中隨機傳輸中的應用。因為我使用的是 Windows 作業系統,所以我的捲非常像碎片整理一樣,對於大文件,像從/到複製這樣的大操作非常快

還有一個建議是解決普通硬碟讀取/寫入隨機速度慢的問題 - 如果您要重新配置整個控制器配置,為什麼不考慮使用 1 或 2 個 SSD 來實現不依賴電源的 CacheCade raid 記憶體(類似於adaptec 混合raid),其餘的用於您的作業系統/應用程序驅動器,因為您現在正在使用它們?這樣,即使通過寫入,您也應該能夠提高 raid 5 卷的速度,因為我認為對物理硬碟的實際寫入應該在後台進行,並且當您使用通過記憶體寫入時(沒有板載控制器記憶體)而ssds作為記憶體,我認為你應該不用擔心系統重置。但是有關 cachecade 如何工作的實際和具體資訊,請閱讀 lsi 的文件,甚至像我一樣詢問 LSI 的技術支持'

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