当前位置: 首页 > news >正文

Linux RDMA网络配置手册

一、配置前准备工作

在进行 RDMA 网络配置之前,请确保以下准备工作已完成:

硬件环境

  • 确保服务器支持 RDMA 功能,例如支持 InfiniBand 或 RoCE(RDMA over Converged Ethernet)的网卡。
  • 确保网络交换设备支持 RDMA 协议。
  • 确保服务器之间通过支持 RDMA 的网络连接。

软件环境

  • 确保服务器操作系统已正确安装并运行。
  • 确保系统已安装 dnf 或 yum 包管理工具。

网络环境

  • 确保网络配置正确,服务器之间可以正常通信。
  • 确保防火墙或安全组规则允许 RDMA 相关端口的通信。

二、配置步骤

1. 安装 RDMA 相关软件包

1.1 安装 rdma-core 软件包

打开终端,运行以下命令安装 rdma-core 软件包:

dnf install rdma-core

或者

yum install rdma-core

1.2 安装其他工具包

为了更好地管理和测试 RDMA 网络,还需要安装一些额外的工具包。运行以下命令:

dnf install libibverbs-utils infiniband-diags

或者

yum install libibverbs-utils infiniband-diags

1.3 验证安装

安装完成后,运行以下命令验证是否安装成功:

ibstat

如果输出显示了 RDMA 设备信息,则表示安装成功。

2. 配置 RDMA 网络

2.1 配置 rdma 服务

编辑/etc/rdma/modules/rdma.conf文件,取消您要启用的模块的注释。例如,如果您需要支持 iSCSI over RDMA 客户端,则取消ib_iser模块的注释。

修改完成后,保存文件并重启rdma-load-modules@rdma.service服务以使更改生效:

systemctl restart rdma-load-modules@rdma.service

2.2 配置 IP over InfiniBand (IPoIB)

如果需要配置 IPoIB,可以通过创建 NetworkManager 连接配置文件来完成。例如,使用nmcli命令创建 IPoIB 连接:

nmcli con add type infiniband con-name ib0 ifname ib0 master eth0

替换ib0eth0为实际的设备名称。

2.3 配置 RoCE

如果使用 RoCE,需要确保网卡驱动已正确加载,并配置 RoCE 版本。例如,临时更改 RoCE 版本:

mkdir /sys/kernel/config/rdma_cm/mlx5_0/
echo "IB/RoCE v1" > /sys/kernel/config/rdma_cm/mlx5_0/ports/1/default_roce_mode

2.4 验证配置

使用ibstat -v命令检查物理端口状态。确保端口状态为 Active,物理状态为 LinkUp。

如果需要测试网络性能,可以使用qperf工具。例如,在服务器端启动qperf,在客户端运行以下命令:

qperf -v -i mlx4_0:1 192.0.2.1 rc_bi_bw

三、配置示例

示例 1:配置 InfiniBand 网络

环境描述

  • 两台服务器,分别命名为 ServerA 和 ServerB。
  • 服务器之间通过 InfiniBand 网络连接。
  • ServerA 的 InfiniBand 设备名为 ib0,ServerB 的设备名为 ib1。

配置步骤

  1. 安装 RDMA 软件包
    在 ServerA 和 ServerB 上分别运行以下命令:

    dnf install rdma-core libibverbs-utils infiniband-diags
    
  2. 配置 IPoIB
    在 ServerA 上运行以下命令:

    nmcli con add type infiniband con-name ib0 ifname ib0 master eth0
    

    在 ServerB 上运行以下命令:

    nmcli con add type infiniband con-name ib1 ifname ib1 master eth1
    
  3. 验证配置
    在 ServerA 上运行以下命令:

    ibstat -v
    

    如果输出显示ib0设备状态为 Active,则表示配置成功。

    在 ServerA 和 ServerB 上分别运行以下命令测试网络性能:

    qperf -v -i ib0 192.0.2.2 rc_bi_bw
    

示例 2:配置 RoCE 网络

环境描述

  • 两台服务器,分别命名为 ServerA 和 ServerB。
  • 服务器之间通过以太网连接,支持 RoCE。
  • ServerA 和 ServerB 的网卡设备名为 enp0s1。

配置步骤

  1. 安装 RDMA 软件包
    在 ServerA 和 ServerB 上分别运行以下命令:

    dnf install rdma-core libibverbs-utils infiniband-diags
    
  2. 配置 RoCE
    在 ServerA 和 ServerB 上分别运行以下命令:

    mkdir /sys/kernel/config/rdma_cm/mlx5_0/
    echo "IB/RoCE v1" > /sys/kernel/config/rdma_cm/mlx5_0/ports/1/default_roce_mode
    
  3. 验证配置
    在 ServerA 上运行以下命令:

    ibstat -v
    

    如果输出显示设备状态为 Active,则表示配置成功。

    在 ServerA 和 ServerB 上分别运行以下命令测试网络性能:

    qperf -v -i mlx4_0:1 192.0.2.2 rc_bi_bw
    

四、附录

如果 ibstat 命令未显示设备信息

可能是 RDMA 内核模块未正确加载。可以尝试手动加载模块:

modprobe ib_uverbs
modprobe ib_core
http://www.lqws.cn/news/521155.html

相关文章:

  • 2026-软件工程-《软件质量测试与保证》-期末复习—习题汇总
  • 【编程基本功】Win11中Git安装配置全攻略,包含Git以及图形化工具TortoiseGit
  • Qt开发1--Qt概述,安装,创建第一个Qt项目
  • 2 Qt中的空窗口外观设置和常用的基础部件
  • 【笔记】Docker 配置阿里云镜像加速(公共地址即开即用,无需手动创建实例)
  • C#高级:Winform桌面开发中DataGridView的详解(新)
  • 在 GitLab CI 中配置多任务
  • Tomcat
  • 用Rust写平衡三进制乘法器
  • Hoare逻辑与分离逻辑:从程序验证到内存推理的演进
  • ES10(ES2019)新特性整理
  • 华为运维工程师面试题(英语试题,内部资料)
  • mysql 5.1 升级 mysql 5.7 升级 mariadb10
  • RabbitMq中使用自定义的线程池
  • 基于R语言的亚组分析与森林图绘制1
  • 微算法科技融合Grover算法与统一哈希函数的混合经典-量子算法技术,可在多领域高效提升文本处理效率
  • win11搭建Python开发环境指南
  • MAC、IP地址、TCP、UDP、SSL、OSI模型
  • 【MCP 实战4-1】开发 OpenSearch MCP server
  • 南北差异之——理解业务和理解产品
  • spring项目启动sheel脚本
  • 惯性导航——陀螺仪
  • 解决git pull,push 每次操作输入账号密码问题
  • 基于STM32的个人健康助手的设计
  • 鸿蒙应用开发中的数据存储:SQLite与Preferences全面解析
  • 基于 opencv+yolov8+easyocr的车牌追踪识别
  • Kotlin 协程:全面解析与深度探索
  • 工业“三体”联盟:ethernet ip主转profinet网关重塑设备新规则
  • python哈尔滨中心医院用户移动端
  • Docker安装教程-linux