如何在NVIDIA CX6 网卡和华为CE交换机上为RDMA协议使能DCQCN和PFC

CX6网卡的配置

#trust layer 3,即按照ip tos字段值来进行优先级映射
sudo mlnx_qos -i ens3f0 --trust dscp
#使能PFC
sudo mlnx_qos -i ens3f0 --pfc 0,0,0,1,0,0,0,0 
#将ib设备mlx5_0的dscp优先级映射到26,对应了网卡优先级3
sudo cma_roce_tos -d mlx5_0 -t 106 #(dscp 26)

CE交换机配置(本文档使用的是CE6860,不同版本的CE交换机区别可能挺大,注意搜索文档)

步骤1:配置ECN模板
drop-profile dcqcn
#配置ECN水线,队列长度为最大队长的%1开始,按概率标记
color green low-limit 1 high-limit 30 discard-percentage 2 
#提交配置
commit

步骤2:给100ge 1/0/1端口配置ECN,和端侧一样,一定要配置trust dscp,数据包才能进入正确buffer和队列
interface 100ge 1/0/1
trust dscp 
qos queue 3 wred dcqcn
qos queue 3 ecn
#提交配置
commit

步骤3:给100ge 1/0/1端口配置PFC 
dcb pfc 
priority 3  
interface 100ge 1/0/1
dcb pfc enable mode manual
dcb pfc buffer 3 xoff 310 xon 50 hdrm 740
#提交配置
commit

组网验证

(1)建立如下物理拓扑

在这里插入图片描述

(2)如下是ECN和PFC的作用原理:ECN作用于出端口队列,PFC作用于入端口buffer

在这里插入图片描述

(3)将所有相关端口配置成40G, 在1/0/1端口配置ECN,按照步骤2,在1/0/3、1/0/5端口配置PFC,按照步骤3
   【CE交换机】
   system-view 
   int 100ge 1/0/1
   speed 40000
   int 100ge 1/0/3
   speed 40000
   int 100ge 1/0/5
   speed 40000
   commit
   【Server】将网卡速度与交换机端口速率适配
    ethtool -s ens3f0 speed 40000 autoneg off 
    ethtool -s ens3f0 autoneg on
   # ethtool ens3f0 #查看网卡是否up

(4)ECN验证实验
   #安装perftest,apt安装即可
   #client1
   ib_send_bw -d mlx5_0 -R -D 10 --report_gbits &
   #client2
   ib_send_bw -d mlx5_0 -R -D 10 --report_gbits &
   #server:
   ib_send_bw -d mlx5_0 -R -D 10 --report_gbits 192.168.200.103 &
   ib_send_bw -d mlx5_0 -R -D 10 --report_gbits 192.168.200.102 & 
   二打一验证结果如果能保证server的总带宽在端口最大带宽的36/40左右,ECN即配置成功,即40G的端口,必须跑满36G以上才可以;
(5)PFC验证实验
   #还是重复上述二打一实验
   #查看交换机是否发送pfc帧
   display dcb pfc 
   #查看出端口队列是否丢包  
   display qos queue statistics interface 100ge 1/0/1

在这里插入图片描述

   #查看入端口是否丢包
   diaplay qos int 100ge 1/0/5 
   # 如果二打一情况下能够正常发送pfc帧,且出端口队列和入端口都不存在丢包,则配置正确;

请添加图片描述

(6)DCQCN在端侧仍然存在一些可调整的参数,一般默认参数效果就可以了
   # 查看server端配置参数
   ls  /sys/class/net/ens3f0/ecn/roce_np/
   # 查看client端配置参数
   ls  /sys/class/net/ens3f0/ecn/roce_rp/

用cat命令可以查看参数具体数值,echo命令可以修改数值,参数的意义可以参考dcqcn论文以及官网文档

请添加图片描述

(7)如何在端侧计算丢包数来验证PFC效果
     #查看mlx5_0 rdma报文发送数量
     cat /sys/class/infiniband/mlx5_0/ports/1/counters/port_xmit_packets
     #查看mlx5_0 rdma报文接收数量
     cat /sys/class/infiniband/mlx5_0/ports/1/counters/port_rcv_packets
     #丢包数量=server接收数量-client发送数量

请添加图片描述

(8)一些其它可参考的官方配置文档
[1]https://enterprise-support.nvidia.com/s/article/howto-configure-roce-over-a-lossy-fabric--ecn--end-to-end-using-connectx-4-and-spectrum--trust-l3-x
[2]https://enterprise-support.nvidia.com/s/article/recommended-network-configuration-examples-for-roce-deployment
[3]https://enterprise-support.nvidia.com/s/article/lossless-roce-configuration-for-linux-drivers-in-dscp-based-qos-mode
  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值