今天一台云主机出现一种情况,外网不通内网能通,检查网络配置都没有异常,查看系统日志,提示有e1000 detected Tx Unit Hang等信息。

具体信息如下

云平台:esxi5.0

操作系统:CentOS6.3-64bit

内核版本:2.6.32-279.e16

报错截图:

e1000 detected Tx Unit Hang_Tx

e1000 detected Tx Unit Hang_Tx _02

    后来经过查证,此报错属于系统的一个BUG,CentOS的官方给出的解决方法是升级网卡驱动,详细链接为:http://bugs.centos.org/view.php?id=6168

    不光CentOS的系统存在这个问题,SUSE Linux Enterprise Server 10 Service Pack 1,发生过类似问题,详细链接http://www.novell.com/support/kb/doc.php?id=7000925,    

解决方法:

①命令行:

    # /usr/sbin/ethtool -k ethX

检查TSO是否开启,如果开启请关闭,命令如下:

    # /usr/sbin/ethtool -K ethX tso off

②如果解决方法①不生效,建议升级网卡驱动至最新版本

第一种方式:更新网卡驱动:
Download the latest driver from e1000 stable on SF (8.0.25 at the time of writing).
下载地址:
http://sourceforge.net/projects/e1000/files/e1000%20stable/
Build the RPM:

rpmbuild -tb /path/to/e1000-8.0.25.tar.gz
Install the new e1000 RPM driver:

rpm -ivh /usr/src/redhat/RPMS/x86_64/e1000-8.0.25-1.x86_64.rpm
Add ignore_64bit_dma=1 driver option in /etc/modprobe.conf:

options e1000 ignore_64bit_dma=1
Reboot and enjoy!
参考连接:
http://blog.bradiceanu.net/2010/11/28/netdev-watchdog-eth0-transmit-timed-out/


第二种方式:安装vm-tools

③尝试重启