Назад | Перейти на главную страницу

eth0 NIC Link не работает, повторяющееся сообщение в журнале ядра

Я заметил несколько дней назад такие же повторяющиеся сообщения, и я с уверенностью могу сказать, что в этот период ничего не было намеренно изменено (установлено / удалено).

вот образец /var/log/kern.log сообщение:

Mar 30 06:32:45 aurora kernel: [566322.867110] e1000e: eth0 NIC Link is Down

Mar 30 06:32:47 aurora kernel: [566325.313634] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx

Mar 30 06:32:59 aurora kernel: [566337.632930] e1000e: eth0 NIC Link is Down

Mar 30 06:33:18 aurora kernel: [566356.543664] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None

Mar 30 11:05:47 aurora kernel: [582689.779752] e1000e: eth0 NIC Link is Down

Mar 30 11:05:50 aurora kernel: [582692.174337] e1000e: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx

из полного файла журнала - если принять во внимание все сообщения журнала такого рода - я могу сделать вывод:

Я говорю о производственном сервере.

Как решить эту проблему, если почтовый сервер находится в рабочем состоянии, а сбои сети продолжительностью 19 секунд я терпеть не могу?

  1. проверьте наличие ошибок в проводе, посмотрите на поле "errors" в выводе ifconfig. Если не ноль, то есть проблемы с оборудованием (кабелем, сетевой картой или концентратором / коммутатором). Ненадежный кабель Ethernet также выдаст ошибки в этом поле.
  2. замените кабель Ethernet, независимо от шага 1. Это быстро, дешево и легко, и его следует делать всякий раз, когда ваше соединение повышается или понижается через случайные промежутки времени.
  3. использовать ethtool и убедитесь, что настройки сети (дуплекс и т. д.) соответствуют настройкам коммутатора. Если вы не являетесь администратором коммутатора, попросите администратора сети предоставить вам настройки.
  4. Если на коммутаторе включено управление потоком, убедитесь, что оно включено на вашем компьютере с Linux. В противном случае отключите его.

В качестве примечания вы должны оценить, нужен ли вам контроль потока. Согласно HP, это необходимо только для высокопроизводительных приложений: см. Статья HP о том, когда использовать Flow Control

Вот мое исправление. Эта проблема возникает на определенном оборудовании (на одной машине только 1 из 2 портов на сетевой карте), всегда с драйвером e1000e, начиная с ядра 3.9 или около того. Этот файл предназначен для centos7, входит в /etc/init.d/ и должен быть включен с chkconfig --add <name>. Имя интерфейса жестко запрограммировано ... обязательно задайте его.

#!/bin/sh

### BEGIN INIT INFO
# Provides:          pm-e1000e-fix
# Required-Start:    $network
# Required-Stop:     $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 6
# Short-Description: workaround for e1000e issue
# Description:       e1000e fix
### END INIT INFO

################################################################################
# Give Usage Information                                                       #
################################################################################
usage() {
    echo "Usage: $0 start|restart" >&2
    exit 1
}

################################################################################
# E X E C U T I O N    B E G I N S   H E R E                                   #
################################################################################
command="$1"
shift

interface="eth0"

case "$command" in
    start)
        ethtool -K "$interface" gso off gro off tso off
        ;;
    restart)
        ethtool -K "$interface" gso off gro off tso off
        ;;
    *)
        usage
        ;;
esac