0%

丐版RDMA环境搭建(SoftRoCE)

名词解释

RoCE:RDMA over Converged Ethernet


丐版RDMA,指的是SoftRoCE,即便网卡硬件不支持,可以通过软件驱动方式实现RDMA功能

配置SoftRoCE

RoCE架构图

这个测试机用的是virtio-net的网卡

1. 安装软件包

  1. RDMA核心功能
    1
    sudo apt-get install libibverbs1 ibverbs-utils librdmacm1 libibumad3 ibverbs-providers rdma-core
  2. 安装测速工具
    1
    sudo apt-get install perftest

2. 加载内核模块

软件包安装完成后需要加载内核模块

1
sudo modprobe rdma_rxe rdma_cm ib_umad

3. 配置指定网卡使用

先用ifconfig看看我们的网卡名字是啥,我的网卡名字是enp6s18
在没有配置之前,/dev节点下是没有infiniband的信息的

1
2
magicdian@ubuntu-hpn-dev:~$ ls /dev/infiniband
ls: cannot access '/dev/infiniband': No such file or directory

这时我们用这个命令配置enp6s18网卡启用SoftRoCE功能

1
sudo rdma link add rxe_0 type rxe netdev enp6s18

这时我们可以看到/dev节点下是有infiniband的信息了

1
2
magicdian@ubuntu-hpn-dev:~$ ls /dev/infiniband
rdma_cm uverbs0

我们可以用ibv_devinfo查看信息

另外我们可以开两个终端,其中一个输入命令

1
ib_write_bw --report_gbits

另一个终端输入

1
ib_write_bw localhost --report_gbits

这个命令可以对RDMA的性能进行测试。

我们可以看到SoftRoCE的性能大概有5Gbps的速率(是因为我的配置不对所以才跑到这个速率吗?

而另一个采用Mellanox CX-4421A网卡,进行SR-IOV拆分后,直通给虚拟机后,原生支持RoCE,带宽跑到了50Gbps+,算是接近pci3.0x8的性能?