(基于centos7.6的网卡驱动安装) 目标 本文档以CentOS7.6为例,详细介绍了Mellanox网卡MLNX_OFED的驱动安装和固件升级方法。 本次下载的驱动版本为:MLNX_OFED_LINUX-4.7-3.2.9.0-rhel7.6-x86_64.tgz 安装步骤 把下载好的Mellanox驱动解压缩 [root@localhost ~ ]# tar –zxvf MLNX_OFED_LINUX-4.7-3.2.9.0-rhel7.6-x86_64.tgz [root@localhost ~]# cd MLNX_OFED_LINUX -4.7-3.2.9.0-rhel7.6-x86_64 查看当前系统的内核版本 [root@localhost MLNX_OFED_LINUX-4.7-3.2.9.0-rhel7.6-x86_64 tmp目录下 [root@localhost MLNX_OFED_LINUX-4.7-3.2.9.0-rhel7.6-x86_64]# ls -l /tmp/MLNX_OFED_LINUX-4.7
, OFED 5.3, 5.4 AlmaLinux 8.5: no OFED, OFED 5.3, 5.4, 5.5 AlmaLinux 9.0: no OFED, OFED 5.6, 5.7 Rocky Linux 8.4: no OFED, OFED 5.3, 5.4 Rocky Linux 8.5: no OFED, OFED 5.5 Rocky Linux 8.6: no OFED, OFED 5.6 SLES 15.1: no OFED, OFED 5.0 SLES 15.2: no OFED, OFED 5.1, 5.4 SLES 15.3: no OFED, OFED 5.4, 5.5, 5.6 SLES 15.4: OFED 5.6, 5.7 Debian 10: no OFED, OFED 5.2, 5.3, 5.4 Debian 11: no OFED, OFED 5.6 Ubuntu 18.04: no OFED Ubuntu 20.04: no OFED, OFED 5.4 Ubuntu 22.04: no OFED, OFED 5.6, 5.7 因此,假如需要RDMA的支持,我们还需要重新编译一下客户端
先在https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/搜索适合的驱动,由于mellanox ConnectX- 3 MCX353A-FCBT是比较久的版本,所以从MLNX_OFED 5.1开始,就不开始支持下述版本ConnectX-3 ProConnectX-3Connect-IBRDMA experimental verbs library (mlnx_lib)所以我们选择的版本是4.9.0-5.1.0版本开始下载wget https://content.mellanox.com/ofed/MLNX_OFED- 4.9-5.1.0.0/MLNX_OFED_LINUX-4.9-5.1.0.0-ubuntu20.04-x86_64.tgz解压文件tar zxf MLNX_OFED_LINUX-4.9-5.1.0.0 -ubuntu20.04-x86_64.tgz开始安装cd MLNX_OFED_LINUX-4.9-5.1.0.0-ubuntu20.04-x86_64.
See MLNX_OFED User Manual for more info. ) Mellanox Linux 驱动程序模块关系 (MLNX_OFED) OFED软件堆栈图 HowTo Install MLNX_OFED Driver 如何安装MLNX_OFED驱动 重新编译OFED/rebuild ofed: https://enterprise-support.nvidia.com/s/article/howto-compile-mlnx-ofed-drivers --160---mlnx-ofa-kernel-example-x 编译其他系统的MLNX_OFED: https://enterprise-support.nvidia.com/s/article/howto-compile-mlnx-ofed-for-different-linux-kernel-distribution --160---160-x HowTo Install MLNX_OFED for ConnectX-4/ConnectX-5 via ISO Image Ethtool Commands How To
/root:/mnt \ --net=host \ --ipc=host \ --name=ai haihub.cn/tencent/taco-train/cuda12.4-ofed5.4 请在镜像当中安装正确的用户态RDMA驱动: // Ubuntu 22.04 RUN wget https://taco-1251783334.cos.ap-shanghai.myqcloud.com/ofed /MLNX_OFED_LINUX-5.4-3.6.8.1-ubuntu22.04-x86_64.tgz && \ tar xf MLNX_OFED_LINUX-5.4-3.6.8.1-ubuntu22.04 -x86_64.tgz && \ cd MLNX_OFED_LINUX-5.4-3.6.8.1-ubuntu22.04-x86_64 && \ . /mlnxofedinstall --user-space-only --without-fw-update --force && cd ../ && rm MLNX_OFED_LINUX* -rf 2
用户态RDMA驱动 如果使用自定义的业务镜像,请在镜像当中安装用户态的RDMA驱动: //检查主机上OFED版本 ofed_info -s // MLNX_OFED_LINUX-5.8-2.0.3.0 // 进入docker docker exec -it poc bash // 检查docker的os版本 cat /etc/os-release // 下载对应OS版本和ofed版本的安装包 (这里是centos7.9和5.8-2.0.3.0,参考手动下载) tar xvf MLNX_OFED_LINUX-5.8-2.0.3.0-rhel7.9-x86_64.tgz cd MLNX_OFED_LINUX /mlnxofedinstall --user-space-only --without-fw-update --force 手动下载对应版本的OFED包并上传到docker中: 链接如下:https: //network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/ 安装成功后输出如下: 2.
配置流程:为所有服务器的InfiniBand主机通道适配器(HCA)安装驱动和OFED软件栈。配置并启动子网管理器(Subnet Manager)。 安装MLNX_OFED驱动(所有节点):# MLNX_OFED 是 Mellanox/NVIDIA 提供的官方驱动栈,包含内核模块、用户态库、诊断工具。 # 下载wget https://www.mellanox.com/downloads/ofed/MLNX_OFED-5.8-3.0.7.0/MLNX_OFED_LINUX-5.8-3.0.7.0-rhel8.7 -x86_64.tgztar -xzf MLNX_OFED_LINUX-*.tgzcd MLNX_OFED_LINUX-*# 安装sudo . LinkUp, Rate: 200 Gb/sec (HDR)常见问题处理:错误:modprobe: FATAL: Module mlx5_core not found → 检查内核版本兼容性(MLNX_OFED
Verbs 接口(userspace RDMA 程序会依赖) ib_core RDMA 核心抽象层(通用 InfiniBand 子系统) mlx_compat Mellanox 向后兼容层(用于 OFED 检查 OFED 安装状态如果你使用 Mellanox OFED(不是内核默认驱动),可以运行:ofed_info -s MLNX_OFED_LINUX-24.10-2.1.8.0: 确认你装的是 Mellanox
1.2 下载mlnx_ofed驱动mlox_ofed驱动下载链接根据提示,由于我的网卡是ConnectX-4, 所以选择了 选择 MLNX_OFED 5.4/5.8-x LTS 版本。 MLNX_OFED Download Center 可以自行选择所需要的iso文件。 1.3 安装mlnx_ofed驱动将iso文件拷贝到测试机上,执行mount命令,然后执行 mlnxofedinstall脚本即可,在执行这个脚本期间,会编译一些内核模块,速度会比较慢,耐心等待即可。 ➜ scp -r MLNX_OFED_LINUX-5.8-4.1.5.0-ubuntu20.04-x86_64.iso bing@192.168.100.101:/tmproot@ubuntu2004: /tmp# mount -o ro,loop MLNX_OFED_LINUX-5.8-4.1.5.0-ubuntu20.04-x86_64.iso /mnt/root@ubuntu2004:/tmp#
- tem00查询/usr/sbin/ibstatus[fyu@tem00 MLNX_OFED_LINUX-23.07-0.5.1.2-rhel7.6-x86_64]$ ibstatus[fyu@tem00 下载安装包“MLNX\_OFED\_LINUX-4.3-1.0.1.0-rhel7.3-x86_64.tgz”。 /products/infiniband-drivers/linux/mlnx_ofed/) **图2** IB驱动的下载页面 ! **# yum install tk tcl** **# tar -xvf MLNX_OFED_LINUX-4.3-1.0.1.0-rhel7.3-x86_64.tgz** **# cd MLNX_OFED_LINUX-4.3-1.0.1.0-rhel7.3**-x86_64 **# .
rpm2cpio xxx.rpm | cpio -div 例如: [root@server012 libibverbs-1.2.1mlnx1]# rpm2cpio libibverbs-1.2.1mlnx1-OFED
软件层这块,大多以OFED为骨架实现,硬件厂商会基于 OFED 开发标准化驱动与定制优化,让自家RNIC接入生态。软件厂商会通过OFED 提供的标准化接口,调用 RDMA能力。 Verbs API(ibv_post_send)发起 RDMA Write 请求,传入远程内存地址、rkey(远程访问密钥)、传输长度等参数; 软件层:libibverbs接收请求并转化为标准化指令,OFED
3.1 E2E转发测试环境部署 在两台Server服务器上安装Mellanox网卡的MLNX_OFED驱动程序,网卡驱动安装完成之后检查网卡及驱动状态,确保网卡可以正常使用。 网卡MLNX_OFED驱动程序安装: 检查网卡及网卡驱动状态: 3.2 MPI基准测试环境部署 在两台Server服务器上安装HPC高性能集群基础环境,安装OSU MPI Benchmarks
:ofed 自带的工具,比如ib_bw之类的查看ofed版本: ofed_info -sport:查看端口状态:cat /sys/class/infiniband/mlx4_0/ports/ 1/state CHID=778602#ibdev2netdev 是 MLNX_OFED 包中最有用的脚本之一,因为它将适配器端口映射到网络设备。 显示ofed_info显示网卡、驱动版本等信息hca_self_test.ofed自测[root@rdma61 ~]# hca_self_test.ofed---- Performing Adapter DAT 1.2 和 2.0 规范的 uDAPL 参考实施包的发布时间与 OFED Open Fabrics (www.openfabrics.org) 软件堆栈的发布时间一致NVIDIA OFED 是一个单一的虚拟协议互连 NVIDIA OFED 包括以下基于 InfiniBand 的 MPI 实现:Open MPI——Open MPI Project 的开源 MPI-2 实现NVIDIA OFED 还包括 MPI 基准测试
/t-rex-64 –cfg mlx5-02.yaml -m 10 -d 60 -f ipv6.yaml –ipv6 –no-ofed-check 配置单口发包, 修改mlx5-02.yaml interfaces /t-rex-64 –cfg mlx5-02.yaml –ipv6 –no-ofed-check -i 启动TRex客户端 .
BlueField SW 是一个基于 Ubuntu Server 发行版的参考 Linux 发行版,扩展后包含适用于 Arm 的 MLNX_OFED 堆栈和支持 NVMe-oF 的 Linux 内核。 DPU 附带的其他软件元素:适用于 BlueField 的 Arm 可信固件 (ATF)BlueField 的 UEFI开发板上发现 OpenBMC for BMC (ASPEED 2500)MLNX_OFED 这些接口利用 MLNX_OFED 软件堆栈和基于 InfiniBand 动词的接口来支持软件。系统连接BlueField DPU 有多个连接(见下图)。
这种方案ofed包中ovs实现了dpdkvdpa类型的接口,对应着一个vf和一个vf representor。
系统要求要设置 SR-IOV 环境,需要满足以下条件:MLNX_OFED 驱动程序具有支持 SR-IOV 的主板 BIOS 的服务器/刀片式服务器支持 SR-IOV 的虚拟机管理程序,例如:Red Hat
r--. 1 root root 1111 Jan 29 2016 ks-pre.logdrwxr-xr-x 7 root root 4096 Dec 8 2015 MLNX_OFED_LINUX -3.1-1.1.0.1-rhel6.6-x86_64-rw-r--r-- 1 root root 236676414 Jan 29 2016 MLNX_OFED_LINUX-3.1-1.1.0.1
119204643 https://www.rohitzambre.com/blog/2019/4/27/how-are-messages-transmitted-on-infiniband NVIDIA_MLX_OFED access MLX5创建QP帮助文档: https://manpages.debian.org/unstable/libibverbs-dev/mlx5dv_create_qp.3.en.html OFED 手册: http://dlcdnet.asus.com/pub/ASUS/server/accessory/PEM-FDR/Manual/Mellanox_OFED_Linux_User_Manual_v2