RDMA-02-容器测试
目录
概述
实验的条件是机器有 Mellanox 的 RDMA 网卡,并且支持 RoCEv2,通过 Docker HostNetwork 以及 Macvlan 的方式测试,实验都是分别在两台物理机上分别创建一个容器来测试跨机通信的场景,测试的镜像 mofed421_docker 来自官方提供。
具体步骤
HostNetwork
这里的测试目的是让不同主机上的容器分别挂载主机的网卡(PF),测试 OFED 容器的 ib_write_bw。
|
|
创建容器之后检查一下相关的资源。

|
|

Macvlan
除了 HostNetwork 再另外测试一下其他虚拟网卡的方案,Macvlan 的细节不详解了。Macvlan 模式允许 Docker 容器直接连接到物理网络,从而实现对 SR-IOV 网卡的测试。先创建 Macvlan 网络,注意父网卡因为之前解了 bond,因此父网卡名是 eth0.1000,这里不做其他调整。


subnet 和 gateway 分别为物理网络的子网和网关地址。
|
|
Macvlan 模式的网络配置需要按照物理网络的要求进行,包括子网、网关、IP 地址、MAC 地址等参数。经过 CMDB 检查,10.199.100.249和10.199.100.250两个 IP 没有分配出去,因此给两个容器分配这两个 IP。
|
|
|
|

SR-IOV
测试 Docker 的 docker-sriov-plugin,测试的目的是让容器挂载 VF,然后验证 ofed 容器的 ib_write_bw。
|
|
总结
分别测试了 HostNetwork/Macvlan/SR-IOV 挂载 PF/VF 的基础测试,证明了容器在测试机器下,可以正常使用到这些 RDMA 设备。
参考资料
警告
本文最后更新于 2023年4月9日,文中内容可能已过时,请谨慎参考。