eth0 NIC Link adalah pesan berulang di log kernel

14

Saya telah memperhatikan sejak beberapa hari yang lalu bahwa jenis pesan berulang yang sama terjadi dan saya yakin dapat mengatakan bahwa tidak ada yang sengaja diubah (diinstal / dihapus) pada periode itu.

inilah contoh pesan /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

dari file log lengkap - ketika mengambil semua pesan log jenis ini ke dalam hitungan - saya dapat menyimpulkan:

  • eth0 gagal setiap beberapa jam
  • eth0 gagal dalam kasus pertama selama dua dan di detik selama 19 detik

Ini server produksi yang saya bicarakan di sini.

Bagaimana mengatasi masalah ini, karena server mail dalam produksi dan kegagalan jaringan durasi 19 detik saya tidak bisa mentolerir?

Miloš Đakonović
sumber
1
Apa yang sudah Anda periksa sejauh ini? Apakah kabel terpasang dengan benar dan dalam kondisi tidak terluka? Apakah saklar di ujung yang lain juga mengamati tautan turun? Yang perlu diperhatikan adalah bahwa tautan yang terdeteksi berbeda pada waktu yang berbeda (kontrol aliran berbeda di log Anda). Mungkin negosiasi otomatis gagal? Apakah masalah hilang jika Anda memaksa 1000Mbps FD Rx / Tx?
Håkan Lindqvist
@ HåkanLindqvist Saya tidak punya opsi untuk memeriksa kabel, karena server secara fisik tidak dekat dengan saya. Apakah itu sesuatu yang harus saya periksa untuk memeriksa hal-hal teknologi server farm? Bagaimana cara saya memaksa 1000Mbps FD Rx / Tx? Dan, tentang kontrol aliran menjadi berbeda pada waktu yang berbeda, apakah masalah ini?
Miloš Đakonović
Tautan "tipe" yang berubah dari waktu ke waktu menunjukkan kepada saya bahwa ada sesuatu yang tidak beres tetapi menemukan penyebab sebenarnya tentu saja merupakan pertanyaan yang terpisah sepenuhnya. Menanyakan staf teknologi mungkin merupakan ide yang bagus.
Håkan Lindqvist
1
Anda dapat menggunakan ethtool atau mii-tool untuk memeriksa status negosiasi otomatis dll di ujung server. Anda harus memastikan bahwa sakelar yang disiapkan server Anda cocok. Ini terdengar seperti masalah perangkat keras - bisa jadi adaptor server, kabel atau saklar. Saya sarankan melihat status saklar untuk melihat apa yang dipikirkannya terjadi.
Paul Haldane

Jawaban:

10
  1. periksa kesalahan pada kabel, lihat bidang "kesalahan" di output ifconfig. Jika bukan nol maka ada masalah dengan perangkat keras (kabel, kartu NIC, atau hub / switch). Kabel Ethernet yang tidak dapat diandalkan akan memberikan kesalahan dalam bidang ini juga.
  2. ganti kabel Ethernet, terlepas dari langkah 1. Ini cepat, murah dan mudah, dan harus dilakukan setiap kali tautan Anda naik dan turun secara berkala.
  3. gunakan ethtooldan pastikan pengaturan jaringan (dupleks, dll) cocok dengan yang ada di sakelar. Jika Anda bukan admin sakelar, maka minta admin jaringan untuk memberi Anda pengaturan.
  4. jika sakelar telah mengaktifkan kontrol aliran, maka pastikan sakelar itu diaktifkan di Linux Anda. Kalau tidak, nonaktifkan.

Sebagai catatan tambahan, Anda harus menilai apakah Anda memerlukan kontrol aliran. Menurut HP, itu hanya diperlukan untuk aplikasi berkinerja tinggi: lihat artikel HP tentang Kapan Menggunakan Kontrol Aliran

Michael Martinez
sumber
1
Itu kesalahan kawat. Barang teknologi server farm melakukan pekerjaan setelah saya melaporkan kesalahan.
Miloš Đakonović
1
'ifconfig' menunjukkan kesalahan?
Michael Martinez
1

Inilah perbaikan saya. Masalah ini terjadi pada perangkat keras tertentu (pada satu mesin hanya 1 dari 2 port pada NIC), selalu dengan driver e1000e, sejak kernel 3.9 atau lebih. File ini untuk centos7, masuk /etc/init.d/dan harus diaktifkan dengan chkconfig --add <name>. Nama antarmuka adalah hardcoded ... pastikan untuk mengaturnya.

#!/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
Peter
sumber