Tengo un servidor Dell 1U con Intel (R) Xeon (R) CPU L5420 @ 2.50GHz, 8 núcleos con Ubuntu Server Kernel versión 3.13.0-32-generic en x86_64. Tiene dos tarjetas de red 1000baseT. Lo tengo configurado para reenviar paquetes de eth0 a eth1.
He notado que en mi archivo kern.log sigue colgando y luego descansando. Esto está sucediendo a menudo. Esto sucede cada pocos segundos, entonces tal vez estará bien durante unos minutos y luego volver a cada pocos segundos.
Aquí está el volcado del archivo de registro:
[118943.768245] e1000e 0000:00:19.0 eth0: Detected Hardware Unit Hang:
[118943.768245] TDH <45>
[118943.768245] TDT <50>
[118943.768245] next_to_use <50>
[118943.768245] next_to_clean <43>
[118943.768245] buffer_info[next_to_clean]:
[118943.768245] time_stamp <101c48d04>
[118943.768245] next_to_watch <45>
[118943.768245] jiffies <101c4970f>
[118943.768245] next_to_watch.status <0>
[118943.768245] MAC Status <80283>
[118943.768245] PHY Status <792d>
[118943.768245] PHY 1000BASE-T Status <7800>
[118943.768245] PHY Extended Status <3000>
[118943.768245] PCI Status <10>
[118944.780015] e1000e 0000:00:19.0 eth0: Reset adapter unexpectedly
Aquí está la información de ethtool:
Configuraciones:
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: off (auto)
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000007 (7)
drv probe link
Link detected: yes
Información del conductor:
ethtool -i eth0
driver: e1000e
version: 2.3.2-k
firmware-version: 1.4-0
bus-info: 0000:00:19.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no
¿Qué podría estar causando esto? ¿Es esto solo un error en el software o un problema real de hardware? He visto a muchos otros tener problemas similares pero no hay una solución real y esto también me lleva a creer que es un problema de software.
¿Quizás alguien pueda arrojar algo de luz sobre esto por mí?
fuente
Respuestas:
Ok, después de publicar esta pregunta anoche, seguí investigando, la única solución real que encontré parece haber resuelto el problema.
Deshabilitar TSO, GSO y GRO usando ethtool:
Según una publicación encontrada aquí: http://ehc.ac/p/e1000/bugs/378/
Por lo que entiendo, esto causará o puede causar una reducción en el rendimiento.
También noté que otra solución era deshabilitar Active-State Power Management
De acuerdo con esta publicación sobre la falla del servidor: problemas de Linux e1000e (controlador de red Intel) en abundancia, ¿por dónde empiezo?
No he probado esta solución todavía. Lo intentaré y veré si eso hace la diferencia y publicaré mis hallazgos.
EDITAR:
Ok, he intentado desactivar Active-State Power Management, pcie_aspm = off y esto no tuvo ningún efecto. Seguí notando errores en mi archivo de registro.
Esto todavía puede funcionar para algunos, ya que algunas de las Intel tienen problemas con diferentes núcleos de quedarse dormido cuando la administración de energía está habilitada.
fuente
ethtool -K eth0 gso off gro off tso off
interrumpirá la conexión, aunque sea por poco tiempo?Desactivar Enhanced C1 (C1E) en el BIOS lo arregló para mí.
No estoy seguro si el estado de menor potencia de C1E está interfiriendo con el controlador, o si hay un error en el controlador cuando el procesador está en este estado.
De todos modos, problema resuelto.
fuente
Tuve el problema (desencadenando el mismo error de kernel que usted y los errores SSH del espacio de usuario como "
Corrupted MAC on input
").Solución
Lo que funcionó para mí fue desactivar la descarga de suma de verificación TCP:
# ethtool -K eth0 tx off rx off
Integración limpia y a largo plazo de esto con debian-ish / etc / network / interfaces :
fuente , inspiración .
Contexto
00:19.0 Ethernet controller: Intel Corporation Ethernet Connection I218-V (rev 04)
fuente
Intenta actualizar tu controlador. No sé dónde está para Ubuntu o qué versión se recomienda, pero para CentOS o EL 6 es:
http://mirror.symnds.com/distributions/elrepo/elrepo/el6/x86_64/RPMS/kmod-e1000e-3.1.0.2-1.el6.elrepo.x86_64.rpm
fuente