Skip to main content
NetApp artificial intelligence solutions
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

NVA-1173 NetApp AIPod con sistemas NVIDIA DGX: detalles de la implementación

Esta sección describe los detalles de implementación utilizados durante la validación de esta solución. Las direcciones IP utilizadas son ejemplos y deben modificarse según el entorno de implementación. Para obtener más información sobre los comandos específicos utilizados en la implementación de esta configuración, consulte la documentación del producto correspondiente.

El diagrama a continuación muestra información detallada de red y conectividad para 1 sistema DGX H100 y 1 par HA de controladores AFF A90 . La guía de implementación en las siguientes secciones se basa en los detalles de este diagrama.

Configuración de red de NetApp AIpod

Figura que muestra el diálogo de entrada/salida o representa contenido escrito

La siguiente tabla muestra ejemplos de asignaciones de cableado para hasta 16 sistemas DGX y 2 pares AFF A90 HA.

Conmutador y puerto Dispositivo Puerto del dispositivo

puertos 1-16 del switch1

DGX-H100-01 a -16

enp170s0f0np0, ranura 1 puerto 1

puertos 17-32 del switch1

DGX-H100-01 a -16

enp170s0f1np1, ranura 1, puerto 2

puertos 33-36 del switch1

AFF-A90-01 a -04

puerto e6a

puertos 37-40 del switch1

AFF-A90-01 a -04

puerto e11a

puertos 41-44 del switch1

AFF-A90-01 a -04

puerto e2a

puertos 57-64 del switch1

ISL a switch2

puertos 57-64

puertos 1-16 del switch2

DGX-H100-01 a -16

enp41s0f0np0, ranura 2 puerto 1

puertos 17-32 del switch2

DGX-H100-01 a -16

enp41s0f1np1, ranura 2 puerto 2

puertos 33-36 del switch2

AFF-A90-01 a -04

puerto e6b

puertos 37-40 del switch2

AFF-A90-01 a -04

puerto e11b

puertos 41-44 del switch2

AFF-A90-01 a -04

puerto e2b

puertos 57-64 del switch2

ISL para cambiar 1

puertos 57-64

La siguiente tabla muestra las versiones de software de los distintos componentes utilizados en esta validación.

Dispositivo Versión del software

Conmutadores NVIDIA SN4600

Cumulus Linux v5.9.1

Sistema NVIDIA DGX

Sistema operativo DGX v6.2.1 (Ubuntu 22.04 LTS)

Mellanox OFED

24,01

NetApp AFF A90

NetApp ONTAP 9.14.1

Configuración de la red de almacenamiento

Esta sección describe detalles clave para la configuración de la red de almacenamiento Ethernet. Para obtener información sobre cómo configurar la red informática InfiniBand, consulte la"Documentación de NVIDIA BasePOD" . Para obtener más detalles sobre la configuración del conmutador, consulte la"Documentación de NVIDIA Cumulus Linux" .

A continuación se describen los pasos básicos utilizados para configurar los conmutadores SN4600. Este proceso supone que el cableado y la configuración básica del conmutador (administración de direcciones IP, licencias, etc.) están completos.

  1. Configurar el enlace ISL entre los conmutadores para habilitar la agregación de múltiples enlaces (MLAG) y el tráfico de conmutación por error

    • Esta validación utilizó 8 enlaces para proporcionar un ancho de banda más que suficiente para la configuración de almacenamiento bajo prueba.

    • Para obtener instrucciones específicas sobre cómo habilitar MLAG, consulte la documentación de Cumulus Linux.

  2. Configurar LACP MLAG para cada par de puertos de cliente y puertos de almacenamiento en ambos conmutadores

    • puerto swp17 en cada conmutador para DGX-H100-01 (enp170s0f1np1 y enp41s0f1np1), puerto swp18 para DGX-H100-02, etc. (bond1-16)

    • puerto swp41 en cada conmutador para AFF-A90-01 (e2a y e2b), puerto swp42 para AFF-A90-02, etc. (bond17-20)

    • nv establece interfaz bondX miembro de enlace swpX

    • nv establecer interfaz bondx enlace mlag id X

  3. Agregue todos los puertos y enlaces MLAG al dominio de puente predeterminado

    • nv set int swp1-16,33-40 dominio de puente br_default

    • nv set int bond1-20 dominio de puente br_default

  4. Habilitar RoCE en cada conmutador

    • nv establece el modo roce sin pérdida

  5. Configurar VLAN: 2 para puertos de cliente, 2 para puertos de almacenamiento, 1 para administración, 1 para conmutador L3 a conmutador

    • interruptor 1-

      • VLAN 3 para enrutamiento de conmutador L3 a conmutador en caso de falla de la NIC del cliente

      • VLAN 101 para el puerto de almacenamiento 1 en cada sistema DGX (enp170s0f0np0, ranura 1, puerto 1)

      • VLAN 102 para el puerto e6a y e11a en cada controlador de almacenamiento AFF A90

      • VLAN 301 para la gestión mediante las interfaces MLAG para cada sistema DGX y controlador de almacenamiento

    • interruptor 2-

      • VLAN 3 para enrutamiento de conmutador L3 a conmutador en caso de falla de la NIC del cliente

      • VLAN 201 para el puerto de almacenamiento 2 en cada sistema DGX (enp41s0f0np0, ranura 2, puerto 1)

      • VLAN 202 para los puertos e6b y e11b en cada controlador de almacenamiento AFF A90

      • VLAN 301 para la gestión mediante las interfaces MLAG para cada sistema DGX y controlador de almacenamiento

  6. Asigne puertos físicos a cada VLAN según corresponda, por ejemplo, puertos de cliente en VLAN de cliente y puertos de almacenamiento en VLAN de almacenamiento

    • nv set int <swpX> dominio de puente br_default acceso <id de VLAN>

    • Los puertos MLAG deben permanecer como puertos troncales para habilitar múltiples VLAN a través de las interfaces vinculadas según sea necesario.

  7. Configurar interfaces virtuales de conmutador (SVI) en cada VLAN para que actúen como puerta de enlace y habilitar el enrutamiento L3

    • interruptor 1-

      • nv set int vlan3 dirección IP 100.127.0.0/31

      • nv set int vlan101 dirección IP 100.127.101.1/24

      • nv set int vlan102 dirección IP 100.127.102.1/24

    • interruptor 2-

      • nv set int vlan3 dirección IP 100.127.0.1/31

      • nv set int vlan201 dirección IP 100.127.201.1/24

      • nv set int vlan202 dirección IP 100.127.202.1/24

  8. Crear rutas estáticas

    • Las rutas estáticas se crean automáticamente para las subredes en el mismo conmutador

    • Se requieren rutas estáticas adicionales para el enrutamiento de conmutador a conmutador en caso de una falla en el enlace del cliente

      • interruptor 1-

        • nv establece vrf enrutador predeterminado estático 100.127.128.0/17 a través de 100.127.0.1

      • interruptor 2-

        • nv establece vrf enrutador predeterminado estático 100.127.0.0/17 a través de 100.127.0.0

Configuración del sistema de almacenamiento

Esta sección describe detalles clave para la configuración del sistema de almacenamiento A90 para esta solución. Para obtener más detalles sobre la configuración de los sistemas ONTAP , consulte la"Documentación de ONTAP" . El siguiente diagrama muestra la configuración lógica del sistema de almacenamiento.

Configuración lógica del clúster de almacenamiento NetApp A90

Figura que muestra el diálogo de entrada/salida o representa contenido escrito

A continuación se describen los pasos básicos utilizados para configurar el sistema de almacenamiento. Este proceso supone que se ha completado la instalación básica del clúster de almacenamiento.

  1. Configurar 1 agregado en cada controlador con todas las particiones disponibles menos 1 de repuesto

    • aggr crear -nodo <nodo> -agregado <nodo>_data01 -diskcount <47>

  2. Configurar ifgrps en cada controlador

    • net port ifgrp create -node <nodo> -ifgrp a1a -mode multimode_lacp -distr-function port

    • puerto de red ifgrp add-port -node <nodo> -ifgrp <ifgrp> -ports <nodo>:e2a,<nodo>:e2b

  3. Configurar el puerto VLAN de administración en ifgrp en cada controlador

    • puerto de red vlan crear -nodo aff-a90-01 -puerto a1a -vlan-id 31

    • puerto de red vlan crear -nodo aff-a90-02 -puerto a1a -vlan-id 31

    • puerto de red vlan crear -nodo aff-a90-03 -puerto a1a -vlan-id 31

    • puerto de red vlan crear -nodo aff-a90-04 -puerto a1a -vlan-id 31

  4. Crear dominios de difusión

    • dominio de difusión crear -dominio de difusión vlan21 -mtu 9000 -puertos 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

    • dominio de difusión crear -dominio de difusión vlan22 -mtu 9000 -puertos 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

    • dominio de difusión crear -dominio de difusión vlan31 -mtu 9000 -puertos aff-a90-01:a1a-31,aff-a90-02:a1a-31,aff-a90-03:a1a-31,aff-a90-04:a1a-31

  5. Crear SVM de gestión *

  6. Configurar la gestión SVM

    • crear LIF

      • net int create -vserver basepod-mgmt -lif vlan31-01 -nodo-local aff-a90-01 -puerto-local a1a-31 -dirección 192.168.31.X -máscara-de-red 255.255.255.0

    • crear volúmenes FlexGroup

      • vol create -vserver basepod-mgmt -volume home -size 10T -auto-provision-as flexgroup -junction-path /home

      • vol create -vserver basepod-mgmt -volume cm -size 10T -auto-provision-as flexgroup -junction-path /cm

    • crear una política de exportación

      • regla de política de exportación crear -vserver basepod-mgmt -policy predeterminado -client-match 192.168.31.0/24 -rorule sys -rwrule sys -superuser sys

  7. Crear datos SVM *

  8. Configurar datos SVM

    • Configurar SVM para compatibilidad con RDMA

      • vserver nfs modificar -vserver basepod-data -rdma habilitado

    • crear LIF

      • net int create -vserver basepod-data -lif c1-6a-lif1 -nodo-local aff-a90-01 -puerto-local e6a -dirección 100.127.102.101 -máscara-de-red 255.255.255.0

      • net int create -vserver basepod-data -lif c1-6a-lif2 -nodo-local aff-a90-01 -puerto-local e6a -dirección 100.127.102.102 -máscara-de-red 255.255.255.0

      • net int create -vserver basepod-data -lif c1-6b-lif1 -nodo-local aff-a90-01 -puerto-local e6b -dirección 100.127.202.101 -máscara-de-red 255.255.255.0

      • net int create -vserver basepod-data -lif c1-6b-lif2 -nodo-local aff-a90-01 -puerto-local e6b -dirección 100.127.202.102 -máscara-de-red 255.255.255.0

      • net int create -vserver basepod-data -lif c1-11a-lif1 -nodo-local aff-a90-01 -puerto-local e11a -dirección 100.127.102.103 -máscara-de-red 255.255.255.0

      • net int create -vserver basepod-data -lif c1-11a-lif2 -nodo-local aff-a90-01 -puerto-local e11a -dirección 100.127.102.104 -máscara-de-red 255.255.255.0

      • net int create -vserver basepod-data -lif c1-11b-lif1 -nodo-local aff-a90-01 -puerto-local e11b -dirección 100.127.202.103 -máscara-de-red 255.255.255.0

      • net int create -vserver basepod-data -lif c1-11b-lif2 -nodo-local aff-a90-01 -puerto-local e11b -dirección 100.127.202.104 -máscara-de-red 255.255.255.0

      • net int create -vserver basepod-data -lif c2-6a-lif1 -nodo-local aff-a90-02 -puerto-local e6a -dirección 100.127.102.105 -máscara-de-red 255.255.255.0

      • net int create -vserver basepod-data -lif c2-6a-lif2 -nodo-local aff-a90-02 -puerto-local e6a -dirección 100.127.102.106 -máscara-de-red 255.255.255.0

      • net int create -vserver basepod-data -lif c2-6b-lif1 -nodo-local aff-a90-02 -puerto-local e6b -dirección 100.127.202.105 -máscara-de-red 255.255.255.0

      • net int create -vserver basepod-data -lif c2-6b-lif2 -nodo-local aff-a90-02 -puerto-local e6b -dirección 100.127.202.106 -máscara-de-red 255.255.255.0

      • net int create -vserver basepod-data -lif c2-11a-lif1 -nodo-local aff-a90-02 -puerto-local e11a -dirección 100.127.102.107 -máscara-de-red 255.255.255.0

      • net int create -vserver basepod-data -lif c2-11a-lif2 -nodo-local aff-a90-02 -puerto-local e11a -dirección 100.127.102.108 -máscara-de-red 255.255.255.0

      • net int create -vserver basepod-data -lif c2-11b-lif1 -nodo-local aff-a90-02 -puerto-local e11b -dirección 100.127.202.107 -máscara-de-red 255.255.255.0

      • net int create -vserver basepod-data -lif c2-11b-lif2 -nodo-local aff-a90-02 -puerto-local e11b -dirección 100.127.202.108 -máscara-de-red 255.255.255.0

  9. Configurar LIF para el acceso RDMA

    • Para las implementaciones con ONTAP 9.15.1, la configuración de QoS de RoCE para la información física requiere comandos de nivel de sistema operativo que no están disponibles en la CLI de ONTAP . Comuníquese con el soporte de NetApp para obtener ayuda con la configuración de puertos para compatibilidad con RoCE. NFS sobre RDMA funciona sin problemas

    • A partir de ONTAP 9.16.1, las interfaces físicas se configurarán automáticamente con las configuraciones adecuadas para el soporte de RoCE de extremo a extremo.

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

  10. Configurar parámetros NFS en el SVM de datos

    • nfs modificar -vserver basepod-data -v4.1 habilitado -v4.1-pnfs habilitado -v4.1-trunking habilitado -tcp-max-transfer-size 262144

  11. Crear volúmenes FlexGroup

    • vol create -vserver basepod-data -volume data -size 100T -auto-provision-as flexgroup -junction-path /data

  12. Crear una política de exportación

    • regla de política de exportación crear -vserver basepod-data -policy predeterminado -client-match 100.127.101.0/24 -rorule sys -rwrule sys -superuser sys

    • regla de política de exportación crear -vserver basepod-data -policy predeterminado -client-match 100.127.201.0/24 -rorule sys -rwrule sys -superuser sys

  13. crear rutas

    • ruta agregar -vserver basepod_data -destino 100.127.0.0/17 -puerta de enlace 100.127.102.1 métrica 20

    • ruta agregar -vserver basepod_data -destino 100.127.0.0/17 -puerta de enlace 100.127.202.1 métrica 30

    • ruta agregar -vserver basepod_data -destino 100.127.128.0/17 -puerta de enlace 100.127.202.1 métrica 20

    • ruta agregar -vserver basepod_data -destino 100.127.128.0/17 -puerta de enlace 100.127.102.1 métrica 30

Configuración de DGX H100 para acceso al almacenamiento RoCE

Esta sección describe detalles clave para la configuración de los sistemas DGX H100. Muchos de estos elementos de configuración pueden incluirse en la imagen del sistema operativo implementada en los sistemas DGX o implementarse mediante Base Command Manager en el momento del arranque. Se enumeran aquí como referencia; para obtener más información sobre la configuración de nodos e imágenes de software en BCM, consulte la"Documentación de BCM" .

  1. Instalar paquetes adicionales

    • herramienta ipmi

    • python3-pip

  2. Instalar paquetes de Python

    • paramiko

    • matplotlib

  3. Reconfigurar dpkg después de la instalación del paquete

    • dpkg --configure -a

  4. Instalar MOFED

  5. Establecer valores mst para optimizar el rendimiento

    • mstconfig -y -d <aa:00.0,29:00.0> establecer CONFIGURACIÓN_PCI_AVANZADA=1 NÚMERO_DE_VFS=0 LECTURA_MÁXIMA_ACC_SALIDA=44

  6. Restablecer los adaptadores después de modificar la configuración

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

  7. Establecer MaxReadReq en dispositivos PCI

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

  8. Establecer el tamaño del búfer de anillo RX y TX

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

  9. Establezca PFC y DSCP mediante mlnx_qos

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

  10. Establecer ToS para el tráfico RoCE en los puertos de red

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

  11. Configure cada NIC de almacenamiento con una dirección IP en la subred adecuada

    • 100.127.101.0/24 para almacenamiento NIC 1

    • 100.127.201.0/24 para almacenamiento NIC 2

  12. Configurar puertos de red en banda para la conexión LACP (enp170s0f1np1,enp41s0f1np1)

  13. Configurar rutas estáticas para rutas primarias y secundarias a cada subred de almacenamiento

    • ruta add –net 100.127.0.0/17 gw 100.127.101.1 métrica 20

    • ruta add –net 100.127.0.0/17 gw 100.127.201.1 métrica 30

    • ruta add –net 100.127.128.0/17 gw 100.127.201.1 métrica 20

    • ruta add –net 100.127.128.0/17 gw 100.127.101.1 métrica 30

  14. Volumen de montaje/inicio

    • montaje -o vers=3,nconnect=16,rsize=262144,wsize=262144 192.168.31.X:/inicio /inicio

  15. Volumen de datos de montaje

    • Se utilizaron las siguientes opciones de montaje al montar el volumen de datos:

      • vers=4.1 # habilita pNFS para acceso paralelo a múltiples nodos de almacenamiento

      • proto=rdma # establece el protocolo de transferencia a RDMA en lugar del TCP predeterminado

      • max_connect=16 # habilita el enlace troncal de sesión NFS para agregar el ancho de banda del puerto de almacenamiento

      • write=eager # mejora el rendimiento de escritura de las escrituras almacenadas en búfer

      • rsize=262144,wsize=262144 # establece el tamaño de transferencia de E/S a 256k