交换机端口灯颜色

一般情况下,网卡速率是操作系统与交换机协商进行的。

有时候我们将PC机或其它服务器连接到交换机上,发现交换机对应端口的灯是橙黄色而不是熟悉的亮绿色,但并不影响PC的网络连接。

本着严谨的科学态度,我们需要了解为什么交换机的灯是橙黄色。

其实原因很简单,交换机端口支持的速率和PC机网卡支持的速率不适配,譬如交换机是千兆口,而网卡却是百兆自适应。


手动调整网卡速率

另外一些情况下,为了避免网络出口拥塞,我需要手动设置网卡速率,主动使交换机的端口灯变成橙黄色,例如:交换机的外网出口是千兆口,内网连接的网卡也都是自适配的千兆口,这是如果所有内网的机器网卡全部满负荷工作,那么外网出口就会出现拥塞了,为了避免这种情况,可以将内网机器网卡的速率调整为百兆速率。

windows平台

打开设备管理器,右键点击网卡适配器下的使用的网卡,打开属性面板,选择高级选项卡,在属性窗口中选择对应的选项,可能是Media Type,或是external PHY,或是速度和双工,或是网络速度和双工,这需要看具体的系统而定了,下图是win7中对应的选项:


主机网络POD_设备名

修改为合适的值,点击确定即可。

linux系统

以ubuntu为例,用mii-tool设置网卡的速度参数,可以通过-F参数强行指定网卡的速度和双工,选项包括:100baseTx-FD,100baseTx-HD,10baseT-FD,或者10baseT-HD。注意,如果你网卡的强制速度/双工模式与路由器不匹配的话,可能会丢失网络连接:

[root@bigboy tmp]# mii-tool -F 100baseTx-FD eth0

另外,除了把这个命令放到/etc/rc.local文件中让它在每次启动结束前执行,或者创建你自己的启动脚本如果你需要它更早被执行,我们没有办法让它在重启后永久生效。


ethtool命令被指定在不久的将来替代mii-tool,目的是支持新的网卡。
用设备名称作为参数,命令可以提供其状态。这里我们可以看到设备eth0没有设置自动协商并设定为100 Mbps速度,全双工。在输出的顶端列出了其所支持的模式。
# ethtool eth0
Settings for eth0:
       Supported ports: [ TP MII ]
       Supported link modes:   10baseT/Half 10baseT/Full
                               100baseT/Half 100baseT/Full
       Supports auto-negotiation: Yes
       Advertised link modes:  10baseT/Half 10baseT/Full
                               100baseT/Half 100baseT/Full
       Advertised auto-negotiation: No
       Speed: 100Mb/s
       Duplex: Full
       Port: MII
       PHYAD: 1
       Transceiver: internal
       Auto-negotiation: off
       Supports Wake-on: g
       Wake-on: g
       Current message level: 0x00000007 (7)
       Link detected: yes
#
用ethtool设置网卡的速度参数

不同于mii-tool,ethtool可以通过设定设备配置脚本里的ETHTOOL_OPTS变量而永久生效。在下面例子里,设定了在下次重启时设置100 Mbps,全双工和不自动协商:

#
# File: /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
IPADDR=192.168.1.100
NETMASK=255.255.255.0
BOOTPROTO=static
ONBOOT=yes
ETHTOOL_OPTS="speed 100 duplex full autoneg off"

你可以通过ifup和ifdown命令关闭和再激活设备,来测试这些参数。这些设定也可以通过在命令行中使用-s参数改变,后面跟上设备名称和相关配置参数。

# ethtool -s eth1 speed 100 duplex full autoneg off
 #
 Linux的man命令提供了ethtool选项的更详细说明,但你可以通过只输入ethtool命令获得一个快速的摘要。
 # ethtool
 ...
 ...
         ethtool -s DEVNAME \
                 [ speed 10|100|1000 ] \
                 [ duplex half|full ] \
                 [ port tp|aui|bnc|mii|fibre ] \
 ...
 ...