一、配置前准备工作
在进行 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
替换ib0
和eth0
为实际的设备名称。
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。
配置步骤
安装 RDMA 软件包
在 ServerA 和 ServerB 上分别运行以下命令:dnf install rdma-core libibverbs-utils infiniband-diags
配置 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
验证配置
在 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。
配置步骤
安装 RDMA 软件包
在 ServerA 和 ServerB 上分别运行以下命令:dnf install rdma-core libibverbs-utils infiniband-diags
配置 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
验证配置
在 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