初始集群设置#

DGX SuperPOD 的部署阶段包括使用 BCM 来配置和管理 Slurm 集群。

  1. 配置 NFS 服务器。

    用户主目录 (home/) 和共享数据 (cm_shared/) 目录必须在主节点之间共享(例如 DGX OS 镜像),并且必须存储在 NFS 文件系统中以实现 HA 可用性。由于 DGX SuperPOD 不强制 NFS 存储的性质,因此配置不在本文档的范围之内。此 DGX SuperPOD 部署使用 站点调查 /var/nfs/general 中提供的 NFS 导出路径。建议 NFS 服务器导出文件 /etc/exports 使用以下参数。

    /var/nfs/general *(rw,sync,no_root_squash,no_subtree_check)
    
  2. 将 DGX 系统配置为默认 PXE 启动。

    1. 使用 KVM 或崩溃车,连接到 DGX 系统,进入 BIOS 菜单,并将 Boot Option #1 配置为 [NETWORK]

      _images/cluster-setup-01.png
    2. 确保其他启动选项为 [Disabled],然后转到下一个屏幕。

    3. Boot Option #1Boot Option #2 设置为对 Storage 4-2 和 Storage 5 2 使用 IPv4。

      _images/cluster-setup-02.png
    4. 确保其他启动选项为 [Disabled]

    5. 选择 Save & Exit

  3. 在故障转移主节点和 CPU 节点上,确保将网络启动配置为主要选项。确保主节点和 CPU 节点上网络连接的 Mellanox 端口也设置为以太网模式。

    这是一个系统将从网络启动的示例,使用 Slot 1 Port 2Slot 2 Port 2

    _images/cluster-setup-03.png
  4. 下载 BCM 安装程序 ISO。

  5. 将 ISO 刻录到 DVD 或可启动 USB 设备。

    它也可以作为虚拟媒体挂载并使用 BMC 安装。后者的具体机制因供应商而异。

  6. 确保目标主节点的 BIOS 配置为 UEFI 模式,并且其启动顺序配置为启动包含 BCM 安装程序镜像的介质。

  7. 启动安装介质。

  8. 在 grub 菜单中,选择 Start Base Command Manager Graphical Installer

  9. 在启动画面上选择 Start installation

  10. 通过选中 I agree 接受 NVIDIA EULA 的条款,然后选择 Next

  11. 通过选中 I agree 接受 Ubuntu Server UELA 的条款,然后选择 Next

  12. 除非另有指示,否则选择 Next,无需修改启动时要加载的内核模块。

  13. 验证 Hardware info 是否正确,然后选择 Next

    例如,目标存储设备和有线主机网络接口是否都存在(在本例中,三个 NVMe 驱动器是目标存储设备,ens1np0ens2np01 是有线主机网络接口)。

    _images/cluster-setup-09.png
  14. Installation source 屏幕上,选择适当的源,然后选择 Next

    运行介质完整性检查是可选的。

    _images/cluster-setup-10.png
  15. Cluster settings 屏幕上,输入所需信息,然后选择 Next

  16. Workload manager 屏幕上,选择 None,然后选择 Next

  17. Network topology 屏幕上,为数据中心环境选择网络类型,然后选择 Next

  18. Head node 屏幕上,输入主机名、管理员密码,硬件制造商选择 Other,然后选择 Next

  19. 接受计算节点中的默认设置,然后选择 Next

    确保 Node base namenode。其他值将在稍后的安装中更新。

    _images/cluster-setup-15.png
  20. BMC Configuration 屏幕上,对于 Head NodeCompute Nodes 都选择 No,然后选择 Next

    这些将在安装后阶段更新。

    _images/cluster-setup-16.png
  21. 在 Networks 屏幕上,输入 internalnet 的所需信息,然后选择 Next

    由于指定了 Type 2 网络,因此没有其他网络选项卡(例如,internalnet 或 ipminet)。

    _images/cluster-setup-17.png
  22. 在 Head node interfaces 屏幕上,确保一个接口配置了主节点的目标 internalnet IP,然后选择 Next

    其他接口将由安装后脚本配置。

    _images/cluster-setup-18.png
  23. Compute node interfaces 屏幕上,保留默认条目,然后选择 Next

    这些将在安装后更新。

    _images/cluster-setup-19.png
  24. Disk layout 屏幕上,选择目标安装位置(在本例中为 nvme0n1),然后选择 Next

  25. Disk layout settings 屏幕上,接受默认设置,然后选择 Next

    这些设置将在稍后的安装后步骤中更新。

    _images/cluster-setup-21.png
  26. Additional software 屏幕中,不要选择任何内容,然后选择 Next

  27. Summary screen 上确认信息,然后选择 Next

    “摘要”屏幕提供了在部署开始之前确认主节点和基本集群配置的机会。此配置将在部署完成后为 DGX SuperPOD 更新/修改。如果值与预期不符,请使用“后退”按钮导航到相应的屏幕以纠正任何错误。

    _images/cluster-setup-23.png
  28. 部署完成后,选择 Reboot

  29. 通过运行 request-license 并提供产品密钥来许可集群。

    sudo -i request-license
    
    Product Key (XXXXXX-XXXXXX-XXXXXX-XXXXXX-XXXXXX):
    
  30. 选项

    1. 如果使用旧的 MAC 到 IP 分配方法,请跳过第 32 行。

    2. 如果采用新方法:根据交换机和交换机端口自动检测 MAC 地址,请继续下一步。

    3. 在继续执行网络自动化应用程序之前,需要满足某些先决条件。请执行以下操作

      1. 将 “p2p_ethernet.csv” 文件从 USB 驱动器复制到以下路径 /cm/local/apps/bcm-superpod-network/config/p2p_ethernet.csv

        mv p2p_ethernet.csv /cm/local/apps/bcm-superpod-network/config/
        
  31. 加载 bcm-superpod-network 模块。

    module load bcm-superpod-network
    
  32. 运行 bcm-netautogen 脚本。

    bcm-netautogen
    

    注意:已提供新的附加信息。

    _images/cluster-setup-29.png

    从 p2p_ethernet.csv 文件中提取数据,以计算网络交换机、DGX、IBSW 和 PDU 的数量。在菜单执行期间必须提供准确的值,这些值将在未来的版本中更新,以利用计数作为物理电缆连接。

    _images/cluster-setup-25.png

    以下生成的文件很重要并包含数据

    • 站点网络配置 - /cm/local/apps/bcm-superpod-network/config/network-configuration.yml

    • 站点网络分配 - /cm/local/apps/bcm-superpod-network/config/network-allocations.yml

    • 交换机连接 - /cm/local/apps/bcm-superpod-network/config/switch-connections.yml

    • IP 分配 Readme 文件 - /cm/local/apps/bcm-superpod-network/config/ip_allocations.md

  33. 下载并将 cumulus-linux-5.10.0-mlx-amd64.binimage-X86_64-3.11.2300.img 移动到主节点上的以下目录。联系您的 TAM 以获取对正确文件的访问权限,并将文件移动到主节点上的以下目录

    mv cumulus-linux-5.10.0-mlx-amd64.bin /cm/local/apps/cmd/etc/htdocs/switch/image/
    mv image-X86_64-3.11.2300.img /cm/local/apps/cmd/etc/htdocs/switch/image/
    
  34. 加载 bcm-post-install 模块。

    module load bcm-post-install/
    
  35. 运行 bcm-pod-setup 脚本。

    要使用的参数是

    • –C 设置 computenet 网络的基地址。

    • –S 设置 storagenet 网络的基地址。

    • –I 设置安装源。

    bcm-pod-setup -C 100.126.0.0/16 -S 100.127.0.0/16 -I /dev/sdb
    
  36. 检查节点及其类别。

    额外的选项用于设备列表,以使格式更易读。

    1cmsh
    2[bcm-head-01]%device list -f hostname:20,category:10
    

    结果

    1hostname(key)      category
    2bcm-cpu-01           default
    3bcm-dgx-a100-01.  dgx-a100
    4bcm-dgx-h100-01.  dgx-h100
    
  37. 确认 bcm-dgx-h100-01 / bcm-dgx-a100-01 的配置正确。

     1[bcm-head-01->device[bcm-dgx-h100-01]]% interfaces
     2[bcm-head-01->device[bcm-dgx-h100-01]->interfaces]% list
     3Type         Network device name    IP               Network          Start if
     4------------ ---------------------- ---------------- ---------------- --------
     5bmc          ipmi0                  10.0.92.50       ipminet          always
     6bond         bond0 [prov]           10.0.93.12       dgxnet           always
     7physical     enp170s0f1np1 (bond0)  0.0.0.0                           always
     8physical     enp41s0f1np1 (bond0)   0.0.0.0                           always
     9physical     ibp154s0               100.126.5.14     ibnetcompute     always
    10physical     ibp170s0f0             100.127.2.2      ibnetstorage     always
    11physical     ibp192s0               100.126.6.14     ibnetcompute     always
    12physical     ibp206s0               100.126.7.14     ibnetcompute     always
    13physical     ibp220s0               100.126.8.14     ibnetcompute     always
    14physical     ibp24s0                100.126.1.14     ibnetcompute     always
    15physical     ibp41s0f0              100.127.1.2      ibnetstorage     always
    16physical     ibp64s0                100.126.2.14     ibnetcompute     always
    17physical     ibp79s0                100.126.3.14     ibnetcompute     always
    18physical     ibp94s0                100.126.4.14     ibnetcompute     always
    

    注意

    启用 CX7 固件升级

    要升级 mlx 固件,请将以下标志设置为“yes”。默认情况下,此标志设置为“no”。可以在软件镜像中更改此标志。

    例如(在软件镜像中设置)

    1cat /cm/images/<dgx image>/etc/infiniband/openib.conf | grep RUN_FW_UPDATER_ONBOOT
    2
    3RUN_FW_UPDATER_ONBOOT=yes
    

    设置完成后,执行 ipmi tool power off 和 power on。

  38. 检查以太网交换机是否在设备中。

    cmsh >> device >> list
    
    _images/cluster-setup-26.png

    验证在执行 bcm-pod-setup 后,类型 下是否添加了交换机

  39. 在每个 IPMI、TOR 和 SPINE 交换机下添加交换机凭据。

    _images/cluster-setup-27.png
    1commit
    2quit
    
  40. 通过交换机端口分配 IP

    • 运行 bcm-pod-setup 后,一旦所有网络和设备对象都添加到 Bright

    • 在继续下一步之前,请确保 IPMI 交换机在 Bright 中处于 UP 状态

    • 根据每个节点的交换机和交换机端口配置,导航到设备,然后导航到节点,并执行以下命令

      • setmacviaswitchport …… 通过在其交换机端口上找到的 MAC 地址设置设备的 MAC 地址。

        • 它将访问交换机并根据交换机端口分配拉取 MAC 地址。

        _images/cluster-setup-30.png
  41. 收集 UFM 指标

    • 将 UFM 添加到 Bright,并使用 mgmt IP 地址

    • 确保在 UFM 中启用 UFM Prometheus 导出器

     1## You can check by curl command from bright:
     2curl http://<UFM-IP>:9001/metrics
     3
     4## Configure Bright with following:
     5monitoring setup
     6add prometheus UFM
     7set urls https://<UFM-IP>:9001/metrics
     8set –e NoPostAllowed yes
     9nodeexecutionfilters
    10active
    11commit
    12
    13## Wait for (~2mins) for data to be collected
    14get measurables
    15
    16## To plot
    17monitoring labeledentity
    18list
    19
    20## Using the index value:
    21instantquery <index value>