问题描述
随机性的主机冻结,网络中断(ping,ssh不通,路由器不显示有该客户端),屏幕输出中断,syslog没有异常信息,可能是内核出了问题,没有打印任何的错误日志。
尝试性解决
屏幕保留着一些旧的日志,显示
[118943.768245] e1000e 0000:00:19.0 eno1: 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 eno1: Reset adapter unexpectedly
初步判断可能是网卡驱动问题导致的断网(后面发现冻结期间,所有的任务均无法执行,因此不是简单的断网),经由https://forum.proxmox.com/threads/e1000-driver-hang.58284/该帖子中的回答解决了这个网卡驱动报错,问题在于intel网卡的e1000e驱动在网卡不禁用tso时候会出现问题,解决步骤
#安装 ethtool
apt install ethtool
#设置网卡启动后执行指令
vim /etc/network/interfaces
在对应intel网卡的虚拟网桥接口下配置
iface vmbr0 inet static
address 192.168.123.100/24
gateway 192.168.123.1
bridge-ports eno1
bridge-stp off
bridge-fd 0
#增加这一行
post-up /usr/sbin/ethtool -K eno1 gso off tso off
之后手动运行一遍该指令
ethtool -K eno1 gso off tso off
至此网卡随机hang的问题解决,但是随机冻结的问题并没有解决,在https://forum.proxmox.com搜索intel、crash、freeze关键词后得到几个解决方案:
- 关闭所有虚拟机的内存ballooning选项
- 打开所有虚拟机CPU设置中的NUMA选项
- 所有虚拟机的CPU类型设置为Host
- 增加宿主机的启动参数,编辑grub引导文件并在启动参数上增加
pcie_aspm=off intel_idle.max_cstate=1
控制pcie的节能选项以及cpu的节能选项
目前仍然在测试稳定性,因为这个冻结问题出现的周期是随机的,可能是一天、一周或者一个月。
2023.4更新
确认为四条内存中一条内存的兼容性问题
Comments | NOTHING