名词解释
RoCE:RDMA over Converged Ethernet
丐版RDMA,指的是SoftRoCE,即便网卡硬件不支持,可以通过软件驱动方式实现RDMA功能
配置SoftRoCE
这个测试机用的是virtio-net的网卡
1. 安装软件包
- RDMA核心功能
1
sudo apt-get install libibverbs1 ibverbs-utils librdmacm1 libibumad3 ibverbs-providers rdma-core
- 安装测速工具
1
sudo apt-get install perftest
2. 加载内核模块
软件包安装完成后需要加载内核模块
1 | sudo modprobe rdma_rxe rdma_cm ib_umad |
3. 配置指定网卡使用
先用ifconfig看看我们的网卡名字是啥,我的网卡名字是enp6s18
在没有配置之前,/dev
节点下是没有infiniband
的信息的
1 | magicdian@ubuntu-hpn-dev:~$ ls /dev/infiniband |
这时我们用这个命令配置enp6s18网卡启用SoftRoCE功能
1 | sudo rdma link add rxe_0 type rxe netdev enp6s18 |
这时我们可以看到/dev
节点下是有infiniband
的信息了
1 | magicdian@ubuntu-hpn-dev:~$ ls /dev/infiniband |
我们可以用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
的性能?