![解释零传输信用计数](https://linux22.com/image/542662/%E8%A7%A3%E9%87%8A%E9%9B%B6%E4%BC%A0%E8%BE%93%E4%BF%A1%E7%94%A8%E8%AE%A1%E6%95%B0.png)
我们的 SAN 由一些 Brocade 5100 FC 交换机、三个存储系统和一些服务器组成。所有交换机均未互连(无交换机间链路)。所有服务器、交换机和存储系统均位于同一服务器机房内。
我已经开始了仔细观察在我们的 FC 交换机中的一些计数器上。其中一个是 SW-MIB::swFCPortNoTxCredits,计数
传输信用达到零的次数
(引自 MIB)
我很难找到关于传输信用概念的描述。但从我找到的少量资料来看,它似乎用于某种 FC 拥塞控制,并且似乎对具有长距离光纤的 SAN 特别有用。
其中一个港口连接到 IBM XIV 存储系统。存储系统被认为很忙,但没有超载。但是,我们确实怀疑此存储系统有时存在一些延迟问题。我没有看到端口的 swFCPortRxCrcs、swFCPortRxBadOs 或 swFCPortRxEncOutFrs。
我的问题:swFCPortNoTxCredits 的哪些数字或模式会构成问题?
答案1
您说得对,FC 信用(通常称为“缓冲区信用”或“缓冲区到缓冲区信用”)用于拥塞控制。我的理解是,FC 协议栈保证不会因为交换机或目标设备上的缓冲区空间不足而丢弃帧。简而言之,设备和交换机交换缓冲区信用能力(即它们拥有的 Tx 和 Rx 缓冲区数量),以确保它们不会超出彼此的缓冲区。与 TCP 的“反应性”拥塞控制相比,您可以将其视为“主动”拥塞控制。
我不想把细节弄得一团糟,所以我不会试图提供更详尽的解释。如果你对它的工作原理感兴趣,我会参考“光纤通道物理和信令接口”(FC-PH)T11 工作组。