DeskMini H470 の syslog を眺めていたときに、次のような怪しいログが残ってた。ネットワークアダプタに大きな負荷がかかるとハングアップするということだが、どうやら Intel 製の Ethernet controller で問題になっているらしい。これまで障害発生が短時間のためなのか、そもそも大きな負荷がかかっていなかったのか、いずれにしても全く気が付かなかったけど。
Feb 05 20:18:45 h470 kernel: e1000e 0000:00:1f.6 eno1: Detected Hardware Unit Hang:
TDH <cd>
TDT <12>
next_to_use <12>
next_to_clean <cc>
buffer_info[next_to_clean]:
time_stamp <1013a8deb>
next_to_watch <cd>
jiffies <1013a8f20>
next_to_watch.status <0>
MAC Status <40080083>
PHY Status <796d>
PHY 1000BASE-T Status <3800>
PHY Extended Status <3000>
PCI Status <10>
Feb 05 20:18:46 h470 corosync[1048]: [KNET ] link: host: 2 link: 0 is down
Feb 05 20:18:46 h470 corosync[1048]: [KNET ] link: host: 1 link: 0 is down
Feb 05 20:18:46 h470 corosync[1048]: [KNET ] host: host: 2 (passive) best link: 0 (pri: 1)
Feb 05 20:18:46 h470 corosync[1048]: [KNET ] host: host: 2 has no active links
Feb 05 20:18:46 h470 corosync[1048]: [KNET ] host: host: 1 (passive) best link: 0 (pri: 1)
Feb 05 20:18:46 h470 corosync[1048]: [KNET ] host: host: 1 has no active links
Feb 05 20:18:46 h470 pvestatd[1139]: got timeout
Feb 05 20:18:47 h470 corosync[1048]: [TOTEM ] Token has not been received in 2737 ms
Detected Hardware Unit Hang: NIC resetting unexpectedly during high throughput
I have noticed in my syslog that during times of high throughput, I am getting this hardware hanging issue. How do I begin to troubleshoot this? Jun 26 21:39:45...
確認してみると H470 の場合は、
root@h470:~# apt install -y ethtool
root@h470:~# lspci | egrep -i --color 'network|ethernet'
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (11) I219-V
root@h470:~# ethtool -i eno1 | grep -i driver
driver: e1000e
だった。ちなみに X300 は、
root@x300:~# lspci | egrep -i --color 'network|ethernet'
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15)
対策としては、若干のパフォーマンス低下を伴うものの、オフロード機能を無効にするのが最善だそうな。なので(自分の環境の場合) eno1 に設定してみる。
root@h470:~# cat /etc/network/interfaces
# network interface settings; autogenerated
# Please do NOT modify this file directly, unless you know what
# you're doing.
#
# If you want to manage parts of the network configuration manually,
# please utilize the 'source' or 'source-directory' directives to do
# so.
# PVE will preserve these directives, but will NOT read its network
# configuration from sourced files, so do not attempt to move any of
# the PVE managed interfaces into external files!
auto lo
iface lo inet loopback
iface eno1 inet manual
# 以下の offload-* off を追加
offload-gso off
offload-gro off
offload-tso off
offload-rx off
offload-tx off
offload-rxvlan off
offload-txvlan off
offload-sg off
auto vmbr0
iface vmbr0 inet static
address 192.168.1.5/24
gateway 192.168.1.1
bridge-ports eno1
bridge-stp off
bridge-fd 0
普段だと負荷がかかるとしたらバックアップのときくらいなので暫く様子を見てみよう。自鯖だから大げさとは思ってたけど、Zabbix など監視サーバーを導入するべきかな・・・。
コメント