Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

WEKA 存储解决方案

WEKA 数据平台是一款基于软件的解决方案,旨在实现企业数据堆栈的现代化。其面向数据管道的先进 AI 原生架构可提供大规模高性能,因此 AI 工作负载运行速度更快,工作效率更高。

我们选择 WEKA 数据平台作为 AI JVD 设计的一部分,因为它具有以下优势:

  • 高性能:Weka 的架构专为极致性能而设计,适用于 AI/ML 工作负载、大数据分析和高性能计算 (HPC) 环境。
  • 可扩展性:Weka 可以从几 TB 扩展到 EB 数据,使客户能够在不影响性能的情况下增加存储容量。WEKA 的分布式架构不同于典型的纵向扩展式存储系统、设备和基于虚拟机管理程序的软件定义存储解决方案。它克服了可能成为大规模 AI 部署瓶颈的传统存储扩展和文件共享限制,成为客户的首选之一。
  • 统一存储:Weka 提供可支持多种协议(例如 NFS、SMB、POSIX、S3)的单一存储解决方案,提供访问和管理数据的灵活性,并允许 Nvidia 的 GPUDirect 存储访问。
  • 数据弹性:Weka 提供先进的数据保护功能,包括纠删码,可确保数据弹性和针对硬件故障的保护。如果至少配置为六台存储服务器,群集可以在两台服务器故障后继续运行。
  • 易于管理:Weka 的软件定义存储解决方案易于部署和管理,具有用户友好的界面和自动化管理功能。它可以安装在任何基于 AMD EPYC™ 或 Intel Xeon™ 可扩展处理器的标准硬件上,并配备适当的内存、CPU 处理器、网络和 NVMe 固态驱动器。
  • 对 GPU 的支持:Weka 针对 GPU 加速进行了优化,使其成为严重依赖 GPU 计算的环境(例如 AI 和机器学习应用程序)的理想存储解决方案。
  • 低延迟:Weka 的架构允许非常低延迟地访问数据,这对于需要实时数据处理的应用程序至关重要。

AI JVD 实验室中的 Weka 存储群集

我们构建了 WEKA 存储群集,其中包含八台基于 SuperMicro 的服务器连接到存储后端交换矩阵,提供 242TB 的可用存储。WEKA 建议使用八个群集节点,并且至少需要六个节点进行生产部署。

每台 WEKA 服务器具有以下规格

  • AMD EPYC 9454P 处理器
  • 384GB 系统内存
  • 作系统驱动器:2 个 1.92TB M.2 NVMe 数据中心 SSD (PCIe 4.0)
  • 数据驱动器:7 个 7.68TB U.2 NVMe 数据中心 SSD (PCIe 4.0)
  • 板载 OOB 网络连接 (RJ45) 和以下附加接口卡:
    • 1 个 NVIDIA Mellanox ConnectX-6 DX 适配器卡,100GE,双端口 QSFP28,PCIe 4.0 x16
    • 2 个 NVIDIA Mellanox ConnectX-6 VPI 适配器卡,HDR、IB 和 200GE,双端口 QSFP56,OCP 3.0
  • 软件:
    • 安装的作系统是 Ubuntu 22.04 LTS。
    • 在此设计中测试的 WEKA 版本为 4.2.5。
    • WEKA 闪存级许可证,带 SnapShot 和高性能协议服务
    • (POSIX、NFS-W、S3 和 SMB-W)

需要进行常见的设置更改

WEKA 强烈建议某些 BIOS 设置,并且所有节点都匹配 Mellanox 驱动程序。为方便起见,此处记录了这些更改。

注意:WEKA 提供 Weka 管理服务 (WMS) 工具,可用于自动更改 BIOS 设置、验证您的配置(包括驱动程序修订)以及部署您拥有的 WEKA 版本。这可以从 WEKA 网站下载,位于此处: https://get.weka.io/ui/wms/download。瞻博网络强烈建议使用 WMS 配置 WEKA 群集。所有设备均配置为执行 ECMP 负载平衡,如本文档后面所述。

BIOS 设置:

可以通过应用bios_settings.yml来更改 BIOS 设置:

这是一个由 AMD CPU 驱动的群集;基于 Intel 的 CPU 的设置可能有所不同。

有关如何应用这些更改的更多详细信息,请参阅: GitHub - weka/bios_tool:用于查看/设置 Weka 服务器bios_settings的工具

瞻博网络 WEKA 群集的网络配置

如存储后端部分所述,WEKA 服务器是双宿主的,并使用 NVIDIA Mellanox ConnectX-6 VPI 适配器卡中的 200GE 端口连接到单独的存储后端交换机(storage-backend-weka-leaf 1 和 storage-backend-weka-leaf 2)。此 JVD 未使用额外的 QSFP28 100Gbe 端口,但可用于前端入口/出口流量、暂存和管理。

图 113:存储接口连接

A computer screen shot of a server Description automatically generated

交换机端的端口必须配置为不自动协商,并设置为 200G 速度。

OFED 驱动程序:

WEKA 建议在使用 Connect-X 卡时遵循 Nvidia 对 OFED (Mellanox) 驱动程序的建议。 NVIDIA 文档 - 安装 Mellanox OFED

驱动程序版本应为 5.8 或更高版本

确保 OFED 驱动程序的所有版本在 WEKA 群集中的所有节点上保持一致(即确保 weka01 安装了适当的 OFED)。

对于 Ubuntu,建议使用以下命令:

也可以在所有计算机上(以 root 身份)运行以下脚本以设置适当的 Mellanox 固件设置。

使用瞻博网络交换机的 WEKA 数据平台最佳实践

我们的群集是使用 WEKA 分布式 POSIX 客户端配置的,这需要进行一些调整才能集成到设计的其余部分。

我们建议采取以下措施:

  • 将 MTU 设置为 9000
  • 如果后端存储交换矩阵与其他资源共享,请设置适当的 CoS 优先级,以确保 AI 提取和检查点流量不会因其他应用程序的网络 I/O 请求而中断。
  • 如果使用 GPU 直接存储而不是 WEKA 分布式 POSIX 客户端,则必须利用显式拥塞通知 (ECN) 和优先流控制 (PFC) 在网络上设置拥塞管理和缓解功能。

WEKA 还提供了可用于从 WEKA 系统角度测试和测量网络活动的工具。

命令行工具“weka stats”报告“良好”网络性能的百分比输出。

当输出以百分比形式显示时,任何低于 85% 的数据都表示需要进一步检查的潜在问题。

示例:

weka stats --category=network --show-internal --stat DROPPED_PACKETS --start-time -24h --end-time -1m -z

如果 weka stats 命令报告如图所示丢弃的数据包,则需要进一步调查。

更多详细信息和其他工具可以在 WEKA 网站上找到 手动准备系统以进行 WEKA 配置 |W E K A.