以太网的流量控制最佳实践是什么?
不可不使用
适用场景
Data ONTAP
问题解答
最佳实践
遇到过多的暂停帧、 Xon/Xoff 帧或数据包重新排队时,请遵循流控制最佳实践,如所示 ifstat -av.
- interface e1a (0 hours, 0 minutes, 40 seconds) -- RECEIVE Frames/second: 1568 | Bytes/second: 27607k | Errors/minute: 0 Discards/minute: 0 | Total frames: 248k | Total bytes: 4222m Total errors: 0 | Total discards: 0 | Multi/broadcast: 2 No buffers: 0 | Non-primary u/c: 0 | LRO segments: 172k LRO bytes: 3929m | L2 terminate: 0 | Tag drop: 0 Vlan tag drop: 0 | Vlan untag drop: 0 | Vlan forwards: 0 Vlan broadcasts: 0 | Vlan unicasts: 0 | CRC errors: 0 Runt frames: 0 | Fragment: 0 | Long frames: 0 Jabber: 0 | Bus overruns: 0 | Queue drop: 0 Xon: 25 | Xoff: 25 | Jumbo: 68353 No buf hi: 0 TRANSMIT Frames/second: 1055 | Bytes/second: 154k | Errors/minute: 0 Discards/minute: 0 | Total frames: 166k | Total bytes: 44356k Total errors: 0 | Total discards: 0 | Multi/broadcast: 2 Queue overflows: 0 | No buffers: 0 | Frames queued: 0 Buffer coalesces: 854 | MTUs too big: 0 | TSO segments: 0 TSO bytes: 0 | TSO6 segments: 0 | TSO6 bytes: 0 LTM fastp calls: 166k | LTM busy calls: 0 | LTM update calls: 160 LTM yield calls: 0 | LTM drain rss: 0 | LTM total calls: 166k Xon: 0 | Xoff: 0 | Jumbo: 3765 TSO non-TCP drop: 0 | Split hdr drop: 0 | Pktlen: 0 Timeout: 0 | Timeout1: 0 LINK_INFO Current state: up | Up to downs: 6 | Speed: 10000m Duplex: full | Flowcontrol: full RSS Itable updates: 0 | Hash errors: 0 Queue 0 Tx frames: 11780 | Tx bytes: 22306k | Rx frames: 59 Rx bytes: 103k | Requeued: 0 | Hi pri intr: 10735 Queue 1 Tx frames: 1073 | Tx bytes: 143k | Rx frames: 4484 Rx bytes: 33895k | Requeued: 3165 | Hi pri intr: 4160 Queue 2 Tx frames: 306 | Tx bytes: 33404 | Rx frames: 3469 Rx bytes: 3539k | Requeued: 3007 | Hi pri intr: 3831 Queue 3 Tx frames: 153k | Tx bytes: 21872k | Rx frames: 240k Rx bytes: 4184m | Requeued: 801 | Hi pri intr: 143k
7- 模式流控制建议:
确保在使用 10G 以太网的接口上的存储控制器上禁用了流控制接口选项。(主机可能遵循自己的最佳实践、例如根据需要使用发送 / 接收在主机端启用流控制;但是这不在本文的讨论范围之内。)
定义的多播 MAC 地址: 01-80-C2-0/-01 发送暂停帧、包括暂停帧长度。
这在物理链路层起作用。不考虑任何上层协议、这可能会通过在路由器跃点之间引发人为延迟而影响 TCP 的整体性能、同时也会由于数据包丢失而降低窗口大小。在大型网络中、拥塞树可能会形成、这会严重限制网络上所有连接设备的总体网络吞吐量。
建议不要在整个网络中启用流量控制、包括集群内端口、数据交换机和数据端口。
默认情况下,对于“发送”和“接收”流控制设置均设置为“开”以实现向后兼容。
要将发送和接收流控制配置为禁用,需要从ifconfig
命令设置并保存到/etc/rc
要使其永久保留的文件中。
示例: ifconfig e0a flowcontrol none
集群模式 Data ONTAP/ONTAP 9 流控制建议:
建议在每个网络路径(包括集群间端口、数据交换机和数据端口)中匹配流控制设置。(不包括集群 / 集群网络端口)
Cisco 随后进行的优先流控制(在 IEEE 802.1Qbb 中定义)旨在取代 802.3 x 暂停并提供一种机制、可以对 IEEE 802.1p 定义的每种服务类别进行独立控制 优先级流控制不会暂停网络链路上的所有流量、而是允许管理员根据其服务级别有选择地暂停流量。
过去( 7- 模式 / 集群模式 Data ONTAP )、 NetApp 一直建议在 NetApp Data ONTAP 集群中的所有网络端口上禁用流控制。这种做法已不再如此。此后,这方面的指导意见发生了变化,建议采用的新最佳做法如下:
- 在 Data ONTAP 集群中的集群网络端口上禁用流控制。
- 其余网络端口(提供数据、管理和集群间连接的端口)上的 FlowControl 应配置为与其余环境中的设置相匹配。
其他信息
不适用