【RDMA】无损网络和PFC(基于优先级的流量控制)

您所在的位置:网站首页 优先级和优先数据的区别 【RDMA】无损网络和PFC(基于优先级的流量控制)

【RDMA】无损网络和PFC(基于优先级的流量控制)

2024-07-16 11:50:51| 来源: 网络整理| 查看: 265

查看映射关系 mlnx_qos -i eth2   (mellonx)

设置用L3做流控 mlnx_qos -i eth2 --trust=dscp  (mellonx)

修改dscp到priority 映射 dscp 30 映射到修改dscp到priority 6 # mlnx_qos -i eth2 --dscp2prio set,30,6    (mellonx)

使能PFC # mlnx_qos -i --pfc 0,0,0,1,0,0,0,0   

修改tc和prio的映射(默认除了tc0对应prio1,tc对应prio0,其他的都是对应的,如tc2-prio2,tc3-prio3,tc4-prio4……) mlnx_qos -i ib3b-0 -p 0,1,2,3,4,5,6,7

端口各优先级的收发计数 #测量该接口发送和接收的 Xon 和 Xoff(传输开启和关闭)帧的数量: # watch -n 1 "ethtool -S eth1 | grep prio"

(intel  请注意,Rx 计数器全为 0。当适配器通过交换机连接时,rx_priority_* 计数器可能为 0,表明适配器尚未从交换机收到任何暂停帧。根据网络中的压力水平,如果交换机有足够的缓冲来跟上主机需求,这是可以接受的。但是,对于高压力流量(例如更大规模的 HPC 应用程序),交换机通常会向主机发送暂停帧。通常,预计会同时看到 tx 和 rx_priority 计数器。 请注意,某些 Tx 计数器具有相同的值。在 800 系列 QoS 实施中,如果为traffic class中的任何priority启用 PFC,则该traffic class中的所有priority都会获得暂停帧。这意味着同一 TC 中所有priority的计数器都会一致递增,而不管导致 PFC 触发的特定单个priority如何。如果所有priority都映射到同一个 TC,它们都会一致增加。)

查看GID

show_gids          (mellonx;intel自己也写同样的脚本,脚本内容见末尾) show_gids mlx5_5   (mellonx)查看设备可用端口, gid_index, rmda版本

查看端口丢弃

show_drop        (mellonx;intel自己也写同样的脚本,脚本内容见末尾)

弃包统计 ethtool -S enp175s0f0 | grep drop

watch -n 1 “ethtool -S enp175s0f0 | grep drop”   #1 s 刷新一次

各个优先级收发包统计

watch -n 1 "ethtool -S ib3b-0 | grep prio"

查看device ibdev2netdev     (mellonx;intel自己也写同样的脚本,脚本内容见末尾)

ibdev2netdev –v  (mellonx)

验证 InfiniBand 链接是否已启动

hca_self_test.ofed   (mellonx)

Mellanox OFED 安装的信息

/etc/infiniband/info

看自动加载的模块列表 /etc/infiniband/openib.conf

检查Mellanox网卡是否安装和版本 [root@rdma61 ~]#  lspci | grep Mellanox

查看系统里所有的网卡和工作状态: [root@rdma63 tcpdump]# ip a

[root@rdma63 tcpdump]# ibv_devices     device                 node GUID     ------              ----------------     mlx5_1              98039b03009a4296     mlx5_0              98039b03009a2b3a

[root@rdma63 tcpdump]# ibv_devinfo 

[root@rdma63 tcpdump]# ibv_devinfo mlx5_0

重新启动RDMA驱动

/etc/init.d/openibd restart

如果驱动不正常,虽然service network restart 可以启动Ethernet端口,但实际rdma驱动并未成功加载。 执行/etc/init.d/openibd restart 可以看到很多的错误。(还有记得把ibacm启动, service ibacm start)

The ibacm service is responsible for resolving names and addresses to InfiniBand path information and caching such data.  It should execute with administrative privileges.  The ibacm implements a client interface over TCP sockets, which is abstracted by the librdmacm library.

mellonx信息搜集

/usr/sbin/sysinfo-snapshot.py

//****************************************************交换机****************************************

S6820《H3C S6820 系列以太网交换机 二层技术-以太网交换配置指导》P11:PFC 优先级高于FC,设置了PFC 则忽略FC

2.配置H3C交换机

a)    配置优先级信任模式为DSCP:

例如: [H3C]sys [H3C]interface HundredGigE1/0/6 [H3C-HundredGigE1/0/6] 6

*配置信任模式为DSCP,交换机才会使用 报文自带的DSCP做映射。 设置信任模式为DSCP,则进入交换机的报文优先级映射会涉及到3个表: 进-->出 映射, dscp-dot1p    #入端口报文为dscp会被交换机映射到lp队列 dscp-dp       #入端口报文为dscp会被交换机映射到dp队列 dscp-dscp     #入端口报文的dscp会被交换机改为dscp转发 (优先级可分为两类:报文携带优先级和设备调度优先级。 设备调度优先级是指报文在设备内转发时所使用的优先级,只对当前设备自身有效。 设备调度优先 级包括以下几种:  • 本地优先级(LP):设备为报文分配的一种具有本地意义的优先级,每个本地优先级对应一 个队列,本地优先级值越大的报文,进入的队列优先级越高,从而能够获得优先的调度。 • 丢弃优先级(DP):在进行报文丢弃时参考的参数,丢弃优先级值越大的报文越被优先丢弃。)

display qos map-table dscp-dot1p

b)    配置PFC功能的开启模式 例如: [H3C]sys [H3C]interface HundredGigE1/0/6 [H3C-HundredGigE1/0/6] priority-flow-control enable

6.显示接口的PFC信息 display priority-flow-control interface 显示全部 display priority-flow-control interface [ interface-type [ interface-number ] ] 显示某个

关闭PFC:undo priority-flow-control

7,使能PFC后还需指定PFC作用的不弃包的等级priority-flow-control no-drop dot1p dot1p-list 如: priority-flow-control no-drop dot1p 0 priority-flow-control no-drop dot1p 0,1,3

(dot1p和dscp的映射见display qos map-table  dscp-dot1p ) http://www.h3c.com/cn/d_201906/1206016_30005_0.htm

显示端口是否开启FC:----不是PFC,设置了PFC就忽略FC display interface [接口] 如: display interface  HundredGigE1/0/2 缩写:dis int HundredGigE1/0/4

(1、端口入方向报文计数错误字段解释  input errors:各种输入错误的总数。  runts:表示接收到的超小帧个数。超小帧即接收到的报文小于 64 字节,且包括有效的 CRC 字段,报文格式正确。  giants:是超过端口设置的 Maximum Frame Length 的报文个数。 CRC:表示接收到的 CRC 校验错误报文个数。  frame:端口接收时出错的报文。 

2、端口出方向报文计数错误字段解释  output errors:各种输出错误的总数。   aborts:表示发送失败的报文总数。   deferred:表示延迟报文的总数。报文延迟是指因延迟过长的周期而导致发送失败的报文,而这些报文由于发送媒质繁忙而等待了超过 2 倍的最大报文发送时间。   collisions:表示冲突帧总数,即在发送过程中发生冲突的报文。 l  ate collisions:表示延迟冲突帧,即发送过程中发生延迟冲突超过 512bit 时间的帧。  )

H3C 二层命令参考:http://www.h3c.com/cn/d_202104/1397802_30005_0.htm

**************************** 显示和维护(H3C交换机) **************************** 1.显示指定优先级映射表配置情况  display qos map-table  dot1p-dp | dot1p-exp | dot1p-lp | dscp-dot1p | dscp-dp | dscp-dscp | exp-dot1p | exp-dp ]  如:display qos map-table dscp-dscp

2.    显示接口优先级信任模式信息(sys视图)  display qos trust interface [ interface-type interface-number ] 如: display qos trust interface HundredGigE1/0/1

3.    显示端口简单信息 display interface brief 4.    显示端口在该间隔时间内统计的报文信息 display interface 5.    显示Qos trust设置 display qos trust int 6.    显示接口的PFC信息 display priority-flow-control interface 显示全部 display priority-flow-control interface [ interface-type [ interface-number ] ] 显示某个

显示收发和暂停统计

-显示全部端口 -display interface -显示某个端口 -display interface HundredGigE1/0/2

查看拥塞drop包(弃包/丢包) display packet-drop  display packet-drop interface HundredGigE1/0/4 《接口管理命令参考》http://www.h3c.com/cn/d_201906/1206016_30005_0.htm //===============================================================================测试================================================================

Tos============= --tos=  Set to RDMA-CM QPs. available only with -R flag. values 0-256 (default off)

ibdump -d mlx5_0 -i 1  -w        sniffer.acp     #抓包 ib_send_bw -d mlx5_0     --rdma_cm               #服务端 ib_send_bw 192.169.31.54 --rdma_cm  --tos=12 –R  #客户端1100

========================== Intel show_gids ========================== #!/bin/bash function show_gid() {         for device in ` ls /sys/class/infiniband/` #注意此处这是两个反引号,表示运行系统命令         {           echo "****************"           echo "Device:"${device}           for port in ` ls /sys/class/infiniband/${device}/ports/`             {                   echo "IB port:"${port}                    for gid in `ls /sys/class/infiniband/${device}/ports/${port}/gids`                    {

               GID=`cat /sys/class/infiniband/${device}/ports/${port}/gids/${gid}` #在此处处理文件即可                                 if [[ $GID == *0000:0000:0000:0000:0000:0000:0000:0000* ]]                then                : #do nothing                #echo "包含"                else                #echo "不包含"                     echo "GID"${gid}":"$GID                fi                        }            }         } }

show_gid ========================== Intel show_drop  ========================== #!/bin/bash function show_drop() {         for device in `ls /sys/class/infiniband/`         {           echo ""           echo -e  "\e[1;32m${device}\e[0m"            cd  /sys/class/infiniband/${device}/hw_counters                     for f in *Discards           {              echo -n "$f: "              cat "$f"           }         } }   show_drop

*intel官方提供的脚本: # cd /sys/class/infiniband/irdma-enp175s0f0/hw_counters   # for f in *Discards; do echo -n "$f: "; cat "$f"; done  

========================== Inetl ibdev2netdev ========================== #!/bin/bash echo "--------------------------------------" echo "script locate:/usr/bin/ibvdev2netdev" echo "Author:liangchaoxi" echo "***************************************" ibv_devices|awk '{system("echo "$1"\"-->\"`ls /sys/class/infiniband/"$1"/device/net`")}' |& grep -Ev '/device/net|device|-------->' echo "***************************************" ip route echo "--------------------------------------"

Mellonx

显示GID show_gids

显示OFED显示 ofed_info

显示网卡、驱动版本等信息 hca_self_test.ofed

[root@rdma61 ~]# hca_self_test.ofed ---- Performing Adapter Device Self Test ---- Number of CAs Detected ................. 2 PCI Device Check ....................... PASS Kernel Arch ............................ x86_64 Host Driver Version .................... OFED-internal-4.5-1.0.1: 4.14.0-49.12.x86_64 Host Driver RPM Check .................. PASS Firmware on CA #0 NIC .................. v16.24.1000 Firmware on CA #1 NIC .................. v16.23.1020 Host Driver Initialization ............. PASS Number of CA Ports Active .............. 2 Port State of Port #1 on CA #0 (NIC)..... UP 4X QDR (Ethernet) Port State of Port #1 on CA #1 (NIC)..... UP 4X QDR (Ethernet) Error Counter Check on CA #0 (NIC)...... PASS Error Counter Check on CA #1 (NIC)...... PASS Kernel Syslog Check .................... FAIL     REASON: Kernel syslog reported: Driver messages        [681196.776180] java invoked oom-killer: gfp_mask=0x14201ca(GFP_HIGHUSER_MOVABLE|__GFP_COLD), nodemask=(null),  order=0, oom_score_adj=0       [681443.262537] devmgrdaemon invoked oom-killer: gfp_mask=0x14000c0(GFP_KERNEL), nodemask=(null),  order=0, oom_score_adj=0       [684264.725346] objecter_timer invoked oom-killer: gfp_mask=0x14201ca(GFP_HIGHUSER_MOVABLE|__GFP_COLD), nodemask=(null),  order=0, oom_score_adj=0       [782281.333718] themis invoked oom-killer: gfp_mask=0x14201ca(GFP_HIGHUSER_MOVABLE|__GFP_COLD), nodemask=(null),  order=0, oom_score_adj=0       [782285.206503] devmgrdaemon invoked oom-killer: gfp_mask=0x14201ca(GFP_HIGHUSER_MOVABLE|__GFP_COLD), nodemask=(null),  order=0, oom_score_adj=0 Node GUID on CA #0 (NIC) ............... 98:03:9b:03:00:9a:31:ba Node GUID on CA #1 (NIC) ............... 98:03:9b:03:00:9a:4c:1a ------------------ DONE ---------------------

检查Mellanox网卡是否安装和版本 [root@rdma61 ~]#  lspci | grep Mellanox 0000:18:00.0 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5] 0000:3b:00.0 Ethernet controller: Mellanox Technologies MT27800 Family [ConnectX-5]

命令查看网口映射关系。

#ibdev2netdev 

[root@rdma64 ibdump-master]# ibdev2netdev mlx5_0 port 1 ==> eth18-0 (Up) mlx5_1 port 1 ==> ib3b-0 (Up)

ibv_devices  列出device

[root@rdma63 tcpdump]# ibv_devices     device                 node GUID     ------              ----------------     mlx5_1              98039b03009a4296     mlx5_0              98039b03009a2b3a

打印出device信息 [root@rdma63 tcpdump]# ibv_devinfo 

[root@rdma63 tcpdump]# ibv_devinfo mlx5_0 hca_id: mlx5_0         transport:                      InfiniBand (0)         fw_ver:                         16.29.1016         node_guid:                      9803:9b03:009a:2b3a         sys_image_guid:                 9803:9b03:009a:2b3a         vendor_id:                      0x02c9         vendor_part_id:                 4119         hw_ver:                         0x0         board_id:                       MT_0000000010         phys_port_cnt:                  1         Device ports:                 port:   1                         state:                  PORT_ACTIVE (4)                         max_mtu:                4096 (5)                         active_mtu:             1024 (3)                         sm_lid:                 0                         port_lid:               0                         port_lmc:               0x00                         link_layer:             Ethernet

ibstatus更换网卡工作模式

有些网卡,当你安装好驱动后,通过 ibstatus 命令,会出现下面的情况:

可以看到,该网卡现在处于 Ethernet 的工作模式,如果想要切换成infiniband模式,参考如下链接:

https://community.mellanox.com/s/article/howto-change-port-type-in-mellanox-connectx-3-adapter

查看当前工作模式:

sudo /sbin/connectx_port_config -s

输入以下命令切换工作模式:

sudo /sbin/connectx_port_config

如果提示如图,说明不支持infiniband模式,否则,就切换成功了,再次使用一下命令可以验证:

原文链接:https://blog.csdn.net/bandaoyu/article/details/115906185

1、常规 IB 监视命令

ibv_asyncwatch 监视 InfiniBand 异步事件 ibv_devices or ibv_devinfo 列举 InfiniBand 设备或设备信息 ibv_rc_pingpong、ibv_srq_pingpong 或 ibv_ud_pingpong 使用 RC 连接、SRQ 或 UD 连接测试节点之间的连通性 mckey 测试 RDMA CM 多播设置和简单数据传输 rping 测试 RDMA CM 连接并尝试 RDMA ping ucmatose 测试 RDMA CM 连接并尝试简单 ping udaddy 测试 RDMA CM 数据报设置并尝试简单 ping  

2、常规 IB 性能测试命令

rdma_client 或rdma_server 或rdma_xclient或 rdma_xserver 测试 RDMA 写处理确定流带宽或等待时间 ib_read_bw 或 ib_read_lat 测试 RDMA 读处理确定带宽或等待时间 ib_send_bw 或 ib_send_lat 测试 RDMA 发送处理确定带宽或等待时间 ib_write_bw 或 ib_write_bw_postlist 测试 RDMA 写处理,确定一次显示一个 I/O 请求的带宽或显示一系列 I/O 请求的发布列表带宽 ib_write_lat 测试 RDMA 写处理确定等待时间 ib_clock_test 测试系统时钟准确性 qperf 测量插槽与 RDMA 性能 RDS 监视与测试工具 rds-info 显示 RDS 内核模块信息 rds-ping 确定基于 RDS 的远程节点是否可访问 rds-stress 在基于 RDS 插槽的进程间发送消息  

3、光纤网络诊断工具

iblinkinfo.pl 或 iblinkinfo 显示光纤网络中所有链路的链路信息 sminfo 查询 IB SMInfo 属性 ibstat 或 ibsysstat 查询 InfiniBand 设备状态或 IB 地址上的系统状态 perfquery or saquery 查询 IB 端口计数器或 sIB 子网管理属性 ibdiagnet 执行整个光纤网络诊断检查 ibcheckerrors 或 ibcheckerrs 验证 IB 端口(或节点)或 IB 子网并报告错误 ibaddr 查询 InfiniBand 的一个地址或多个地址 ibnetdiscover 搜索远程 InfiniBand 拓扑 ibping 验证 IB 节点之间的连通性 ibportstate 查询 IB 端口的物理端口状态和链接速度 ibroute 显示 InfiniBand 交换机转发表 ibtracert 跟踪 IB 路径 smpquery 或 smpdump 查询或转储 IB 子网管理属性 ibchecknet, ibchecknode, 或 ibcheckport 验证 IB 子网、节点或端口并报告错误 ibcheckportstate, ibcheckportwidth, ibcheckstate, or ibcheckwidth 验证已链接但不活动的 IB 端口、面向 1x (2.0 Gbps) 链路带宽的端口、IB 子网中已链接但不活动的端口或 IB 子网中的 lx 链路 ibclearcounters or ibclearerrors 对 IB 子网中的端口计数器或错误计数器进行清零 ibdatacounters or ibdatacounts 查询 IB 子网中的数据计数器或 IB 端口数据计数器 ibdiscover.pl 注释并比较 IB 拓扑 ibcheckerrors 或 ibcheckerrs 验证 IB 端口(或节点)或 IB 子网并报告错误 ibchecknet, ibchecknode, 或 ibcheckport 验证 IB 子网、节点或端口并报告错误 ibhosts 显示拓扑中的 IB 主机节点 ibnodes 显示拓扑中的 IB 节点 ibprintca.pl 显示来自 ibnetdiscover 输出的特定 CA 或 CA 列表 ibprintrt.pl 显示来自 ibnetdiscover 输出的特定路由器或路由器列表 ibprintswitch.pl 显示来自 ibnetdiscover 输出的特定交换机或交换机列表 ibrouters 显示拓扑中的 IB 路由器节点 ibstatus 查询 IB 设备的基本状态 ibswitches 显示拓扑中的 IB 交换机节点 ibswportwatch.pl ibqueryerrors.pl 轮询特定交换机或端口上的计数器并报告更改信息速率  

4、查询并报告非零 IB 端口计数器

ibprintswitch.pl 显示来自 ibnetdiscover 输出的特定交换机或交换机列表 set_nodedesc.sh 设置或显示针对 IB 主机控制器适配器 (HCA) 的节点描述字符串 dump2psl.pl 转储基于 opensm 输出文件的 PSL 文件,该输出文件用于信用循环检查 dump2slvl.pl 转储基于 opensm 输出文件的 SLVL 文件,该输出文件用于信用循环检查 ibis 针对 IB 管理带内服务的扩展 TCL shell

5、其常用指令 https://docs.oracle.com/cd/E19632-01/835-0783-03/bbggiggb.html#scrolltoc

更多命令:

https://docs.oracle.com/cd/E56344_01/html/E54075/makehtml-id-7.html  



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭