FC 端口诊断:计数器、slow drain 与 SFP 检查 · 光纤通道 · 技术 · 文档 · CodingBox
CodingBox 文档

FC 端口诊断:计数器、slow drain 与 SFP 检查

SAN 交换机会统计端口上出现的每一种异常,这些计数器与物理原因一一对应——前提是你知道哪个计数器意味着「连接器脏污」,哪个意味着「主机没有及时释放缓冲区」。本页列出两大主流平台上的计数器、每个计数器指向的原因、慢速排空拥塞的表现形式,以及如何从交换机上读取 SFP 本身。

计数器

计数器(Brocade porterrshow)Cisco MDS 对应项(show interface fc… counters)含义指向
enc_out——帧外编码错误invalid transmission words帧间出现坏符号光模块、线缆、连接器、速率不匹配——典型的物理层计数器
enc_in——帧内编码错误invalid transmission words / CRC帧内符号损坏原因相同,但更严重
crc_errCRC errors帧未通过 CRC 校验链路处于边缘状态:端面脏污、Rx 偏低、SFP 故障;ISL 上要检查两端
crc_g_eofCRC with good EOFCRC 错误但帧正确终止——错误产生于本端口的上游查看上一跳
too_shrt / too_long / bad_eofframe too short / too long / bad EOF帧格式异常通常是 enc_in 的后果,或设备故障
link_faillink failures链路中断拔线、SFP 故障、供电问题、远端复位
loss_sync / loss_sigsync loss / signal loss信号或字同步丢失Rx 偏低、LOS、抖动——链路抖动
frjt / fbsyF_RJT / F_BSY光纤架构拒绝/忙碌帧架构或分区(zoning)问题,与光模块无关
disc_c3——第 3 类丢弃timeout discards帧在交换机中超时后被丢弃慢速排空/拥塞
c3timeout tx/rx—超时方向tx 超时:所连设备处理缓慢;rx:上游存在问题
pcs_err(16G+)—64B/66B PCS 块错误16/32GFC 的物理层
uncor_err(16G+,带 FEC)FEC uncorrectedFEC 无法修复该块链路处于极限状态——VDM 与 FEC 指标
credit loss(portstatsshow:tim_txcrd_z)credit loss / tx credit not available发送信用为零的持续时间拥塞或链路脏污导致 R_RDY 丢失

经验法则:enc_out、crc_err、loss_sync、pcs_err 随物理层问题增长;disc_c3、c3timeout、tim_txcrd_z 随拥塞问题增长; frjt/fbsy 随架构问题增长。清空计数器、等待一段时间,然后观察速率而非总量。

慢速排空(Slow drain)

某个末端设备缓慢释放信用(过载的主机、故障的 HBA、路径上的速率不匹配)会使帧滞留在交换机缓冲区中;这些帧超时后被丢弃,拥塞会通过 ISL 向后蔓延到不相关的设备。这是最具破坏性的 SAN 问题,起初看起来像是随机的性能问题。

迹象位置
F_Port 上 tim_txcrd_z 持续攀升该端口上的设备释放信用缓慢
同一端口上 disc_c3 / c3timeout tx 上升发往该设备的帧正在超时
ISL 及其他 F_Port 上出现 disc_c3拥塞已经扩散
Bottleneck/MAPS「延迟」告警(Brocade)、show logging onboard flow-control request-timeout、拥塞丢弃/慢速排空检测(Cisco)平台工具

缓解措施:修复或隔离慢速设备(端口隔离、隔离到低优先级虚拟通道)、缩短边缘端口的拥塞丢弃超时时间、避免路径上出现速率台阶、保持 ISL 超订比例合理(SAN 设计)。光模块几乎从不是慢速排空的成因——但 R_RDY 丢失的边缘链路可能表现相似,因此应先检查 enc_out/crc。

从交换机检查 SFP

任务Brocade FOSCisco MDS / NX-OS
SFP 身份与 DDMsfpshow <port>show interface fc1/1 transceiver details
端口状态与速率portshow <port>、switchshowshow interface fc1/1、show interface brief
错误计数器porterrshow、portstatsshow <port>show interface fc1/1 counters [detailed]
清空计数器portstatsclear / statsclearclear counters interface fc1/1
链路测试portloopbacktest、D_Port 诊断(portcfgdport、portdporttest)show interface fc1/1 transceiver details + 通过诊断工具环回
健康策略MAPS(CRC、ITW、信用丢失、SFP 功率/温度的阈值)port-monitor 策略(RX/TX 功率、CRC、ITW、信用丢失)

sfpshow 和 transceiver details 会显示厂商、料号、序列号、速率以及带阈值的 DDM 数值——与 CodingBox 在台架上读取的字节相同。两个平台都会标记不受支持的光模块;端口卡在 Mod_Inv、 No_Module 或「unsupported transceiver」是策略拒绝,而非故障(厂商锁定、 FC 光模块)。

故障 FC 端口的诊断顺序

  1. porterrshow / 计数器:区分物理层问题(enc_out、crc、sync)、拥塞问题(disc_c3、信用)和架构问题(rjt/bsy)。
  2. SFP DDM:对照等级区间检查两端的 Rx 光功率(典型数值);观察 Tx 偏置趋势判断老化情况。
  3. 清洁并检查连接器;更换跳线;在同速率下重新检查计数器。
  4. 速率:强制协商到更低的世代速率,看错误是否消失(边缘状态的 32G 链路在 16G 下可能是干净的)—— 速率与传输速度。
  5. D_Port / 环回测试,以区分交换机、SFP 和线缆。
  6. 若为拥塞:通过 tim_txcrd_z 找到慢速设备,而不是根据报错的端口来判断。

在 CodingBox 中

从交换机上取下的可疑 FC SFP 可以在台架上读取:身份信息、FC 速率/介质代码、校验和以及实时 DDM,见 Check transceiver 和 DDM。如果模块在台架上正常而在端口上报错,那么怀疑对象就转向线缆、连接器或远端。


如果您发现本资料中有不准确之处或错误,请选中相应片段并按 Ctrl+Enter,即可。