当前位置: 首页 > article >正文

服务器上PFC配置丢失问题排查与解决方案

现象

基于nccl的多轨通信算力中心出现交换机端口出入方向丢包

分析

机间通信使用RoCE网络,为了避免因丢包导致大量重传报文影响训练性能,我们基于PFC和ECN在交换机和服务器配置搭建了无损网络,理论上是不允许丢包的,现在出现交换机大量丢包,不知道是哪里配置不对。检查交换机配置没问题,但是服务器配置失效。由于服务器收到pause包之后未进行流控降速导致突发流量很大交换机端口队列出现丢包现象。和运维沟通明明已经配置了,但是为什么配置会失效呢?于是再配置一次。命令如下:

mlnx_qos -i ens108 --pfc=0,0,0,0,0,1,0,0

通过执行mlnx_qos -i ens108查看配置是否生效,查看了几次发现刚开始配置正常,过会配置没了,神奇!!!此命令的执行结果中有WARNINGG提示lldpad service is running and may overwrite your settings,于是把lldpad进程停掉,重新配置后过一段时间检查一切正常,好吧,确实是lldpad的问题。
在这里插入图片描述

原因

server端的PFC配置有两种方式:

  1. 本地手动配置:通过mlnx_qos -i eth1 --pfc 0,0,0,0,1,0,0,0命令;
  2. 通过lldpad进程自动配置;

两种配置方式见文档

由于我们服务端启动了lldpad进程,但是未通过lldpad配置PFC,而是在服务端手动通过mlnx_qos配置,导致lldpad自动覆盖mlnx_qos的配置,所以出现了配置丢失的情况,使用原理没搞清楚。

改进

lldpad关闭之后PFC配置正常,但是无法使用lldp协议发现邻居关系,为解决此问题,有两种方案:

  1. 使用lldpad管理PFC配置,不要使用mlnx_qos单独管理
  2. mlnx_qos手工配置,使用lldpd代替lldpad发送lldp协议

由于第一种方案生产环境未验证过,而且当前正在使用中,如果大规模调整风险比较大,太贵担不起!因此我们选用lldpd,既能获取端口的邻居关系又不影响现有PFC的配置,如何使用细节不描述了,见参考文档

参考
交换机和服务器PFC配置
如何enable server端LLDP
lldpad和lldpd对比


http://www.kler.cn/news/311779.html

相关文章:

  • Python | Leetcode Python题解之第412题Fizz Buzz
  • 简评2024.9.16北京大运河音乐节
  • Prompt最佳实践|指定输出的长度
  • 深度学习自编码器 - 收缩自编码器(CAE)篇
  • 74、Python之函数式编程:深入理解惰性求值与生成器
  • MySql 初次见面
  • Java 基础知识九(网络编程)
  • 二叉树(下)
  • Conda Config修改
  • 深度学习-18-深入理解BERT实战使用预训练的DistilBERT模型
  • 【Vue嵌套数据中,实现动态表头和内容】
  • 不会JS逆向也能高效结合Scrapy与Selenium实现爬虫抓取
  • 前端框架对比和选择?
  • [学习笔记]树链剖分(简易版) 及其LCA
  • Redis实践之缓存:设置缓存过期策略
  • 计算机网络33——文件系统
  • sqli-labs靶场自动化利用工具——第13关
  • RabbitMQ 和 Kafka 的详细对比表格
  • 消息队列:如何确保消息不会丢失?
  • 自然语言处理实战项目全解析
  • 阻止冒泡事件
  • Python中的异步编程:从基础知识到高级应用
  • vi | vim基本使用
  • 视频相关处理
  • 基于Delphi的题库生成系统
  • spark读mongodb
  • HTB-Jerry(tomcat war文件、msfvenom)
  • Unity制作角色溶解变成光点消失
  • GPT提示词分享 —— 深度思考助手
  • 【Vue】VueRouter路由