ethtoolによる設定

スイッチでは100M Full固定に設定しているのに、サーバ側の
auto-negotiationがYesになっているとHalfで上がってしまいます。
(em1はInterface Name。機器によって読み替えて下さい)

# ethtool em1
Settings for em1:
        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 pause frame use: No
        Advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Half
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        MDI-X: Unknown
        Supports Wake-on: g
        Wake-on: d
        Link detected: yes

手動でサーバ側のauto-negotiationを切る場合は、

# ethtool -s em1 autoneg off speed 100 duplex full

こんな感じ。手動で対応できるけど、Linkが一瞬落ちるので要注意。

# less /var/log/messages
kernel: tg3 0000:02:00.0: em1: Link is down
kernel: tg3 0000:02:00.0: em1: Link is up at 100 Mbps, full duplex

OS再起動後もきちんと機能させるには、設定ファイルに書いておきましょう。

# vi /etc/sysconfig/network-scripts/ifcfg-em1
---下記を追記---
ETHTOOL_OPTS="speed 100 duplex full autoneg off"
-----------