PowerEdge:适用于 HPC BeeGFS 存储的戴尔就绪型解决方案的功能

Summary: 适用于 HPC BeeGFS 存储的戴尔就绪型解决方案的功能

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Instructions

目录

  1. 简介
  2. StorageBench — 比较不同 RAID 配置的性能
  3. StorageBench — 识别有缺陷或配置错误的存储目标
  4. 结论和未来的工作
     

简介

此博客讨论了最近发布的 适用于 HPC BeeGFS 存储的戴尔就绪型解决方案的突出功能。这是该系列关于BeeGFS高性能存储解决方案的第三篇博客文章。第一个博客宣布了该解决方案的发布。第二个博客讨论了 适用于 HPC BeeGFS 存储的戴尔就绪型解决方案的可扩展性。它提供了有关基本配置、灵活的可扩展配置以及各种配置的测量顺序读/写性能的详细信息,表明可扩展性与解决方案中的服务器数量有关是线性的。当前博客重点介绍了“StorageBench”的使用,这是 BeeGFS 的集成存储目标基准。

BeeGFS 是一个开源文件系统,可从 www.beegfs.io本超链接将引导您访问非 Dell Technologies 运营的网站。 下载。它是一个并行文件系统,可在多个存储目标之间分发数据。它是一种软件定义的存储,将逻辑文件系统与底层存储硬件分离,允许用户定义数据的存储方式和位置。文件系统软件包括企业级功能,如高可用性、配额强制实施和访问控制列表。BeeGFS 的主要功能包括易用性、可扩展性和灵活性。它的易用性源于这样一个事实,即所有服务器端组件都是用户空间守护程序,而客户端是一个内核模块,不需要对内核本身进行任何补丁。可以安装和更新所有BeeGFS组件,而无需重新启动服务器。因此,我们可以将客户端和服务器添加到现有系统中,而不会造成任何停机。通过添加服务器和驱动器,可以在此处链接的博客中进一步扩展文件系统的性能和容量。BeeGFS支持多个Linux分发版,旨在与任何符合POSIX标准的本地文件系统配合使用。BeeGFS还支持在同一台服务器上运行给定服务的多个实例。

适用于 HPC BeeGFS 存储的戴尔就绪型解决方案利用了 BeeGFS 文件系统的所有关键功能,专为实现高性能而设计。该解决方案使用 PowerEdge R740xd 服务器来存储和服务和/或处理元数据和数据。每台 PowerEdge R740xd 服务器都配有 24 个 1.6 TB 英特尔 P4600 NVMe SSD,这是驱动器技术的第二次重大飞跃,其中 SSD 是第一次。在 HPC 环境中,暂存空间通常是一个限制因素。它可能太小或太慢。适用于 HPC BeeGFS 存储的 Dell EMC 就绪型解决方案旨在用作暂存解决方案,并使用 BeeGFS 文件系统提供暂存存储。

BeeGFS 包括两种集成基准测试工具,可分别帮助描述或评估网络或存储 :NetBench 和 StorageBench 本超链接将引导您访问非 Dell Technologies 运营的网站。。启用 NetBench 模式后,服务器会丢弃接收的写入请求,而不是写入数据。同样,对于读取请求,仅将内存缓冲区发送到客户端,而不是从底层文件系统读取。NetBench 模式用于测试独立于底层磁盘的网络流吞吐量。另一方面,StorageBench 旨在测量与网络性能无关的底层文件系统的流式处理吞吐量。StorageBench 是不使用网络的存储目标基准。storage-bench 命令只需将请求发送到存储目标以开始写入/读取数据。这样一来,我们消除了网络的影响。如果网络性能理想,我们从存储工作台获得的输出是系统可以实现的最佳性能。这篇博客说明了如何使用 StorageBench 来比较不同存储目标的性能,从而识别有缺陷或配置错误的目标。


StorageBench — 比较不同 RAID 配置的性能

StorageBench 不使用已装载的文件系统。当我们运行 StorageBench 时,每个文件只有一个目标。Storagebench 在系统上的每个存储目标上创建一个目录,其中创建的测试文件等于测试线程的数量。数据直接流式传输到此位置,以显示每个存储目标可用的低级别吞吐量。在没有任何网络通信的情况下,无法模拟文件分条。因此,存储基准测试结果与禁用条带化的客户端 IO 相当。运行基准测试时,如果采用默认条带化模式,文件将跨四个存储目标进行条带化。 

为了测试不同的存储目标,使用了有关 戴尔 BeeGFS 存储解决方案可扩展性的博客中描述的中小型配置。两种配置在 RAID 1 中配置的元数据目标数量相同。它们在存储目标的 RAID 配置方面有所不同。小型配置具有存储目标,配置为 6 个驱动器的 RAID 0 中,而中型配置的存储目标配置为 RAID 10 中的六个驱动器。在小型和中型设置上配置的存储目标如下表所示:

 

表1 试验台配置
配置 中型 - 用于存储目标的 RAID 10 小型 - 用于存储目标的 RAID 0
元数据目标数 6 6
元数据服务实例数 6 6
存储服务器数量 5 2
存储目标数量 22 10
每台服务器的存储服务数量 4 4
每个 NUMA 分区的存储服务数量  2 2
每个存储服务实例的目标数  2 2

提醒:上述中等设置的配置仅用于使用 StorageBench 工具测试在不同 RAID 配置中配置的存储目标的吞吐量。


StorageBench 写入基准测试 - 在 RAID 0 中配置了存储目标的小型配置


使用 beegfs-ctl 工具启动和监视存储基准。beegfs-utils 软件包提供了 beegfs-ctl 命令行工具,可用于运行存储目标基准测试。以下示例在IO块大小为512 KB的所有BeeGFS存储服务器的所有目标上启动写入基准测试,每个目标使用16个线程,每个线程会将200 Gb的数据写入自己的文件。

[root@stor1 ~]# beegfs-ctl --storagebench --alltargets --write --blocksize=512K --size=200G --threads=16
Write storage benchmark was started.
You can query the status with the --status argument of beegfs-ctl.
Server benchmark status:
Running:     10

“Running:10“ 输出指示系统中总共配置了 10 个存储目标。

要查询所有目标的基准状态/结果,可以运行以下命令:

[root@stor1 ~]# beegfs-ctl --storagebench --alltargets --status
Server benchmark status:
Finished:    10
Write benchmark results:
Min throughput:            4692435  KiB/s   nodeID: stor1-numa0-2 [ID: 6], targetID: 50
Max throughput:            5368537  KiB/s   nodeID: meta-stor-numa1-2 [ID: 2], targetID: 48
Avg throughput:            4907091  KiB/s
Aggregate throughput:     49070915  KiB/s

在上述命令中添加 verbose 会显示所有目标及其各自吞吐量的列表。

[root@meta-stor ~]# beegfs-ctl --storagebench --alltargets --status --verbose
Server benchmark status:
Finished:    10
Write benchmark results:
Min throughput:            4692435  KiB/s   nodeID: stor1-numa0-2 [ID: 6], targetID: 6
Max throughput:            5368537  KiB/s   nodeID: meta-stor-numa1-2 [ID: 2], targetID: 2
Avg throughput:            4907091  KiB/s
Aggregate throughput:     49070915  KiB/s
List of all targets:
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/s。  


StorageBench 写入基准测试 - 在中等配置上,并在 RAID 10 中配置了存储目标

以下示例在IO数据块大小为512 KB的所有BeeGFS存储服务器的所有目标上启动写入基准测试,每个目标使用16个线程,其中每个线程将200 Gb数据写入自己的文件。

[root@node001 ~]# beegfs-ctl --storagebench --alltargets --write --blocksize=512K --size=200G --threads=16
Write storage benchmark was started.
You can query the status with the --status argument of beegfs-ctl.
Server benchmark status:
Running:     22

在上述命令中添加 verbose 会显示所有目标及其各自吞吐量的列表。

[root@node001 ~]# beegfs-ctl --storagebench --alltargets --status --verbose
Server benchmark status:
Finished:    22
Write benchmark results:
Min throughput:            2705987  KiB/s   nodeID: node006-numa0-1 [ID: 19], targetID: 1
Max throughput:            3364311  KiB/s   nodeID: node001-numa1-1 [ID: 1], targetID: 1
Avg throughput:            3212845  KiB/s
Aggregate throughput:     70682603  KiB/s

List of all targets:
1                          3364311  KiB/s   nodeID: 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   nodeID: 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/s。

从在两个不同的BeeGFS设置上完成的StorageBench基准测试的输出,一个在RAID 0中配置了存储目标,另一个在RAID 10中配置了存储目标,可以明显看出,在RAID 0中配置的存储目标比在RAID 10中配置的存储目标的写入性能更好。当使用 dd 命令写入数据块大小为 1M 且使用“oflag=direct”的 10G 文件时,RAID 0 中配置的小型系统的平均吞吐量约为 5.1 GB/s,而 RAID 10 中配置的中型系统的平均吞吐量约为 3.4 GB/s,这与使用 storagebench 工具获得的结果相当。 


StorageBench — 识别有缺陷或配置错误的存储目标

StorageBench 在 公告博客 中描述的中等配置上运行,以确定系统中是否存在任何配置错误或有缺陷的存储目标。

[root@node001 ~]#  beegfs-ctl --storagebench --alltargets --status --verbose
Server benchmark status:
Finished:    33
Read benchmark results:
Min throughput:            2830479  KiB/s   nodeID: node003-numa1-2 [ID: 14], targetID: 14
Max throughput:            3025500  KiB/s   nodeID: node005-numa0-1 [ID: 22], targetID: 22
Avg throughput:            2917836  KiB/s
Aggregate throughput:     96288596  KiB/s
List of all targets:
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   nodeID: 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]

从上述输出中可以明显看出,所有存储目标的性能一致,系统中没有缺陷目标。

 


结论和未来的工作

此博客讨论了 BeeGFS 的主要功能,并说明了 Storage Bench 基准测试对于评估或比较不同 RAID 配置的性能以及确定是否有任何存储目标存在缺陷或配置错误非常有用。作为后续步骤的一部分,我们将稍后发布一份白皮书,介绍元数据性能和 IOR 性能,以及有关设计注意事项、调整和配置的其他详细信息。 


参考材料

1) 适用于 HPC BeeGFS 存储的 Dell EMC Ready 解决方案 (PowerEdge):适用于 HPC BeeGFS 高性能存储的戴尔就绪型解决方案
2) 适用于 HPC BeeGFS 存储的戴尔就绪型解决方案的可扩展性 PowerEdge:适用于 HPC BeeGFS 存储的戴尔就绪型解决方案的可扩展性
3) BeeGFS 文档:  本超链接将引导您访问非 Dell Technologies 运营的网站。
https://www.beegfs.io/wiki/4) 如何连接同一子网上的两个接口:  本超链接将引导您访问非 Dell Technologies 运营的网站。
https://access.redhat.com/solutions/305645) 使用外部存储器的 PCI Express 直接存储器访问参考设计:https://www.intel.com/content/www/us/en/programmable/documentation/nik1412547570040.html#nik1412547565760本超链接将引导您访问非 Dell Technologies 运营的网站。

 

 

Affected Products

PowerSwitch S3048-ON, Mellanox SB7800 Series, PowerEdge R640, PowerEdge R740XD
Article Properties
Article Number: 000128808
Article Type: How To
Last Modified: 18 Jul 2025
Version:  6
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.