artem
21.11.2016
8365

Проблема с сетевой картой Intel на базе чипа 82574L в ОС CentOS

На сетевых картах на базе чипа 82574L производства Intel с драйверами под Linux часто наблюдаются проблемы. Проявляются они чаще всего в виде «подвисания соединения» и недоступности сервера по сети. В рамках статьи будет рассмотрен способ решения данной проблемы.

Следует учесть, что данная инструкция не гарантирует, что можно добиться 100% работоспособности карты, так как были случаи, что после определенного периода работы интерфейс снова выходил из строя

Проверить карты можно командой

lspsi -v | grep Ethernet

В выводе будет что-то подобное (скорее всего будет отличие в адресе шины):

08:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection
09:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection

Более подробный вывод:

lspci -v

Возможно под интерфейсом будет выведена следующая информация:

08:00.0 Ethernet controller: Intel Corporation 82574L Gigabit Network Connection (rev ff) (prog-if ff)
!!! Unknown header type 7f
Kernel driver in use: e1000e
Kernel modules: e1000e

Чтобы попробовать решить данную проблему необходимо выполнить три шага: переустановить драйвер сетевой карты, изменить параметры ядра и параметры инициализации.

1) Переустановка драйвера.
Можно драйвер собрать из исходников, предварительно скачав его с официального сайта, либо с сайта sourceforge
Но также можно установить драйвер из репозитория Elrepo, предварительно установив репозиторий.

rpm —import http://elrepo.org/RPM-GPG-KEY-elrepo.org — импорт публичного ключа Elrepo
rpm -Uvh http://elrepo.org/elrepo-release-6-4.el6.elrepo.noarch.rpm — установка репозитория

Для просмотра информации об установленном драйвере необходимо выполнить команду:

modinfo e1000e

Результат выполнения:

[root@localhost ~]# modinfo e1000e
filename: /lib/modules/2.6.32-504.12.2.el6.x86_64/kernel/drivers/net/e1000e/e1000e.ko
version: 2.3.2-k
license: GPL
description: Intel(R) PRO/1000 Network Driver
author: Intel Corporation, <[email protected]>
srcversion: AFD3474CD5CF7B1D88BDD10

Перед установкой проверить доступность драйвера можно командой:

yum list|grep -i e1000

Как видно из вывода — версия драйвера выше текущей:

[root@localhost ~]# yum list|grep -i e1000
kmod-e1000e.x86_64 3.0.4-1.el6.elrepo pbx

Установка выполняется командой:

yum -y install kmod-e1000e

После установки можно проверить версию:

[root@localhost ~]# modinfo e1000e
filename: /lib/modules/2.6.32-504.12.2.el6.x86_64/weak-updates/e1000e/e1000e.ko
version: 3.0.4-NAPI
license: GPL
description: Intel(R) PRO/1000 Network Driver
author: Intel Corporation, <[email protected]>
srcversion: B86187D504664D50DF59C36

Как видно версия драйвера изменилась.

2) Изменение параметров ядра:
Любым редактором открыть файл grub.conf

vim /etc/grub.conf

И добавить к строке kernel следующие параметры:

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

Если используется RAID необходимо прописать в каждой строкеВозможный вид:

default=0
fallback=1
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
#hiddenmenu
title CentOS (2.6.32-504.12.2.el6.x86_64)
root (hd0,0)
kernel (hd0,0)/vmlinuz-2.6.32-504.12.2.el6.x86_64 ro root=UUID=0cdb9faa-ab11-4c41-921d-48adb69f9725 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_DM SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_MD_UUID=6adf9813:d771c2f9:3406aa78:3a8f1ace rd_MD_UUID=c509bd4d:8355df03:6c0bb127:a8e40431 pcie_aspm=off e1000e.IntMode=1,1 e1000e.InterruptThrottleRate=10000,10000 acpi=off
initrd /initramfs-2.6.32-504.12.2.el6.x86_64.img
title CentOS (2.6.32-504.12.2.el6.x86_64)
root (hd1,0)
kernel (hd1,0)/vmlinuz-2.6.32-504.12.2.el6.x86_64 ro root=UUID=0cdb9faa-ab11-4c41-921d-48adb69f9725 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_DM SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABLE=us rd_MD_UUID=6adf9813:d771c2f9:3406aa78:3a8f1ace rd_MD_UUID=c509bd4d:8355df03:6c0bb127:a8e40431 pcie_aspm=off e1000e.IntMode=1,1 e1000e.InterruptThrottleRate=10000,10000 acpi=off
initrd /initramfs-2.6.32-504.12.2.el6.x86_64.img

3) Изменение параметров инициализации
Необходимо внести параметры в файл rc.local

vim /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
#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 08:00.0 CAP_EXP+10.b=40
/sbin/setpci -s 00:19.0 CAP_EXP+10.b=40

Если в сети несколько сетевых интерфейсов, то данные параметры необходимо прописать для каждого.

После этого выполнить перезагрузку системы. На этом настройки завершены.
Хотелось бы отметить что на некоторых серверах данные манипуляции не решили окончательно проблему.

Кейсы внедрения
Asterisk от VoxLink
Узнайте, какие крупные компании уже используют Asterisk в работе.
Скачать
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Остались вопросы?

Я - Компаниец Никита, менеджер компании Voxlink. Хотите уточнить детали или готовы оставить заявку? Укажите номер телефона, я перезвоню в течение 3-х секунд.

VoIP оборудование


ближайшие курсы

10 доводов в пользу Asterisk

Распространяется бесплатно.

Asterisk – программное обеспечение с открытым исходным кодом, распространяется по лицензии GPL. Следовательно, установив один раз Asterisk вам не придется дополнительно платить за новых абонентов, подключение новых транков, расширение функционала и прочие лицензии. Это приближает стоимость владения станцией к нулю.

Безопасен в использовании.

Любое программное обеспечение может стать объектом интереса злоумышленников, в том числе телефонная станция. Однако, сам Asterisk, а также операционная система, на которой он работает, дают множество инструментов защиты от любых атак. При грамотной настройке безопасности у злоумышленников нет никаких шансов попасть на станцию.

Надежен в эксплуатации.

Время работы серверов некоторых наших клиентов исчисляется годами. Это значит, что Asterisk работает несколько лет, ему не требуются никакие перезагрузки или принудительные отключения. А еще это говорит о том, что в районе отличная ситуация с электроэнергией, но это уже не заслуга Asterisk.

Гибкий в настройке.

Зачастую возможности Asterisk ограничивает только фантазия пользователя. Ни один конструктор шаблонов не сравнится с Asterisk по гибкости настройки. Это позволяет решать с помощью Asterisk любые бизнес задачи, даже те, в которых выбор в его пользу не кажется изначально очевидным.

Имеет огромный функционал.

Во многом именно Asterisk показал какой должна быть современная телефонная станция. За многие годы развития функциональность Asterisk расширилась, а все основные возможности по-прежнему доступны бесплатно сразу после установки.

Интегрируется с любыми системами.

То, что Asterisk не умеет сам, он позволяет реализовать за счет интеграции. Это могут быть интеграции с коммерческими телефонными станциями, CRM, ERP системами, биллингом, сервисами колл-трекинга, колл-бэка и модулями статистики и аналитики.

Позволяет телефонизировать офис за считанные часы.

В нашей практике были проекты, реализованные за один рабочий день. Это значит, что утром к нам обращался клиент, а уже через несколько часов он пользовался новой IP-АТС. Безусловно, такая скорость редкость, ведь АТС – инструмент зарабатывания денег для многих компаний и спешка во внедрении не уместна. Но в случае острой необходимости Asterisk готов к быстрому старту.

Отличная масштабируемость.

Очень утомительно постоянно возвращаться к одному и тому же вопросу. Такое часто бывает в случае некачественного исполнения работ или выбора заведомо неподходящего бизнес-решения. С Asterisk точно не будет такой проблемы! Телефонная станция, построенная на Asterisk может быть масштабируема до немыслимых размеров. Главное – правильно подобрать оборудование.

Повышает управляемость бизнеса.

Asterisk дает не просто набор полезных функций, он повышает управляемость организации, качества и комфортности управления, а также увеличивает прозрачность бизнеса для руководства. Достичь этого можно, например, за счет автоматизации отчетов, подключения бота в Telegram, санкционированного доступа к станции из любой точки мира.

Снижает расходы на связь.

Связь между внутренними абонентами IP-АТС бесплатна всегда, независимо от их географического расположения. Также к Asterisk можно подключить любых операторов телефонии, в том числе GSM сим-карты и настроить маршрутизацию вызовов по наиболее выгодному тарифу. Всё это позволяет экономить с первых минут пользования станцией.