RoCE既可以通过硬件实现,也可以通过软件实现。 Soft-RoCE 是 RDMA 传输的软件实现。
什么是Soft-RoCE
softRoCE的目标是在所有支持以太网的设备上都可以部署RDMA传输,可以使不具备RoCE能力的硬件和支持RoCE的硬件间进行基于IB语义的交流。
大白话就是模拟RDMA的软件栈,使得在没有RDMA网卡的环境上,也可以运行基于RDMA写的传输程序。
但是因为RDMA网卡的一大特色之一就是,传输的动作是网卡上的芯片处理的,普通网卡没有这样的硬件,所以只是实现了0拷贝,而没有真正的RDMA网卡的CPU减负功效。
更多关于Soft-RoCE,见:http://t.csdn.cn/SuM9m
安装 (内核应当高于4.11)
红帽系统
Soft-RoCE 作为 upstream kernel 4.8(或更高版本)的一部分发布。
从 Red Hat Enterprise Linux 7.4 开始,Soft-RoCE 驱动程序已合并到内核中。用户空间驱动程序也合并到 rdma-core 包中。 Soft-RoCE 也称为 RXE。要启动、停止和配置 RXE,请使用 rxe_cfg 脚本。要查看 rxe_cfg 的选项,请输入 rxe_cfg help。
所以红帽系统的可以直接去配置,教程:https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/networking_guide/sec-configuring_soft-_roce
其他系统可以通过安装 Mellanox的OFED 获得Soft-RoCE
可以使用 Mellanox OFED 4.0 或上游驱动程序。如果安装 MLNX_OFED 4.0,您将自动获取 Soft-RoCE 内核模块和用户空间库。 (rdma_rxe模块在mellanox驱动包的kmod-mlnx-ofa_kernel 这个rpm包里面)
chatGPT的教程
要在CentOS上安装Soft-RoCE(RDMA over Ethernet),请按照以下步骤进行操作:
- 检查内核版本
在终端中运行以下命令,检查内核版本是否支持Soft-RoCE:
```
uname -r
```
如果内核版本低于4.11,您需要先升级内核。您可以使用`yum`命令安装最新的内核版本。
- 安装依赖软件包
在终端中运行以下命令,安装软件包以满足Soft-RoCE的依赖关系:
```
sudo yum install rdma libibverbs libibverbs-utils librdmacm librdmacm-utils
```
- 加载内核模块
在终端中运行以下命令,加载相关的内核模块:
```
sudo modprobe rdma_rxe
sudo modprobe ib_core
sudo modprobe ib_cm
```
- 配置Soft-RoCE
在终端中运行以下命令,编辑RoCE的配置文件:
```
sudo vi /etc/rdma/rdma.conf
```
将以下行添加到配置文件中:
```
Enable RoCE
RDMA_LOAD=yes
```
保存并关闭文件。
- 启动Soft-RoCE服务
在终端中运行以下命令,启动Soft-RoCE服务:
```
sudo systemctl start rdma
```
如果您希望Soft-RoCE在系统引导时自动启动,还可以运行以下命令:
```
sudo systemctl enable rdma
```
- 验证Soft-RoCE状态
运行以下命令,验证Soft-RoCE的状态:
```
sudo rxe_cfg
```
如果Soft-RoCE已成功配置和启动,您将看到适配器和端口的详细信息。
恭喜您,现在已成功在CentOS上安装Soft-RoCE。您可以使用Soft-RoCE进行RDMA over Ethernet通信了。请确保您的网络硬件和驱动程序支持RoCE。