eth0 NIC Посилання - це повідомлення, що повторюється вниз у журналі ядра


14

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

ось зразок повідомлення /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

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

  • eth0 провалюється кожні кілька годин
  • eth0 виходить з ладу у першому випадку за дві, а у другому - за 19 секунд

Про це сервер виробництва, про який я говорю тут.

Як вирішити цю проблему, оскільки поштовий сервер працює у виробництві, а мережеві збої тривалістю 19 секунд я не можу терпіти?


1
Що ви перевірили поки що? Чи кабель належним чином приєднаний та чи не ушкоджений? Чи перемикач на іншому кінці також спостерігає, як посилання знижується? Варто зауважити, що виявлене посилання відрізняється в різний час (управління потоком відрізняється у вашому журналі). Можливо, автопоговори не вдається? Чи усунеться проблема, якщо ви змусите FD Rx / Tx 1000Mbps?
Хокан Ліндквіст

@ HåkanLindqvist У мене немає можливості перевірити кабель, оскільки сервер фізично не поруч зі мною. Це щось, що я повинен попросити перевірити техніку фермерських серверів? Як змусити FD Rx / Tx 1000Mbps? І щодо того, що регулювання потоку відрізняється в різний час, це питання?
Мілош Джаконович

Зміна "типу", що змінюється з часом, підказує мені, що щось не зовсім правильно, але пошук фактичної причини - це, звичайно, окреме питання. Запитати технічного персоналу може бути хорошою ідеєю.
Хокан Ліндквіст

1
Ви можете використовувати ethtool або mii-інструмент для перевірки стану автоматичних переговорів тощо на кінці сервера. Вам потрібно переконатися, що комутатор вашого сервера налаштований на відповідність. Це звучить як апаратна проблема - це може бути адаптер сервера, кабель або комутатор. Я пропоную переглянути стан перемикача, щоб побачити, що, на його думку, відбувається.
Пол Халдан

Відповіді:


10
  1. перевірте наявність помилок на дроті, подивіться на поле "помилки" на виході ifconfig. Якщо немає нуля, то виникають проблеми з обладнанням (кабель, карта NIC або концентратор / комутатор). Ненадійний кабель Ethernet також буде помилятись і в цьому полі.
  2. замініть кабель Ethernet, незалежно від кроку 1. Це швидко, дешево і просто, і це потрібно робити щоразу, коли ваше посилання йде вгору і вниз з випадковими інтервалами.
  3. використовуйте ethtoolта переконайтесь, що параметри мережі (дуплекс тощо) відповідають параметрам комутатора. Якщо ви не адміністратор комутатора, то попросіть адміністратора мережі надати вам налаштування.
  4. якщо комутатор увімкнено управління потоком, то переконайтеся, що він увімкнено у вашому вікні Linux. В іншому випадку відключіть його.

В якості бічної примітки слід оцінити, чи потрібен вам контроль потоку. За словами HP, це потрібно лише для високоефективних програм: див. Статтю HP про те, коли користуватися контролем потоку


1
Це були помилкові помилки. Технологія серверної ферми зробила роботу після того, як я повідомив про помилки.
Мілош Джаконович

1
"ifconfig" відображав помилки?
Майкл Мартінес

1

Ось моє виправлення. Ця проблема трапляється на певному апаратному забезпеченні (на одній машині лише 1 з 2 портів NIC), завжди з драйвером 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.