UNRAID的虚拟机中运行群晖,发现一个奇怪现象:每到周2晚上4点16该虚拟机就会异常重启。 第二天邮件就会收到相关提示。 刚开始一直怀疑使用的CPU,由于使用的12500T ES一直怀疑是ES CPU不稳定导致。但是又很奇怪问什么每次都是一周的周二的相同的时间点Crash重启呢??
百思不得其解,后来需要在群晖中运行大量的文件复制创建,发现也会Crash重启,经过多次的测试终于发现重启的直接原因:当CPU使用率高于50%,虚拟机就会异常重启
这就更加怀疑这颗CPU了,有换掉它打算了。 本着追本溯源的精神继续追查因为还有一个问题是,为什么之前都是在周二的4点16分毫不差的异常呢?
有经过了一段排查,原来:群晖开启了安全报告,设置的是每周二4点16开始,这个会检查的设置和帐号等是否安全或使用大量的CPU,它会使用超过50%的CPU (只直通了12500T ES的2个线程)
问题找到了: CPU 的问题,当群晖使用直通的CPU,使用率超过50%就会异常重启!
又是经过一段摸索:当直通CPU时会出现这个问题,当在UNRAID中的虚拟机中不直通CPU,而是使用qemu64模拟CPU时不会出现该问题。
总结
不知道是否是12500T ES还是UNRAID或KVM亦或是共同叠加产生的问题: 当UNRAID中的KVM中直通CPU给虚拟机时会导致系统随机崩溃。
不同操作系统反应不同:
群晖DSM: 群晖异常重启
Windows: 会导致宿主机UNRAID也Crash异常重启。经测试Win10,Win Server 2022都是如此。
另外的发现: 当KVM中使用host-model方式模拟CPU时比CPU直通(passthrough)崩溃的机率小。 当所有虚拟机都使用qemu64时没有崩块在出现。
评论区