Linux RDMA网络配置手册

发布于:2025-06-26 ⋅ 阅读:(18) ⋅ 点赞:(0)

一、配置前准备工作

在进行 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

网站公告

今日签到

点亮在社区的每一天
去签到