此部落格探討最近宣佈的 HPC BeeGFS 儲存裝置適用的 Dell EMC 就緒解決方案 重要功能。這是系列中關於 BeeGFS 高效能儲存解決方案的第三個部落格。 第一個部落格宣佈推出解決方案。第二個部落格探討 適用於 HPC BeeGFS 儲存裝置的 Dell EMC 就緒解決方案擴充能力。它提供了關於基本組態、彈性可擴充組態,以及各種組態的實際測量順序讀/寫效能的詳細數據,證明解決方案中的伺服器數量具有線性。目前的部落格將強調「StorageBench」的使用,這是 BeeGFS 的內建儲存目標基準。
BeeGFS 是開放原始碼文件系統,可從 www.beegfs.io 下載。它是一種平行文件系統,可在多個儲存目標之間分配數據。這是一種軟體定義儲存裝置,可將邏輯檔案系統與底層儲存硬體分離,讓用戶能夠定義數據的儲存方式和位置。檔案系統軟體包含企業功能,例如高可用性、配額強制執行和訪問控制清單。BeeGFS 的主要功能是容易使用、擴充性和彈性。 其易於使用之處在於,所有的伺服器端元件都是用戶空間精幹,而用戶端則是一個不需要任何修補程式至核心本身的核心模組。所有 BeeGFS 元件皆可安裝和更新,而無需重新啟動伺服器。因此,我們可以將用戶端和伺服器新增至現有的系統,無需停機。新增伺服器並驅動檔系統的效能和容量,可以在此處連結的部落格中進一步擴充。BeeGFS 支援多個 Linux 散佈,其設計用於搭配任何 POSIX 相容的本機文件系統。BeeGFS 也支援在同一伺服器上執行多個特定服務實例。
適用於 HPC BeeGFS 儲存裝置的 Dell EMC 就緒解決方案,充分運用 BeeGFS 檔案系統的所有重要功能,專為高效能而設計。解決方案使用PowerEdge R740xd分隔器來儲存和供應/處理元數據和數據。 每個 PowerEdge R740xd 伺服器都有 24 個 1.6 TB Intel P4600 NVMe SSD,被視為磁碟驅動器技術的第二大躍進,SSD 是第一個。 在 HPC 環境中,刮傷空間通常是一個限制因素。可能太小或太慢。 HPC BeeGFS 儲存裝置適用的 Dell EMC 就緒解決方案可作為刮傷解決方案使用,並使用 BeeGFS 檔案系統來提供刮傷儲存裝置。
BeeGFS 包含兩個內建的效能指標工具,可分別協助您描繪或評估網路或儲存 裝置 NetBench 和 StorageBench 的特性。啟用 NetBench 模式時,伺服器會放棄收到的寫入要求,而非寫入數據。同樣地,如果有讀取要求,而不是從底層文件系統讀取,只會將記憶體緩衝區傳送至用戶端。NetBench 模式是用來測試網路串流傳輸量,不受底層磁碟影響。另一方面,StorageBench 是用來衡量基礎文件系統的串流輸送量,不受網路效能影響。StorageBench 是一種不使用網路的儲存裝置目標基準。儲存台命令只需將要求傳送至儲存裝置目標,即可開始寫入/讀取數據。如此一來,我們就能消除網路的影響。我們從儲存台取得的輸出,是系統在網路效能理想情況下可以達到的最佳效能。此部落格說明如何使用 StorageBench 來比較不同儲存目標的效能,進而找出有瑕疵或設定錯誤的目標。
StorageBench 不會使用掛接的文件系統。執行 StorageBench 時,每個檔案只有一個目標。Storagebench 會在系統上每個儲存目標上建立一個目錄,其中建立的測試檔案等於測試線程的數量。數據會直接串流至此,以顯示每個儲存目標可用的低層級輸送量。若未進行任何網路通訊,則無法模擬檔案等量分配。因此,儲存效能指標結果相當可與停用等量分配的用戶端 IO 相較。執行實際效能指標時,如果採用預設等量分配模式,檔案會等量分配到 4 個儲存目標。
為了測試不同的儲存裝置目標,使用部落格中關於 Dell EMC BeeGFS 儲存解決方案擴充能力的中小型組態。 兩種組態的元數據目標數目皆相同,設定在RAID 1 中。它們在儲存目標的RAID組態上有所不同。雖然小型設定具有儲存裝置,目標設定在RAID 0 (6個磁碟驅動器) 中,但中型組態具有在RAID 10的6個磁碟驅動器中設定的儲存目標。以下是在中小型設定中設定的儲存裝置目標:
表1測試台組態 | ||
---|---|---|
組態 | 儲存目標適用的中型 - RAID 10 | 儲存目標專用的小型 -RAID 0 |
元數據目標數量 | 6 | 6 |
元數據服務實例數量 | 6 | 6 |
儲存伺服器數量 | 5 | 2 |
儲存裝置目標數量 | 22 | 10 |
每個伺服器的儲存服務數量 | 4 | 4 |
每個 NUMA 區域的儲存服務數量 | 2 | 2 |
每個儲存服務實例的目標數目 | 2 | 2 |
注意:上述中型設定組態僅用於測試使用 StorageBench 工具在不同 RAID 組態中設定的儲存目標輸送量。
儲存效能指標會使用 beegfs-ctl 工具啟動和監控。beegfs-utils 套件提供 beegfs-ctl 命令行工具,可用於執行儲存目標效能指標。下列範例針對IO區塊大小為512KB的所有BeeGFS儲存伺服器目標開始寫入基準,每個目標使用16個線程,每個目標會將200Gb的數據寫入到自己的檔案。
[root@stor1~]# beegfs-ctl --storagebench --alltargets --write --blocksize=512K --size=200G --threads=16
Write Storage Benchmark 已啟動。
您可以使用 beegfs-ctl 的 --status 自變數查詢狀態。
伺服器效能指標狀態:
執行中: 10
「Running:10 吋輸出表示系統總共設定了 10 個儲存目標。
若要查詢所有目標的效能指標狀態/結果,可以執行下列命令:
[root@stor1~]# beegfs-ctl --storagebench --alltargets --status
Server 基準狀態:
完成: 10
寫入效能指標結果:
最小輸送量: 4692435 KiB/s nodeID:stor1-numa0-2 [ID:6],TargetID:最大輸送量 50
: 5368537 KiB/s nodeID:meta-stor-numa1-2 [ID:2],TargetID:48
Avg 輸送量: 4907091 KiB/秒匯
總輸送量: 49070915 KiB/秒
在上述命令中新增詳細數據,顯示所有目標的清單及其各自的輸送量。
[root@meta-stor ~]# beegfs-ctl --storagebench --alltargets --status --verbose
Server 基準狀態:
完成: 10
寫入效能指標結果:
最小輸送量: 4692435 KiB/s nodeID:stor1-numa0-2 [ID:6],TargetID:6
最大輸送量: 5368537 KiB/s nodeID:meta-stor-numa1-2 [ID:2],TargetID:2
Avg 輸送量: 4907091 KiB/秒匯
總輸送量: 49070915 KiB/s
清單的所有目標:
1 5368477 KiB/s nodeID:meta-stor-numa1-1 [ID:1]
2 5368537 KiB/s nodeID:meta-stor-numa1-2 [ID:2]
3 4706368 KiB/s nodeID:stor1-numa0-1 [ID:3]
4 4896077 KiB/s nodeID:stor1-numa1-1 [ID:4]
5 4872876 KiB/s nodeID:stor1-numa1-2 [ID:5]
6 4692435 KiB/s nodeID:stor1-numa0-2 [ID:6]
7 4879054 KiB/s nodeID:stor2-numa1-2 [ID:7]
8 4864737 KiB/s nodeID:stor2-numa1-1 [ID:8]
9 4696152 KiB/s nodeID:stor2-numa0-1 [ID:9]
10 4726202 KiB/s nodeID:stor2-numa0-2 [ID:10]
在RAID 0 中設定的每個儲存裝置目標的平均輸送量為5.02 GB/秒。
下列範例針對IO區塊大小為512KB的所有BeeGFS儲存伺服器目標開始寫入基準,每個目標使用16個線程,每個目標會將200Gb的數據寫入到自己的檔案。
[root@node001~]# beegfs-ctl --storagebench --alltargets --write --blocksize=512K --size=200G --threads=16
Write Storage Benchmark 啟動。
您可以使用 beegfs-ctl 的 --status 自變數查詢狀態。
伺服器效能指標狀態:
執行中: 22
在上述命令中新增詳細數據,顯示所有目標的清單及其各自的輸送量。
[root@node001~]# beegfs-ctl --storagebench --alltargets --status --verbose
Server 基準狀態:
完成: 22 寫入
效能指標結果:
最小輸送量: 2705987 KiB/s nodeID:node006-numa0-1 [ID:19],TargetID:1
最大輸送量: 3364311 KiB/s nodeID:node001-numa1-1 [ID:1],TargetID:1
Avg 輸送量: 3212845 KiB/s
匯總輸送量: 70682603 KiB/秒所有目標清單:
1 3364311 KiB/s 節點ID:node001-numa1-1 [ID:1]
2 3361591 KiB/s nodeID:node001-numa1-2 [ID:2]
3 3309530 KiB/s nodeID:node002-numa0-1 [ID:3]
4 3312840 KiB/s nodeID:node002-numa0-2 [ID:4]
5 3332095 KiB/s nodeID:node002-numa1-1 [ID:5]
6 3323319 KiB/s nodeID:node002-numa1-2 [ID:6]
7 3313000 KiB/s 節點ID:node003-numa0-1 [ID:7]
8 3321214 KiB/s nodeID:node003-numa0-2 [ID:8]
9 3335072 KiB/s nodeID:node003-numa1-1 [ID:9]
10 3339743 KiB/s nodeID:node003-numa1-2 [ID:10]
11 3302175 KiB/s nodeID:node004-numa0-1 [ID:11]
12 3309474 KiB/s nodeID:node004-numa0-2 [ID:12]
13 3329879 KiB/s nodeID:node004-numa1-1 [ID:13]
14 3328291 KiB/s nodeID:node004-numa1-2 [ID:14]
15 3306132 KiB/s nodeID:node005-numa0-1 [ID:15]
16 3307096 KiB/s nodeID:node005-numa0-2 [ID:16]
17 3318436 KiB/s nodeID:node005-numa1-1 [ID:17]
18 3329684 KiB/s nodeID:node005-numa1-2 [ID:18]
19 2705987 KiB/s nodeID:node006-numa0-1 [ID:19]
20 2716438 KiB/s nodeID:node006-numa0-2 [ID:20]
21 2707970 KiB/s nodeID:node006-numa1-1 [ID:21]
22 2708326 KiB/s nodeID:node006-numa1-2 [ID:22]
每個儲存裝置目標的平均輸送量為3.29 GB/秒。
從在兩種不同的 BeeGFS 設定上執行的 StorageBench 效能指標測試結果,一種是在 RAID 0 中設定了儲存目標,另一種是在 RAID 10 中設定了儲存目標,因此,寫入效能明顯優於 RAID 0 中設定的儲存目標,而非 RAID 10。當使用 dd 命令來寫入 1M 區塊大小和「oflag=direct」的 10G 檔案時,在 RAID 0 中設定的小型系統的平均傳輸量約為 5.1 GB/秒,而在 RAID 10 中設定的中型系統的平均輸送量約為 3.4 GB/秒,與使用 Storagebench 工具取得的結果相比較。
[root@node001~]# beegfs-ctl --storagebench --alltargets --status --verbose
Server 基準狀態:
完成: 33
讀取效能指標結果:
最小輸送量: 2830479 KiB/s nodeID:node003-numa1-2 [ID:14],TargetID:最大輸送量 14
: 3025500 KiB/s nodeID:node005-numa0-1 [ID:22],TargetID:22
Avg 輸送量: 2917836 KiB/秒匯
總輸送量: 96288596 KiB/s
清單的所有目標:
1 2950039 KiB/s nodeID:node001-numa1-1 [ID:1]
2 2956121 KiB/s nodeID:node001-numa1-2 [ID:2]
3 2954473 KiB/s nodeID:node001-numa1-3 [ID:3]
4 2957658 KiB/s nodeID:node002-numa0-1 [ID:4]
5 2947109 KiB/s nodeID:node002-numa0-2 [ID:5]
6 2969886 KiB/s nodeID:node002-numa0-3 [ID:6]
7 2892578 KiB/s nodeID:node002-numa1-1 [ID:7]
8 2886899 KiB/s nodeID:node002-numa1-2 [ID:8]
9 2888972 KiB/s nodeID:node002-numa1-3 [ID:9]
10 2861995 KiB/s nodeID:node003-numa0-1 [ID:10]
11 2874314 KiB/s nodeID:node003-numa0-2 [ID:11]
12 2879096 KiB/s nodeID:node003-numa0-3 [ID:12]
13 2832635 KiB/s nodeID:node003-numa1-1 [ID:13]
14 2830479 KiB/s nodeID:node003-numa1-2 [ID:14]
15 2830971 KiB/s nodeID:node003-numa1-3 [ID:15]
16 2986890 KiB/s nodeID:node004-numa0-1 [ID:16]
17 2979197 KiB/s nodeID:node004-numa0-2 [ID:17]
18 2983958 KiB/s 節點ID:node004-numa0-3 [ID:18]
19 2897974 KiB/s nodeID:node004-numa1-1 [ID:19]
20 2900880 KiB/s nodeID:node004-numa1-2 [ID:20]
21 2904036 KiB/s nodeID:node004-numa1-3 [ID:21]
22 3025500 KiB/s nodeID:node005-numa0-1 [ID:22]
23 3021558 KiB/s nodeID:node005-numa0-2 [ID:23]
24 3017387 KiB/s nodeID:node005-numa0-3 [ID:24]
25 2921480 KiB/s nodeID:node005-numa1-1 [ID:25]
26 2930226 KiB/s nodeID:node005-numa1-2 [ID:26]
27 2930548 KiB/s nodeID:node005-numa1-3 [ID:27]
28 2900018 KiB/s nodeID:node006-numa0-1 [ID:28]
29 2898520 KiB/s nodeID:node006-numa0-2 [ID:29]
30 2907113 KiB/s nodeID:node006-numa0-3 [ID:30]
31 2855079 KiB/s nodeID:node006-numa1-1 [ID:31]
32 2853527 KiB/s nodeID:node006-numa1-2 [ID:32]
33 2861480 KiB/s nodeID:node006-numa1-3 [ID:33]
從上述輸出中,很明顯,所有儲存裝置目標均勻執行,而且系統中沒有瑕疵的目標。