PVE

N5105 PVE 虚拟机随机死机/重启解决方案

N5105 PVE VM Random Crash/Restart Solution

ZingLix March 22, 2023

N5105 运行虚拟机会随机死机/重启的问题很常见,之前我采取过如下办法

  • 爱快降级至3.6.1
  • OpenWRT 换用 LXC 模式安装
  • 关闭各种直通

只能说降低了死机概率,一般能撑到一天以上,所以我选择在半夜自动重启,勉强可以正常使用,但日常使用还是不可避免的会断网。

不过现在似乎有了一个终极解决方案,可以彻底解决 N5105 的死机问题,根据这个链接反馈,已经可以超过 10 天稳定运行,我目前也暂时未遇到死机问题。

UPDATE: 我已经几十天都没有死机过了

解决方案就是更新 microcode 至 0x24000024 版本。

1
2
3
4
5
6
# 安装 microcode
apt update
apt install intel-microcode
reboot
# 查看 microcode 版本
dmesg -T | grep microcode

重启完成后,microcode 应该就已经更新到不会死机的版本了,你应该可以看到 0x24000024 字样。

1
2
3
4
5
root@pve:~# dmesg -T | grep microcode
[Wed Mar 22 22:23:26 2023] microcode: microcode updated early to revision 0x24000024, date = 2022-09-02
[Wed Mar 22 22:23:26 2023] SRBDS: Vulnerable: No microcode
[Wed Mar 22 22:23:30 2023] microcode: sig=0x906c0, pf=0x1, revision=0x24000024
[Wed Mar 22 22:23:30 2023] microcode: Microcode Update Driver: v2.2.

或者 grep 'stepping\|model\|microcode' /proc/cpuinfo 查看 microcode 版本。

1
2
3
4
5
root@pve:~# grep 'stepping\|model\|microcode' /proc/cpuinfo
model           : 156
model name      : Intel(R) Celeron(R) N5105 @ 2.00GHz
stepping        : 0
microcode       : 0x24000024

但如果源版本比较老的话,更新的版本还是例如 0x24000023 的话,就请继续后续步骤

1
2
3
4
5
6
7
# 接下来继续更新
wget https://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files/archive/main.zip
unzip main.zip -d MCU
cp -r /root/MCU/Intel-Linux-Processor-Microcode-Data-Files-main/intel-ucode/. /lib/firmware/intel-ucode/
update-initramfs -u
reboot
# 重启后应当可以更新至 0x24000024