Skip to main content
NetApp artificial intelligence solutions
简体中文版经机器翻译而成,仅供参考。如与英语版出现任何冲突,应以英语版为准。

NVA-1173 NetApp AIPod与NVIDIA DGX 系统 - 部署详情

本节介绍验证此解决方案期间使用的部署细节。使用的 IP 地址仅供参考,请根据部署环境进行修改。有关此配置的实现中使用的特定命令的更多信息,请参阅相应的产品文档。

下图显示了 1 个 DGX H100 系统和 1 个 HA 对AFF A90控制器的详细网络和连接信息。以下部分中的部署指南基于此图中的详细信息。

NetApp AIpod 网络配置

该图显示输入/输出对话框或表示书面内容

下表显示了最多 16 个 DGX 系统和 2 个AFF A90 HA 对的示例布线分配。

交换机和端口 设备 设备端口

交换机1端口1-16

DGX-H100-01 至 -16

enp170s0f0np0,插槽1端口1

交换机1端口17-32

DGX-H100-01 至 -16

enp170s0f1np1,插槽1端口2

交换机1端口33-36

AFF-A90-01 至 -04

端口 e6a

交换机1端口37-40

AFF-A90-01 至 -04

端口 e11a

交换机1端口41-44

AFF-A90-01 至 -04

端口 e2a

交换机1端口57-64

ISL 到交换机 2

端口 57-64

交换机2端口1-16

DGX-H100-01 至 -16

enp41s0f0np0,插槽2端口1

交换机2端口17-32

DGX-H100-01 至 -16

enp41s0f1np1,插槽 2 端口 2

交换机2端口33-36

AFF-A90-01 至 -04

端口 e6b

交换机2端口37-40

AFF-A90-01 至 -04

端口 e11b

交换机2端口41-44

AFF-A90-01 至 -04

端口 e2b

交换机2端口57-64

ISL 到交换机 1

端口 57-64

下表显示了本次验证中使用的各个组件的软件版本。

设备 软件版本

NVIDIA SN4600 交换机

Cumulus Linux v5.9.1

NVIDIA DGX 系统

DGX 操作系统 v6.2.1(Ubuntu 22.04 LTS)

Mellanox OFED

24.01

NetApp AFF A90

NetApp ONTAP 9.14.1

存储网络配置

本节概述以太网存储网络配置的关键细节。有关配置 InfiniBand 计算网络的信息,请参阅"NVIDIA BasePOD 文档"。有关交换机配置的详细信息,请参阅"NVIDIA Cumulus Linux 文档"

配置 SN4600 交换机的基本步骤概述如下。此过程假定布线和基本交换机设置(管理 IP 地址、许可等)已完成。

  1. 配置交换机之间的 ISL 绑定以启用多链路聚合 (MLAG) 和故障转移流量

    • 本次验证使用了 8 条链路,为测试的存储配置提供了足够的带宽

    • 有关启用 MLAG 的具体说明,请参阅 Cumulus Linux 文档。

  2. 为两台交换机上的每对客户端端口和存储端口配置 LACP MLAG

    • 每个交换机上的端口 swp17 用于 DGX-H100-01(enp170s0f1np1 和 enp41s0f1np1),端口 swp18 用于 DGX-H100-02,等等(bond1-16)

    • 每个交换机上的端口 swp41 用于AFF-A90-01(e2a 和 e2b),端口 swp42 用于AFF-A90-02,等等(bond17-20)

    • nv 设置接口 bondX 债券成员 swpX

    • nv 设置接口 bondx 绑定 mlag id X

  3. 将所有端口和 MLAG 绑定添加到默认桥接域

    • nv 设置 int swp1-16,33-40 桥接域 br_default

    • nv 设置 int bond1-20 桥接域 br_default

  4. 在每台交换机上启用 RoCE

    • nv 设置 roce 模式无损

  5. 配置 VLAN - 2 个用于客户端端口,2 个用于存储端口,1 个用于管理,1 个用于 L3 交换机到交换机

    • 开关 1-

      • VLAN 3 用于在客户端 NIC 发生故障时进行 L3 交换机到交换机的路由

      • 每个 DGX 系统上的存储端口 1 的 VLAN 101(enp170s0f0np0,slot1 端口 1)

      • 每个AFF A90存储控制器上的端口 e6a 和 e11a 的 VLAN 102

      • VLAN 301 用于使用 MLAG 接口对每个 DGX 系统和存储控制器进行管理

    • 开关 2-

      • VLAN 3 用于在客户端 NIC 发生故障时进行 L3 交换机到交换机的路由

      • 每个 DGX 系统上的存储端口 2 的 VLAN 201(enp41s0f0np0,slot2 端口 1)

      • 每个AFF A90存储控制器上的端口 e6b 和 e11b 的 VLAN 202

      • VLAN 301 用于使用 MLAG 接口对每个 DGX 系统和存储控制器进行管理

  6. 根据需要将物理端口分配给每个 VLAN,例如客户端 VLAN 中的客户端端口和存储 VLAN 中的存储端口

    • nv 设置 int <swpX> 桥接域 br_default 访问 <vlan id>

    • MLAG 端口应保持为中继端口,以根据需要在绑定接口上启用多个 VLAN。

  7. 在每个 VLAN 上配置交换机虚拟接口 (SVI) 以充当网关并启用 L3 路由

    • 开关 1-

      • nv 设置 int vlan3 ip 地址 100.127.0.0/31

      • nv 设置 int vlan101 ip 地址 100.127.101.1/24

      • nv 设置 int vlan102 ip 地址 100.127.102.1/24

    • 开关 2-

      • nv 设置 int vlan3 ip 地址 100.127.0.1/31

      • nv 设置 int vlan201 ip 地址 100.127.201.1/24

      • nv 设置 int vlan202 ip 地址 100.127.202.1/24

  8. 创建静态路由

    • 同一交换机上的子网将自动创建静态路由

    • 当客户端链路发生故障时,交换机到交换机的路由需要额外的静态路由

      • 开关 1-

        • nv 设置 VRF 默认路由器静态 100.127.128.0/17 通过 100.127.0.1

      • 开关 2-

        • nv 设置 VRF 默认路由器静态 100.127.0.0/17 通过 100.127.0.0

存储系统配置

本节介绍此解决方案的 A90 存储系统配置的关键细节。有关ONTAP系统配置的更多详细信息,请参阅"ONTAP 文档"。下图显示了存储系统的逻辑配置。

NetApp A90 存储集群逻辑配置

该图显示输入/输出对话框或表示书面内容

配置存储系统的基本步骤概述如下。此过程假设基本存储集群安装已经完成。

  1. 在每个控制器上配置 1 个聚合,所有可用分区减去 1 个备用分区

    • aggr create -node <节点> -aggregate <节点>_data01 -diskcount <47>

  2. 在每个控制器上配置 ifgrps

    • 网络端口 ifgrp create -node <节点> -ifgrp a1a -mode multimode_lacp -distr-function port

    • 网络端口 ifgrp add-port -node <节点> -ifgrp <ifgrp> -ports <节点>:e2a,<节点>:e2b

  3. 在每个控制器上的 ifgrp 上配置 mgmt vlan 端口

    • 网络端口 vlan 创建 -节点 aff-a90-01 -端口 a1a -vlan-id 31

    • 网络端口 vlan 创建 -节点 aff-a90-02 -端口 a1a -vlan-id 31

    • 网络端口 vlan 创建 -节点 aff-a90-03 -端口 a1a -vlan-id 31

    • 网络端口 vlan 创建 -节点 aff-a90-04 -端口 a1a -vlan-id 31

  4. 创建广播域

    • 广播域创建-广播域vlan21-mtu 9000-端口aff-a90-01:e6a,aff-a90-01:e11a,aff-a90-02:e6a,aff-a90-02:e11a,aff-a90-03:e6a,aff-a90-03:e11a,aff-a90-04:e6a,aff-a90-04:e11a

    • 广播域创建-广播域vlan22-mtu 9000-端口aaff-a90-01:e6b,aff-a90-01:e11b,aff-a90-02:e6b,aff-a90-02:e11b,aff-a90-03:e6b,aff-a90-03:e11b,aff-a90-04:e6b,aff-a90-04:e11b

    • 广播域创建-广播域vlan31-mtu 9000-端口aff-a90-01:a1a-31,aff-a90-02:a1a-31,aff-a90-03:a1a-31,aff-a90-04:a1a-31

  5. 创建管理 SVM *

  6. 配置管理 SVM

    • 创建 LIF

      • net int create -vserver basepod-mgmt -lif vlan31-01 -home-node aff-a90-01 -home-port a1a-31 -address 192.168.31.X -netmask 255.255.255.0

    • 创建FlexGroup卷-

      • 卷创建-vserver basepod-mgmt-volume home-size 10T-auto-provision-as flexgroup-junction-path /home

      • 卷创建-vserver basepod-mgmt-volume cm-size 10T-auto-provision-as flexgroup-junction-path /cm

    • 制定出口政策

      • 导出策略规则创建-vserver basepod-mgmt-policy default-client-match 192.168.31.0/24-rorule sys-rwrule sys-superuser sys

  7. 创建数据 SVM *

  8. 配置数据 SVM

    • 配置 SVM 以支持 RDMA

      • vserver nfs 修改-vserver basepod-data -rdma 已启用

    • 创建 LIF

      • net int create -vserver basepod-data -lif c1-6a-lif1 -home-node aff-a90-01 -home-port e6a -address 100.127.102.101 -netmask 255.255.255.0

      • net int create -vserver basepod-data -lif c1-6a-lif2 -home-node aff-a90-01 -home-port e6a -address 100.127.102.102 -netmask 255.255.255.0

      • net int create -vserver basepod-data -lif c1-6b-lif1 -home-node aff-a90-01 -home-port e6b -address 100.127.202.101 -netmask 255.255.255.0

      • net int create -vserver basepod-data -lif c1-6b-lif2 -home-node aff-a90-01 -home-port e6b -address 100.127.202.102 -netmask 255.255.255.0

      • net int create -vserver basepod-data -lif c1-11a-lif1 -home-node aff-a90-01 -home-port e11a -address 100.127.102.103 -netmask 255.255.255.0

      • net int create -vserver basepod-data -lif c1-11a-lif2 -home-node aff-a90-01 -home-port e11a -address 100.127.102.104 -netmask 255.255.255.0

      • net int create -vserver basepod-data -lif c1-11b-lif1 -home-node aff-a90-01 -home-port e11b -address 100.127.202.103 -netmask 255.255.255.0

      • net int create -vserver basepod-data -lif c1-11b-lif2 -home-node aff-a90-01 -home-port e11b -address 100.127.202.104 -netmask 255.255.255.0

      • net int create -vserver basepod-data -lif c2-6a-lif1 -home-node aff-a90-02 -home-port e6a -address 100.127.102.105 -netmask 255.255.255.0

      • net int create -vserver basepod-data -lif c2-6a-lif2 -home-node aff-a90-02 -home-port e6a -address 100.127.102.106 -netmask 255.255.255.0

      • net int create -vserver basepod-data -lif c2-6b-lif1 -home-node aff-a90-02 -home-port e6b -address 100.127.202.105 -netmask 255.255.255.0

      • net int create -vserver basepod-data -lif c2-6b-lif2 -home-node aff-a90-02 -home-port e6b -address 100.127.202.106 -netmask 255.255.255.0

      • net int create -vserver basepod-data -lif c2-11a-lif1 -home-node aff-a90-02 -home-port e11a -address 100.127.102.107 -netmask 255.255.255.0

      • net int create-vserver basepod-data-lif c2-11a-lif2-home-node aff-a90-02-home-port e11a-address 100.127.102.108-netmask 255.255.255.0

      • net int create -vserver basepod-data -lif c2-11b-lif1 -home-node aff-a90-02 -home-port e11b -address 100.127.202.107 -netmask 255.255.255.0

      • net int create-vserver basepod-data-lif c2-11b-lif2-home-node aff-a90-02-home-port e11b-address 100.127.202.108-netmask 255.255.255.0

  9. 配置 LIF 以进行 RDMA 访问

    • 对于使用ONTAP 9.15.1 的部署,物理信息的 RoCE QoS 配置需要ONTAP CLI 中不可用的操作系统级命令。请联系NetApp支持以获取有关 RoCE 支持端口配置的帮助。 NFS over RDMA 功能正常

    • 从ONTAP 9.16.1 开始,物理接口将自动配置适当的设置以实现端到端 RoCE 支持。

    • net int 修改-vserver basepod-data -lif * -rdma-protocols roce

  10. 在数据 SVM 上配置 NFS 参数

    • nfs 修改 -vserver basepod-data -v4.1 已启用 -v4.1-pnfs 已启用 -v4.1-trunking 已启用 -tcp-max-transfer-size 262144

  11. 创建FlexGroup卷

    • 卷创建-vserver basepod-data-volume数据-size 100T-auto-provision-as flexgroup-junction-path /data

  12. 创建导出策略

    • 导出策略规则创建-vserver basepod-data-policy default-client-match 100.127.101.0/24-rorule sys-rwrule sys-superuser sys

    • 导出策略规则创建-vserver basepod-data-policy default-client-match 100.127.201.0/24-rorule sys-rwrule sys-superuser sys

  13. 创建路线

    • 路由添加-vserver basepod_data-目的地100.127.0.0/17-网关100.127.102.1度量20

    • 路由添加-vserver basepod_data-目的地100.127.0.0/17-网关100.127.202.1度量30

    • 路由添加-vserver basepod_data-目的地100.127.128.0/17-网关100.127.202.1度量20

    • 路由添加-vserver basepod_data-目的地100.127.128.0/17-网关100.127.102.1度量30

用于 RoCE 存储访问的 DGX H100 配置

本节介绍 DGX H100 系统配置的关键细节。许多配置项可以包含在部署到 DGX 系统的 OS 映像中,或者在启动时由 Base Command Manager 实现。这里列出它们以供参考,有关在 BCM 中配置节点和软件映像的更多信息,请参阅"BCM 文档"

  1. 安装其他软件包

    • ipmitool

    • python3-pip

  2. 安装 Python 包

    • 波罗米科

    • matplotlib

  3. 软件包安装后重新配置 dpkg

    • dpkg——配置-a

  4. 安装 MOFED

  5. 设置 mst 值以进行性能调整

    • mstconfig -y -d <aa:00.0,29:00.0> 设置 ADVANCED_PCI_SETTINGS=1 NUM_OF_VFS=0 MAX_ACC_OUT_READ=44

  6. 修改设置后重置适配器

    • mlxfwreset -d <aa:00.0,29:00.0> -y 重置

  7. 在 PCI 设备上设置 MaxReadReq

    • setpci -s <aa:00.0,29:00.0> 68.W=5957

  8. 设置 RX 和 TX 环形缓冲区大小

    • ethtool -G <enp170s0f0np0,enp41s0f0np0> rx 8192 tx 8192

  9. 使用 mlnx_qos 设置 PFC 和 DSCP

    • mlnx_qos -i <enp170s0f0np0,enp41s0f0np0> --pfc 0,0,0,1,0,0,0,0 --trust=dscp --cable_len=3

  10. 为网络端口上的 RoCE 流量设置 ToS

    • echo 106 > /sys/class/infiniband/<mlx5_7,mlx5_1>/tc/1/traffic_class

  11. 在适当的子网上为每个存储 NIC 配置一个 IP 地址

    • 100.127.101.0/24 用于存储 NIC 1

    • 100.127.201.0/24 用于存储 NIC 2

  12. 配置带内网络端口进行 LACP 绑定(enp170s0f1np1、enp41s0f1np1)

  13. 为每个存储子网的主路径和次路径配置静态路由

    • 路由添加 –net 100.127.0.0/17 gw 100.127.101.1 metric 20

    • 路由添加 –net 100.127.0.0/17 gw 100.127.201.1 公制 30

    • 路由添加 –net 100.127.128.0/17 gw 100.127.201.1 公制 20

    • 路由添加 –net 100.127.128.0/17 gw 100.127.101.1 公制 30

  14. 挂载 /home 卷

    • 安装-o vers = 3,nconnect = 16,rsize = 262144,wsize = 262144 192.168.31.X:/home /home

  15. 挂载/数据卷

    • 安装数据卷时使用了以下安装选项-

      • vers=4.1 # 启用 pNFS 来并行访问多个存储节点

      • proto=rdma # 将传输协议设置为 RDMA,而不是默认的 TCP

      • max_connect=16 #启用 NFS 会话中继来聚合存储端口带宽

      • write=eager # 提高缓冲写入的写入性能

      • rsize=262144,wsize=262144 # 将 I/O 传输大小设置为 256k