如何更改千兆网卡上的“广告暂停帧使用”和自动协商设置

如何更改千兆网卡上的“广告暂停帧使用”和自动协商设置

我正在调查新服务器上与旧服务器相比的某些较差的 nfs 性能。旧服务器和新服务器都是 nfs 客户端,它们连接到同一个 NetApp nfs 服务器。

我的具体问题是: 如何更改“通告暂停帧使用”设置

我查看了交换机端,交换机上的端口显示两个主机的 1000 全双工。但是,旧服务器的流量控制显示“Sy/Asy”,但新服务器设置为 Sym。我假设 Asy=Asymmetric 和 Sym=Symmetric,我的另一个假设是交换机看到Sym因为在 Linux 端Advertised pause frame use设置为Symmetric。我如何将其更改为 Asymmetric?此设置会影响性能吗?我只是试图尽可能地排除。

这些是专用存储链路,即,它们是单独的 NIC,并且与主 NIC 位于单独的子网上。

我发现新旧服务器都没有 iowait 问题,所以 CPU 和内存似乎不是问题。我认为它与 eth 设置或 nfs 设置有关。我可以更详细地介绍设置,但我想先回答这个具体问题。

新主机(HP ProLiant Dl360P Gen8 上的 CentOS 6.3)

$ sudo ethtool eth3
Settings for eth3:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        **Advertised pause frame use: Symmetric**
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 4
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: off
        Supports Wake-on: g
        Wake-on: g
        Current message level: 0x000000ff (255)
        Link detected: yes

司机:tg3

旧主机(Sun Fire x4150 上的 SLES 9 SP4)

$ sudo ethtool eth1
Settings for eth1:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: umbg
        Wake-on: g
        Current message level: 0x00000007 (7)
        Link detected: yes

驱动程序:e1000

答案1

显然pause,和autoneg是每千兆网卡上不能关闭的设置IEEE 标准。这就是轮胎内胎周围的用语。

答案2

我见过 1g 接口上关闭自动协商的情况。操作方法如下:

http://www.cyberciti.biz/tips/howto-linux-add-ethtool-duplex-settings-permanent.html

根据已经提供的有关 IEEE 标准的证据,我认为您不应该这样做。但是,某些接口允许这样做。

答案3

根据 ethtool 手册页,需要使用 -A 选项:

   -A --pause
          Changes the pause parameters of the specified Ethernet
          device.

       autoneg on|off
              Specifies whether pause autonegotiation should be
              enabled.

       rx on|off
              Specifies whether RX pause should be enabled.

       tx on|off
              Specifies whether TX pause should be enabled.

相关内容