MENU
カテゴリー
アーカイブ

e1000e 0000:00:1f.6 eno1: Detected Hardware Unit Hang:

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

確認してみると 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 など監視サーバーを導入するべきかな・・・。

コメント

コメントする

目次