если сетевой адаптер 82574l теряет сеть

Применимость: Linux

Слова для поиска: Centos


Проблема:

Иногда сетевой адаптер Intel 82574l теряет сеть.

проблема: - самопроизвольная потеря коннекта

Симптом (сообщения в логах):

NETDEV WATCHDOG: eth1 (e1000e): transmit queue 0 timed out
kernel: e1000e 0000:02:00.0: eth1: Reset adapter

Это известная ошибка в драйвере Intel e1000e для Linux. Вы можете найти описание здесь: https://bugzilla.redhat.com/show_bug.cgi?id=632650

Решение:

Можно установить драйвер из репозитория elrepo.org

Перед установкой нового драйвера проверьте какая версия у вас используется:

modinfo e1000e| grep version

Импорт публичных ключей репозитория:

rpm –import http://elrepo.org/RPM-GPG-KEY-elrepo.org

Установка ELRepo для RHEL-5, SL-5 или CentOS-5:

rpm -Uvh http://elrepo.org/elrepo-release-5-3.el5.elrepo.noarch.rpm

Установка ELRepo для RHEL-6, SL-6 или CentOS-6:

rpm -Uvh http://elrepo.org/elrepo-release-6-4.el6.elrepo.noarch.rpm

Установка драйвера:

yum -y install kmod-e1000e.x86_64

Перезагрузите сервер и убедитесь, что установлена последняя версия драйвера.

modinfo e1000e| grep version

Изменение параметров

Добавьте к списку параметров ядра в /boot/grub/grub.conf

pcie_aspm=off e1000e.IntMode=1,1 e1000e.InterruptThrottleRate=10000,10000 acpi=off

Добавьте в /etc/rc.local

#disable pause autonegotiate
/sbin/ethtool -A eth0 autoneg off
/sbin/ethtool -s eth0 autoneg off
#change tx ring buffer
/sbin/ethtool -G eth0 tx 4096 #maybe too large(consider 512). To increase interrupt rate, ethtool -C eth0 rx-usecs 10<10000 interrupts per second>
#change rx ring buffer
/sbin/ethtool -G eth0 rx 128
#disable wake on line
/sbin/ethtool -s eth0 wol d
#turn off offload
/sbin/ethtool -K eth0 tx off rx off sg off tso off gso off gro off
#enable TX pause
/sbin/ethtool -A eth0 tx on
#disable ASPM
/sbin/setpci -s 02:00.0 CAP_EXP+10.b=40
/sbin/setpci -s 00:19.0 CAP_EXP+10.b=40

Если у вас несколько адаптеров, то добавьте аналогичные команды для других портов

Смотрите также: