漫辰夕BLOG
🏠 首页 📚 归档 🗂️ 分类 🔗 友链
B300 Fieldiag 系统环境准备教程:Ubuntu 24.04 从依赖安装到测试通过
生活随笔 B300 Cuda DOCA-OFED FLD Linux Nvidia Ubuntu fieldiag onediagfield

B300 Fieldiag 系统环境准备教程:Ubuntu 24.04 从依赖安装到测试通过

✍️ 漫辰夕 📅 2026/8/20 👁️ 13 次阅读

在 B300 设备上部署 Fieldiag 时,即使系统已经安装为 Ubuntu 24.04,第一次运行仍可能因编译依赖、IB 网络工具、NVLink 管理组件或 CUDA 环境不完整而报错。本文按「补全基础依赖 -> 部署网络与 NVLink 组件 -> 安装驱动与 CUDA -> 验证 Fieldiag」的顺序整理。

适用环境:B300,Ubuntu 24.04,CUDA 13.1.0,NVIDIA 驱动 590.44.01。本文命令以 root 权限为例;若使用普通用户,请根据实际权限添加 sudo。

1. 开始前的规划

Fieldiag 会调用现场诊断组件 onediagfield,其中的 modsclink 需要编译内核模块。因此,不能只安装 Fieldiag 后直接运行;还必须安装当前内核对应的头文件与编译工具。

建议先把 CUDA 离线安装包、DOCA-OFED 安装包等资源拷贝到系统盘。不建议在测试盘还未装到 B300 时提前安装驱动,以免更换到目标机器后出现驱动异常。

[配图 1 位置:初次运行 Fieldiag 的报错]
图片描述

2. 安装内核模块编译依赖

运行以下命令,安装编译工具、DKMS 以及与当前内核匹配的头文件:

apt update
apt install -y build-essential make gcc linux-headers-$(uname -r) dkms

安装完后重新运行 Fieldiag。如果报错从编译依赖转为 Mellanox、IB 工具、NVLink 或 Fabric Manager 缺失,说明内核模块编译环境已经补齐,可继续执行下一步。


[配图 2 位置:安装编译依赖后执行 Fieldiag 的报错]

图片描述

3. 安装 DOCA-OFED 与基础网络工具

Fieldiag 需要 Mellanox 硬件管理能力,并侚使用 InfiniBand (IB) 网络状态查询与压测工具。先安装 DOCA-OFED:

dpkg -i ./doca-host_3.4.0-085000-26.04-ubuntu2404_amd64.deb
apt-get update
apt-get -y install doca-ofed

[配图 3 位置:DOCA-OFED 安装后运行Fieldiag 的结果]
图片描述

因为Ubuntu 24.04 默认不再预装 ifconfig。此命令属于 net-tools 软件包,如果缺失,Fieldiag 可能会跳过 ibstress 的 IB 压测用例。

apt install -y net-tools


4. 安装 Fabric Manager 与 nvlsm

B300 多卡 NVLink 组网需要两个关键组件:

组件作用关键要求
nvidia-fabricmanager管理 NVSwitch Fabric,是多卡 NVLink 组网的必要服务主版本必须与 NVIDIA 驱动严格一致
nvlsmNVLink Subnet Manager,为 Fieldiag Level 2 诊断提供 NVSwitch 拓扑和链路状态需从 CUDA 仓库安装

本例使用的 CUDA 离线包为 cuda_13.1.0_590.44.01_linux.run,因此驱动版本是 590.44.01,对应的 Fabric Manager 包应选择 nvidia-fabricmanager-590

在目标 B300 上安装驱动后,安装并设置 Fabric Manager 开机自启:

apt install -y nvidia-fabricmanager-590
systemctl enable --now nvidia-fabricmanager
systemctl status nvidia-fabricmanager.service

如果驱动尚未安装,执行启动命令可能报错。此时先确认服务已经设为 enabled,待驱动安装后再验证运行状态。

[配图 5 位置:Fabric Manager 服务状态确认]
图片

[配图 6 位置:提前安装驱动可能出现的问题]
图片

若设备存在 PCIe 设备但 nvidia-smi 无法执行,可重新运行 CUDA 离线安装包。在安装程序检测到现有驱动时,选择 No, abort installation 终止当前安装,再根据现场版本规划处理驱动。

[配图 7 位置:CUDA 安装程序中的终止安装选项]
图片

添加 CUDA 官方软件源后安装 nvlsm

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
dpkg -i cuda-keyring_1.1-1_all.deb
apt update
apt search nvlsm
apt install nvlsm

[配图 8 位置:Fieldiag 报错缺少nvlsm的图片]
image7.png


5. 在 B300 目标机上安装驱动与 CUDA

测试盘上机后,在 B300 目标机上执行已准备好的 CUDA 离线安装包:

./cuda_13.1.0_590.44.01_linux.run

按提示输入 accept 同意协议。在组件选择页,保留以下两项:

选项建议说明
Driver -> 590.44.01选中安装 NVIDIA 590.44.01 显卡驱动
CUDA Toolkit 13.1选中安装 CUDA 开发工具包及 nvcc 编译器
CUDA Documentation 13.1可取消文档与示例,如无需可节省空间
Kernel Objects -> nvidia-fs可不选nvidia-fs 文件系统驱动模块,按实际场景决定

图片图片

选择 Install 后回车开始安装。这一过程耗时较长,请等待其完成。

[配图 10 位置:CUDA 安装成功提示]
图片描述

6. 配置 CUDA 环境变量并验证

安装完 CUDA 后,还需设置命令路径与动态库路径,否则新终端中无法直接调用 nvcc

echo 'export PATH=/usr/local/cuda-13.1/bin:$PATH' >> /etc/profile
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-13.1/lib64:$LD_LIBRARY_PATH' >> /etc/profile
echo "/usr/local/cuda-13.1/lib64" > /etc/ld.so.conf.d/cuda-13.1.conf
ldconfig

新开一个终端后,运行以下命令确认 CUDA 编译器和 NVIDIA 驱动都可正常使用:

nvcc -V
nvidia-smi

[配图 11 位置:nvcc -V 与 nvidia-smi 的验证结果]
图片描述

7. 运行 Fieldiag 并判定结果

环境依赖、DOCA-OFED、net-tools、Fabric Manager、nvlsm、驱动和 CUDA 验证均完成后,按 Fieldiag 目录中 README.txt 的说明执行测试命令。

测试结果显示 PASS 即表示相应测试项通过。

[配图 12 位置:Fieldiag 测试命令开始运行的输出]
图片描述

[配图 13 位置:Fieldiag PASS 测试结果]
图片描述

结语

遇到 Fieldiag 报错时,不建议一次性叠加所有软件包。每完成一类依赖就重新运行一次 Fieldiag,依据剩余报错继续补齐,更便于定位环境缺口。其中最重要的两点是:驱动与 Fabric Manager 版本必须匹配,以及 驱动应在 B300 目标机上完成安装与验证

‹ 上一篇 Proxmox VE 9.2.2 日常维护,去掉未订阅的提示——2026年7月3日更新