Seit 5.x und Kernel 4.15 Netzwerkabrüche

sunghost

Active Member
May 27, 2011
168
1
38
Hallo Zusammen,
ich habe starke Netzwerkprobleme. Der betroffene Rechner dient als Firewall und läuft nicht im Cluster.

Ich meine das dies seit Version PVE5.x mit dem Kernel 4.15.x der Fall ist. Die Situation ist wie folgt. Findet nur relativ wenig Netzwerkverkehr statt, ist alles ok, doch wird die Leitung ausgelastet und das über mehr als 5min, dann bricht das Netzwerk zusammen und ich muss die Kiste neustarten. Das lässt sich reproduzieren, sodass ich so nicht arbeiten kann.

Ich meine ich hatte das in einer der früheren Versionen schon mal und damals gab es dann irgendwann einen neuen Kernel ...

Das Netzwerk sieht wie folgt aus: 1x onboard Netzwerkkarte (Intel) und 1x USB Netzwerkkarte (RTL8111/8168/8411).

Ich hatte hier im Forum gesehen, dass der Kernel wegen ähnlichem Problem aktualisiert wurde. Der 4.15.17-3-pve ist nun auch bei mir installiert, bringt aber keine Abhilfe.

Jemand eine Idee?
 
steht zum Zeitpunkt, wo die Probleme auftreten etwas in den logs? (journalctl -r, dmesg).
Um welche Bandbreiten/Trafficmuster geht es?
Im Allgemeinen sind Realtek Netzwerkkarten (USB oder PCI(-e)) nicht immer die zuverlaessigsten.
 
Hi,
bisher haben die USB-Net-Karten recht gut funktioniert, hatte aber erst auch meine Zweifel. Es lief auch sehr lange sehr gut, bis halt (ich nehme an) der neue Kernel 4.15.x kam... Beim Traffic geht es um 50Mbits. ich habe diesen nun testweise mal auf 20MBits eingebremst, evtl. läuft es dann stabiler. Dmesg brachte bisher keine Erkenntnis...mir fiel dieser Eintrag auf "interrupt took too long (8482 > 7891), lowering kernel.perf_event_max_sample_rate to 23500" Im Journal ist seit dem letzten Boot nichts zu auffällig, ich stelle das mal auf die letzten Logs um.
 
Wir haben hier das gleiche Problem mit Intel e1000 Netzwerkkarte.
Kann bestätigen, dass es Ende Mai mit dem Umstieg auf Kernel 4.15 durch ein Update begonnen hat.
An der Serverhardware, speziell Netzwerkkarte, liegt es sicher nicht, denn der komplette Server wurde bereits getauscht.

Es gibt entsprechende Einträge im syslog, dmesg wirft folgendes aus:

[10829.796138] e1000e 0000:00:1f.6 enp0s31f6: Detected Hardware Unit Hang:
TDH <f8>
TDT <7>
next_to_use <7>
next_to_clean <f7>
buffer_info[next_to_clean]:
time_stamp <100282982>
next_to_watch <f8>
jiffies <100282b08>
next_to_watch.status <0>
MAC Status <80083>
PHY Status <796d>
PHY 1000BASE-T Status <3800>
PHY Extended Status <3000>
PCI Status <10>
[10831.780282] e1000e 0000:00:1f.6 enp0s31f6: Detected Hardware Unit Hang:
TDH <f8>
TDT <7>
next_to_use <7>
next_to_clean <f7>
buffer_info[next_to_clean]:
time_stamp <100282982>
next_to_watch <f8>
jiffies <100282cf8>
next_to_watch.status <0>
MAC Status <80083>
PHY Status <796d>
PHY 1000BASE-T Status <3800>
PHY Extended Status <3000>
PCI Status <10>
[10833.796252] e1000e 0000:00:1f.6 enp0s31f6: Detected Hardware Unit Hang:
TDH <f8>
TDT <7>
next_to_use <7>
next_to_clean <f7>
buffer_info[next_to_clean]:
time_stamp <100282982>
next_to_watch <f8>
jiffies <100282ef0>
next_to_watch.status <0>
MAC Status <80083>
PHY Status <796d>
PHY 1000BASE-T Status <3800>
PHY Extended Status <3000>
PCI Status <10>
[10835.780200] e1000e 0000:00:1f.6 enp0s31f6: Detected Hardware Unit Hang:
TDH <f8>
TDT <7>
next_to_use <7>
next_to_clean <f7>
buffer_info[next_to_clean]:
time_stamp <100282982>
next_to_watch <f8>
jiffies <1002830e0>
next_to_watch.status <0>
MAC Status <80083>
PHY Status <796d>
PHY 1000BASE-T Status <3800>
PHY Extended Status <3000>
PCI Status <10>
[10835.907967] ------------[ cut here ]------------
[10835.908111] NETDEV WATCHDOG: enp0s31f6 (e1000e): transmit queue 0 timed out
[10835.908211] WARNING: CPU: 1 PID: 0 at net/sched/sch_generic.c:323 dev_watchdog+0x222/0x230
[10835.908319] Modules linked in: ebtable_filter ebtables ip6t_REJECT nf_reject_ipv6 nf_conntrack_ipv6 nf_defrag_ipv6 ip6table_filter ip6_tables ipt_REJECT nf_reject_ipv4 xt_physdev xt_comment nf_conntrack_ipv4 nf_defrag_ipv4 xt_tcpudp xt_mark xt_set xt_addrtype xt_conntrack nf_conntrack ip_set_hash_net ip_set xt_multiport iptable_filter softdog nfnetlink_log nfnetlink intel_rapl snd_hda_codec_hdmi snd_hda_codec_realtek snd_hda_codec_generic x86_pkg_temp_thermal i915 intel_powerclamp coretemp kvm_intel drm_kms_helper kvm drm irqbypass i2c_algo_bit crct10dif_pclmul crc32_pclmul fb_sys_fops ghash_clmulni_intel syscopyarea pcbc aesni_intel sysfillrect sysimgblt snd_hda_intel snd_hda_codec aes_x86_64 crypto_simd glue_helper cryptd snd_hda_core input_leds snd_hwdep joydev intel_cstate intel_rapl_perf serio_raw
[10835.908675] snd_pcm snd_timer snd mac_hid soundcore ppdev intel_pch_thermal shpchp ie31200_edac parport_pc parport tpm_crb video acpi_pad wmi vhost_net vhost tap sunrpc ip_tables x_tables autofs4 btrfs zstd_compress raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c raid1 raid0 multipath linear hid_generic usbkbd usbhid hid e1000e(O) psmouse ptp pps_core i2c_i801 ahci libahci aacraid
[10835.908936] CPU: 1 PID: 0 Comm: swapper/1 Tainted: G O 4.15.17-3-pve #1
[10835.909082] Hardware name: FUJITSU /D3417-B2, BIOS V5.0.0.12 R1.8.0.SR.1 for D3417-B2x 05/16/2017
[10835.909235] RIP: 0010:dev_watchdog+0x222/0x230
[10835.909322] RSP: 0018:ffff8a0c2e443e58 EFLAGS: 00010286
[10835.909410] RAX: 0000000000000000 RBX: 0000000000000000 RCX: 0000000000000006
[10835.909502] RDX: 0000000000000007 RSI: 0000000000000082 RDI: ffff8a0c2e456490
[10835.909593] RBP: ffff8a0c2e443e88 R08: 0000000000000000 R09: 000000000000033f
[10835.909684] R10: ffff8a0c2e45a770 R11: 0000000096556801 R12: 0000000000000001
[10835.909775] R13: ffff8a0bde7dc000 R14: ffff8a0bde7dc478 R15: ffff8a0bde5cf080
[10835.909866] FS: 0000000000000000(0000) GS:ffff8a0c2e440000(0000) knlGS:0000000000000000
[10835.909971] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[10835.910060] CR2: 00007f8074ecee00 CR3: 0000000b31e0a002 CR4: 00000000003626e0
[10835.910230] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[10835.910321] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[10835.910412] Call Trace:
[10835.910496] <IRQ>
[10835.910579] ? dev_deactivate_queue.constprop.33+0x60/0x60
[10835.910669] call_timer_fn+0x32/0x130
[10835.910745] run_timer_softirq+0x1dd/0x430
[10835.910832] ? timerqueue_add+0x59/0x90
[10835.910918] ? ktime_get+0x43/0xa0
[10835.911005] __do_softirq+0x109/0x29b
[10835.911091] irq_exit+0xb6/0xc0
[10835.911219] smp_apic_timer_interrupt+0x71/0x130
[10835.911332] apic_timer_interrupt+0x84/0x90
[10835.911417] </IRQ>
[10835.911501] RIP: 0010:cpuidle_enter_state+0xa8/0x2e0
[10835.911582] RSP: 0018:ffffa7dac62dbe58 EFLAGS: 00000246 ORIG_RAX: ffffffffffffff11
[10835.911686] RAX: ffff8a0c2e4628c0 RBX: 0000000000000006 RCX: 000000000000001f
[10835.911778] RDX: 000009daee71cd91 RSI: ffffffea7a5d87ed RDI: 0000000000000000
[10835.911862] RBP: ffffa7dac62dbe90 R08: 00000000000022f5 R09: 0000000000000018
[10835.911953] R10: ffffa7dac62dbe28 R11: 0000000000001ea2 R12: ffff8a0c2e46cb00
[10835.912044] R13: ffffffff96171e78 R14: 000009daee71cd91 R15: ffffffff96171e60
[10835.912137] ? cpuidle_enter_state+0x97/0x2e0
[10835.912264] cpuidle_enter+0x17/0x20
[10835.912393] call_cpuidle+0x23/0x40
[10835.912479] do_idle+0x19a/0x200
[10835.912564] cpu_startup_entry+0x73/0x80
[10835.912650] start_secondary+0x1a6/0x200
[10835.912737] secondary_startup_64+0xa5/0xb0
[10835.912817] Code: 37 00 49 63 4e e8 eb 92 4c 89 ef c6 05 e7 38 d8 00 01 e8 b2 21 fd ff 89 d9 48 89 c2 4c 89 ee 48 c7 c7 f0 52 d9 95 e8 2e de 7f ff <0f> 0b eb c0 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 55 48
[10835.912979] ---[ end trace ac62d19f188b4708 ]---
[10835.913148] e1000e 0000:00:1f.6 enp0s31f6: Reset adapter unexpectedly
[10839.685934] e1000e: enp0s31f6 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx
[13988.378015] usb 1-6: USB disconnect, device number 2
[13988.378139] usb 1-6.2: USB disconnect, device number 3
[13988.551794] usb 1-6.4: USB disconnect, device number 4
[17272.571344] hrtimer: interrupt took 11525 ns
[18781.771773] e1000e 0000:00:1f.6 enp0s31f6: Detected Hardware Unit Hang:
TDH <5b>
TDT <66>
next_to_use <66>
next_to_clean <5a>
buffer_info[next_to_clean]:
time_stamp <100467e19>
next_to_watch <5b>
jiffies <1004680a8>
next_to_watch.status <0>
MAC Status <80083>
PHY Status <796d>
PHY 1000BASE-T Status <3800>
PHY Extended Status <3000>
PCI Status <10>
[18783.755861] e1000e 0000:00:1f.6 enp0s31f6: Detected Hardware Unit Hang:
TDH <5b>
TDT <66>
next_to_use <66>
next_to_clean <5a>
buffer_info[next_to_clean]:
time_stamp <100467e19>
next_to_watch <5b>
jiffies <100468298>
next_to_watch.status <0>
MAC Status <80083>
PHY Status <796d>
PHY 1000BASE-T Status <3800>
PHY Extended Status <3000>
PCI Status <10>
[18785.771875] e1000e 0000:00:1f.6 enp0s31f6: Detected Hardware Unit Hang:
TDH <5b>
TDT <66>
next_to_use <66>
next_to_clean <5a>
buffer_info[next_to_clean]:
time_stamp <100467e19>
next_to_watch <5b>
jiffies <100468490>
next_to_watch.status <0>
MAC Status <80083>
PHY Status <796d>
PHY 1000BASE-T Status <3800>
PHY Extended Status <3000>
PCI Status <10>
[18787.755541] e1000e 0000:00:1f.6 enp0s31f6: Reset adapter unexpectedly
[18791.530723] e1000e: enp0s31f6 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: Rx/Tx
 
Hi,
das Problem ist ziemlich nervig, da die Verbindung manchmal keine 4h durchhält. Hat jemand einen Workaround? Zurück auf einen älteren Kernel wird nach Upgrade auf PVE 5x wohl nicht funktionieren oder?
 
Kenne ich, hatte das gleiche Problem.

Abhilfe schaffte bei mir folgender Befehl:

Code:
ethtool -K eth0 tx off rx off
(eth0 durch die korrekte Netzwerkkarte ersetzen)
 
Jup. Stimmt. Kann man aber sonst einfach per rc.local Setzen lassen.

Also z.B. rc.local wie folgt aktivieren und Starten. Hier mal meine Notizen zum rc.local aktivieren. Einfach in die Linux Kommandozeilen Pasten den ersten Part inkl EOF welcher die Datei /etc/rc.local anlegt. Die Befehle anschließend machen die Datei ausführbar und Starten den Systemd rc-local Dienst.

Code:
cat <<EOF >/etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
/sbin/ethtool -K eth0 tx off rx off
exit 0
EOF

chmod +x /etc/rc.local
systemctl daemon-reload
systemctl start rc-local
 
Hi,
sieht bei mir wie folgt aus, wobei ich es nur für die WAN Karte ausgeführt habe:
ethtool -K enx00e102005f25 tx off rx off
Cannot get device udp-fragmentation-offload settings: Operation not supported
Cannot get device udp-fragmentation-offload settings: Operation not supported
Actual changes:
rx-checksumming: off
tx-checksumming: off
tx-checksum-ipv4: off
tx-checksum-ipv6: off
tcp-segmentation-offload: off
tx-tcp-segmentation: off [requested on]
tx-tcp6-segmentation: off [requested on]
Und besten Dank für das Script.
 
Ja, bei mir waren mit den Einstellungen dann die Probleme verschwunden. Hatte die Probleme auf drei Servern mit Intel Netzwerkkarten.
 
Hi,
habe die Drosselung wieder aufgehoben und schwups ein paar Minuten später bricht die Verbindung zusammen. So funktioniert es leider nicht dauerhaft.
 
Auch wenn der Thread schon zwei Jahre alt ist. Die Problematik ist immer noch aktuell. Ich kann bestätigen, dass die e1000e mit dem Kernel 4.13 wunderbar lief. Auf diesen Kernel war mein Proxmox bisher auch festgetackert. Neulich habe ich aufgeräumt und den alten Kernel durch 5.4.27-1 ersetzt.

Ergebnis im Minuten- bzw. Sekundentakt:

e1000e 0000:00:1f.6 eth0: Detected Hardware Unit Hang:
TDH <0>
TDT <4>
next_to_use <4>
next_to_clean <0>
buffer_info[next_to_clean]:
time_stamp <10157c2eb>
next_to_watch <0>
jiffies <10157c698>
next_to_watch.status <0>
MAC Status <80083>
PHY Status <796d>
PHY 1000BASE-T Status <7800>
PHY Extended Status <3000>
PCI Status <10>

Momentan fahre ich mit tso, gso off. Bisher trat der Fehler zweimal im Abstand von 2 Stunden auf. Meine Hoffnung ist, dass der Kernel 5.5 wieder Stabilität und Geschwindigkeit reinbringt.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!