我们在堆栈中部署了两个 3750-X 交换机,并将 Dell Storage 连接到 10G-T 端口。戴尔建议在这个端口上使用流量控制,但有些人对这个功能有很多问题(丢包、流量阻塞)。
那么,在 10G 端口上使用流量控制是最佳实践吗?
我们在堆栈中部署了两个 3750-X 交换机,并将 Dell Storage 连接到 10G-T 端口。戴尔建议在这个端口上使用流量控制,但有些人对这个功能有很多问题(丢包、流量阻塞)。
那么,在 10G 端口上使用流量控制是最佳实践吗?
我认为理解暂停帧的方向性及其含义也很重要。
基本上发送暂停帧的意思是“我很拥挤,我更喜欢你在你的 TX 中缓冲帧,而不是我在我的 RX 中缓冲”
3750-X 不能发送暂停帧,它只能接收它们。
这意味着如果 3750-X 缓冲区有耗尽的危险(这很容易,3750-X 的缓冲区很小,非常适合出口容量不明显大于入口的应用程序),暂停帧无能为力, 3750-X 无法执行所需的操作并要求发送方放慢速度(导致 Dell 对其进行缓冲)。
但是,如果戴尔接收数据的速度太快以至于有拥塞的危险,它可以向 3750-X 发送暂停帧并要求 3750-X 停止发送(实际上它要求 3750-X 为其缓冲帧,因此它不会不必缓冲它们)。这在我看来是没有意义的,我希望每个存储设备的缓冲区都比 3750-X 多(平均每个端口 <1 毫秒),我希望您只通过要求 3750-X 进行缓冲来增加丢包率,因为它会更快地丢弃它们。
在我看来,您只能在对这个应用程序没有意义的方向上启用暂停帧。
FCoE 存储依赖于他们所谓的无损以太网的假设...... FCoE 存储在互操作性方面也是出了名的古怪。官方的回答是“是”;在所有 FCoE 存储端口上启用流量控制,但在将系统投入生产之前进行彻底测试。尽管如此,3750X 并不支持正确执行所需的所有 FCoE 扩展,所以我只能希望您在谈论基于 IP 的存储......
如果是其他基于IP的存储技术,我会保持流量控制关闭,让上层协议处理掉线……他们已经习惯了。
有一个传统的流量控制标准 (802.3x),它是一个 mac 层帧,它会导致线路上的所有流量在信令交换机传输其缓冲区时暂停。这对于 FCoE(对丢帧的响应很差)完全错误,并且与作为数据中心桥接 (DCB) 组件的优先级流控制 (PFC) 不同。
与 802.3x 相比,PFC 允许基于每个 CoS 暂停流量。这是提供无损转发的关键要素,因为可以减慢非受保护类别的流量,以便始终有带宽可用于关键流量。
3750X 不支持 DCB(.. 或 PFC)并且不打算作为无损以太网的平台。它确实支持旧式的流量控制。
我将假设所讨论的存储是基于 IP 的(即 Equallogic),在这种情况下,您应该遵循存储供应商的建议并启用端到端的流量控制。有些人发现此设置存在异常问题,并在禁用流量控制的情况下获得了更好的结果,但除非在故障排除期间有指示,否则我不会尝试此操作。