Linux

linux軟體raid10,相同的機器,結果大相徑庭

  • January 28, 2016

我在兩台其他相同的機器上擁有截然不同的軟體 raid10 性能和行為。

我有兩台硬體相同的機器,同時購買,具有相同的軟體版本、硬體版本和韌體版本。每個都有一個帶有 8 個 6 Gb/s 通道的 SAS 控制器,通向一個 SAS 機箱,該機箱容納 12 個 SAS 磁碟。

在機器 1 上,這台機器很穩定,似乎執行良好,raid 陣列中的每個磁碟的行為或多或少都是相同的:繁忙時間是相等的(在生產負載級別的所有磁碟中大約 33%),而每週的軟體 raid 檢查執行、寫入和讀取性能不會降低。完整的突襲檢查在大約一天內完成,使用所有可用的備用頻寬以盡可能快地完成它。在此檢查完成時,這相當於大約 200 MB/秒的讀取速度。

機器 2 是問題兒童。完整的 RAID 檢查基本上永遠不會完成,儘管它被配置為也使用所有可用的磁碟頻寬。在嘗試檢查時,它以 5 MB/秒的速度緩慢前進,並且在此期間寫入性能下降到大約 30 MB/秒。此外,四個磁碟的平均繁忙率為 35%,而其餘磁碟的平均繁忙率為 22%。

取消機器 2 上的 raid 檢查後,寫入速度恢復到大約 160 MB/秒。

如果我dd用來測試每個單獨mpath的設備,在機器 1 上,每個驅動器的讀取速度最高約為 145 MB/秒,最低為 119 MB/秒,其次是 127 MB。其餘的都在 145 MB/秒範圍內。

在機器 2 上,我的速度在 107 MB(x 3 個磁碟)之間,其餘的都在 135 MB/秒以上,一個磁碟的峰值為 191 MB/秒(!)。

我承認在這裡我已經脫離了我的舒適區,但我找不到任何證據來得出結論。我還檢查了兩台機器上每個磁碟上的 SMART 統計數據,雖然所有磁碟上都存在相當數量的“讀取更正”錯誤,但值和讀取性能之間似乎沒有相關性,busy% 差異之間也沒有.

我找不到任何解釋當在一個盒子和另一個盒子上對陣列執行 RAID 檢查時性能不佳的原因。關於下一步調試的建議將不勝感激。

我發現了問題。軟體陣列中的 12 個磁碟中有 4 個禁用了寫入記憶體。

這是我為縮小範圍所做的工作:

我將陣列分開,並使用 dd 和 oflag=direct 來測試每個磁碟的寫入速度。我發現繁忙百分比較高的那些也只能寫入大約 75 MB/秒,而所有其他的可以寫入 180 MB/秒以持續寫入 1 GB 和 10 GB 數據大小。

但是,由於 4 個慢盤都非常一致,我開始探勘,並安裝sdparm以允許我擺弄 SCSI 參數頁。

一旦我看到 WCE(啟用寫入記憶體)的預設設置是打開的,但是這四個磁碟都關閉了它,我就把它打開了。寫入速度上升到 180 MB/秒標記,並且陣列現在以 1 GB/秒的速率重建(這大約是這組磁碟可以使用此控制器完成的最大速度。)

檢查命令是sdparm --get=WCE /dev/mapper/mpatha和設置它,sdparm --set=WCE --save /dev/mapper/mpatha為未來的使用者。

此外,節電功能已開啟——這阻止了作業系統級別的記憶體以保持速度,儘管 oflag=direct 仍然如此。

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