前些天的Hostsolutions廉价独服促销不知道有多少朋友上车了,如果有上车的朋友欢迎在文章的评论里留言说下使用感受。当然我自己也是上了这趟车。上了之后发现这系列的洋垃圾服务器使用的是Broadcom的网卡,在测速过程中无法跑满100Mbps,查看了一下网卡状态发现被自动配置成了Half模式,并不是Full模式。如果我们想跑满100Mbps的话我们需要自行修改下网卡的工作模式。顺带一提,由于Debian9以前的系统内并没有自带Broadcom网卡的驱动,所以要使用Debian9以前的系统的朋友需要使用iLO自行挂载驱动进行安装。

注意,根据朋友反馈,在极端使用场景下改成Full模式之后可能会导致网卡驱动崩了。但我自己没把这情况复现出来,所以大家如果碰到这个问题也请留言提供些详细信息。

修改网卡的工作模式:

首先我们需要安装ethtool,ubuntu和Debian系列使用以下命令进行安装:

apt-get install ethtool net-tools -y

CentOS系列使用以下命令:

yum -y install ethtool net-tools

在安装完ethtool之后我们就可以直接对网卡的配置进行更改。然而在ubuntu16.04的系统上网卡的设备命名不再是eth开头的。所以我们得先确定网卡的命名是啥,有两种方法能进行确定:

第一种方式,查看 /etc/network/interfaces 文件内的网卡名称。

cat /etc/network/interfaces

第二种方式,直接查看系统内的硬件设备:

cd /proc/sys/net/ipv4/conf
ls -ls

当然如果是新手的话,我还是建议使用第一种方式进行查看。在这里我的网卡名称显示的是 enp2s0f0 ,记住这个网卡名称。

这时候我们可以先使用ethtool查看网卡的信息,请注意以下的网卡名称可能并不一样。

ethtool enp2s0f0

当然以上也就是看看,我们需要修改网卡的工作模式的话,需要使用以下命令:

ethtool -s enp2s0f0 speed 100 duplex full autoneg off

这里稍微解释一下,speed 100中的100代表的是100Mbps,duplex full是改成full模式, autoneg off是关闭autoneg。

虽然现在已经更改了网卡工作模式,但重启之后又会回到原来的样子,所以我们还需要增加开机启动自动配置:

CentOS中直接在/etc/sysconfig/network-scripts/ifcfg-enp2s0f0中添加以下一行(enp2s0f0是网卡名称,当然在CentOS上肯定不是这个,我只是举个例子千万别照抄了。):

ETHTOOL_OPTS="speed 100 duplex full autoneg off"

Debian和Ubuntu中设置就比较容易了,直接在 /etc/network/interfaces 中末尾添加以下内容:

link-speed 100
link-duplex full
ethernet-autoneg off

然后一个重启就行了。

当然,我们还需要注意的是我最开头说的在极端使用场景下改成Full模式之后可能会导致网卡驱动崩了的情况,如果碰到这种情况的话,可以考虑将网卡模式调回去。