我們有一台中央儲存伺服器 (PowerEdge R720),為 HPC 叢集提供共用文件,並且它連接了兩個硬體 RAID 控制器(PERC H810,每個控制器驅動 2 個 MD1200 機櫃,其中裝有 7200rpm 4TB 磁碟)。與典型的 HPC 工作負載一樣,存取模式預計是高度並行的順序讀取/寫入。我認為將檔案分條到兩個陣列會提供更好的總吞吐量,但在硬體 RAID 之上使用軟體 RAID 0 的想法對我來說聽起來很瘋狂。
我想出了兩個選擇:
- NFS on XFS on software RAID 0 on hardware RAID 6
- 每個硬體 RAID 6 上的光彩
XFS 優點:專案配額。
XFS 缺點:XFS 上的 NFS 顯示出非常糟糕的元資料效能(當吞吐量很大時,會降級到幾乎無法使用,我是否調錯了?)。
lustre 優點:明顯更好的元資料效能。
光澤缺點(?):我們沒有專用的元資料設備,必須對陣列進行分區。聽起來不建議這樣做。
我們考慮了元資料效能,因為雖然順序 R/W 是主要工作負載,但我們有一些程式正在處理大約 40k 1GB 檔案之類的東西。以互動方式管理這些文件確實需要可接受的元資料效能。
最後一個問題是,在硬體和軟體上使用什麼條帶大小?
答案1
我們決定這樣的設定:
- 每個 MD1200 機櫃中的硬體 RAID-6
- 四個硬體陣列上的兩個 LVM LV,每個將兩個卡上的兩個陣列組合在一起,不進行條帶化
- 兩個 LV 上的 XFS,條帶選項與裸硬體陣列相同
- 兩塊磚上有光澤體積,無條紋
我們調查了用戶的所有應用程序,發現它們都對許多文件進行操作。因此,這並不是許多客戶端存取單一大檔案的情況,需要在 gluster 層級上進行條帶化;相反,僅將檔案隨機分配到區塊就能夠提供足夠的總吞吐量。
雖然此設定的元資料效能比luster差(大約一半),但當存在大吞吐量時它不會降低。結果是可以接受的。
Gluster 在目錄上配置配額,而且它比 lustre 更容易設置,因此需要的管理工作比 lustre 少得多。在我的(粗略)測試中,此設定的順序吞吐量與 lustre 相當,因此我們決定在元資料效能中犧牲這一部分,以便於管理。