我正在寻找一种解决方案,可以在运行 Linux 操作系统(例如 Centos7)的独立服务器上对 HBA 和 CNA 接口卡运行性能测试,而无需将其连接到另一台服务器/交换机。
我有 3 种类型的卡 - IB,ISCSI,FC:
Mellanox Technologies MT27600 [Connect-IB]
Mellanox Technologies MT27520 Family [ConnectX-3 Pro]
QLogic Corp. ISP8324-based 16Gb Fiber Channel
目标是确保卡的性能符合规格。
服务器配置:每张卡有两个端口,通过端口之间的环回电缆连接。
我的问题是如何配置这些卡,以便我使用 iperf 之类的实用程序在同一张卡的两个端口之间执行性能测试。
谢谢,
答案1
我尝试将每个卡的一个端口的网络接口放入网络命名空间,分配 IP 地址,然后照常使用 iperf(主网络命名空间中的端口上有一个实例,新网络命名空间中的环回端口中有一个实例)。
详细信息(未经测试):大致如下
NS=ns1
IF1=eth3
IF2=eth4
ADDR1=10.0.0.1
ADDR2=10.0.0.2
ip netns add $NS
ip set $IF1 nets $NS
ip -n $NS addr add $ADDR1/24 dev $IF1
ip -n $NS link set $IF1 up
ip addr add $ADDR2/24 dev $IF2
ip link set $IF2 up
以 root (sudo) 身份将一个接口移至新创建的网络命名空间,分配 IP 地址并激活链接。现在以普通用户身份在新的网络命名空间中启动 xterm(我更喜欢彩色的,这样就不会混淆它们)your_user
,
ip netns exec $NS su -c "xterm -bg $COL &" your_user
iperf -s
并在该窗口和主命名空间中运行iperf -c $ADDR1
(反之亦然,这无关紧要)。
如果某些东西不起作用,请使用等进行调试ping
。tcpdump
同时拥有两个网络命名空间的窗口使得调试变得简单。