求助一個 PVE 虛擬機導致宿主機重啓的問題

40 天前
 MiKing233
事情是這樣, 在 PVE 平臺上建制了一臺 Windows11 qemu 虛擬機實例用作外網到内網的跳板機, 但有時候在使用時遠端連綫會莫名其妙斷開, 然後發現是 PVE 宿主機自己莫名其妙發生了一次重啓, 檢查 PVE 宿主機 syslog 也沒有報錯, 這個問題困擾了我一段時間, 不過頻率並不高只在特定情況下出現, 遂沒有過度追查

昨天通過外網遠端連綫到這臺機器的時候, 在正常使用時又發生了導致宿主機意外重啓的問題, 以下重複一遍我的經歷:

當時我打算下載 Home Assistant 的 x86-64 image, 就在快下載完成時遠端連綫會莫名其妙斷開, 排查發現 PVE 重啓, 確認開機時間是剛剛, 并且所有 VM 實例都已被關閉, 不過如我上面所説的, 檢查了 syslog 日志仍然和以前一樣沒有任何報錯日志, 無奈重新啓動 windows11 實例繼續剛才的事情, 不過發現一個細節, Home Assistant 的 image 并沒有被成功下載, Chrome 顯示崩潰而下載失敗, 所以我重新點擊了一次下載, 結果竟然復現了問題, 遠端桌面連綫再一次斷開, PVE 宿主機再一次發生了重啓

以下是 PVE 宿主機發生重啓時段的 syslog


基於當前得到的信息, 我檢查得到了如下的訊息:
在 Home Assistant 的 image 下載完成之前, Windows Defender 將會先掃描這個檔案, 該檔案為 haos_generic-x86-64-12.1.img.xz, 大小為 372MIB, 解包後的 haos_generic-x86-64-12.1.img 大小爲 6GIB, 猜測 Windows Defender 將會解壓縮掃描包内部, 在下載完之前被掃描時, Windows Defender 吃掉了不少的 CPU 并且有大量的 DISK I/O, 就是在這個期間虛擬機實例挂掉了, 順帶著連宿主機也一起帶走

對於 Syslog 中的日志輸出, 基本判斷不是 Linux 或是 ProxmoxVE 自身軟體方面問題導致重啓的
硬體方面, 對於在特定情況下復現, 應該也不會是 RAM/DISK 的問題
電源方面一開始也有懷疑過會不會是掃描導致功率瞬時衝高導致挂掉, 但是後面我用 AIDA64 烤了一會卻發現一切正常, 猜測應該也不是電源或是溫度過熱的原因

在 Windows 虛擬機實例中進行 CPU 壓力測試




此時的 ProxmoxVE 宿主機資源占用



但又有個很吊詭的事情, 當前我爲這臺 Windows VM 分配了 8 個核心, 當我嘗試分配更少的核心(測試 1/2/4Core)時重複上面的步驟, Windows Defender 就能正常掃描完下載檔案, 虛擬機不會挂掉, PVE 宿主機也不會跟著重啓, 嘗試 8/16Core 時就會復現虛擬機導致宿主機重啓的問題

下面是我復現該問題的過程
https://cdn.mknetwork.net/files/pverebootissue.mp4

可以看到在下載完成 Windows Defender 開始即時掃描后. DISK I/O 上升后虛擬機實例就死掉了, 此時刷新 PVE 的 Web 管理端也不通了, 再次連上可以看到 PVE 宿主機開機時間已經被重置

以上, 這個問題我感覺太奇怪了實在是看不明白, 各位大佬們有沒有看出些頭緒
1444 次点击
所在节点    程序员
32 条回复
hi2hi
40 天前
试试加一个其它的安全软件?例如火绒
Eiden
40 天前
pve ui 不能设置繁体吗
zengxs
40 天前
按你的报错信息搜了一下

看到有个案例是磁盘满了导致这个问题
https://forum.proxmox.com/threads/error-kvm-cpu0-unhandled-wrmsr-unhandled-rdmsr.5046/
wniming
40 天前
应该跟 pve 无关,我之前也遇到过类似的问题,我当时是启动 windows 虚拟机时分配的核心多会导致物理机重启,猜测是因为 window 虚拟机启动时会执行一些特殊的高功耗的指令,而我又在 bios 里把 cpu 频率固定,导致负载在瞬加增加很多,超过了电源负载瞬态支持的最大值,所以电源断电导致物理机重启。

建议在 bios 里把 cpu 的睿频关闭,用默频试试,先排除电源供电问题。
jasonyang9
40 天前
同意楼上的老铁,如果 pve 连写日志的机会都没就重启了看着像是硬件问题
yyzh
40 天前
这里也有讨论 TL;DR:windows 下跑 pve 如果 cpu 模型选 host 会有些奇奇怪怪的问题,选其他的 cpu 模型就行
https://forum.proxmox.com/threads/win11-vm-opening-many-tabs-at-once-crashes-proxmox-host.140670/
MiKing233
40 天前
@zengxs 不過我確認我的虛擬機實例和 PVE 的 DISK 空閑空間都很多, 應該和這個沒關係, Syslog 上面的那些輸出都不至於讓宿主機重啓
MiKing233
40 天前
@jasonyang9 是的 PVE 連寫 log 的機會都沒有直接就被輸出了--Reboot--, 在這一點基本就可以排除是軟體故障了
podel
40 天前
最近我也有遇到最新的 pve 会异常重启的问题。
qW7bo2FbzbC0
40 天前
看了下感觉基本是大陆简体转繁体,不是港澳台那边的口气语法
MiKing233
40 天前
@wniming 不過我長時間烤機都不會造成重啓應該也可以排除供電的問題了吧, 我的電源是 100w, 跑 PVE 沒有使用核顯, 此時 CPU 滿載整機功耗都不到 70w
MiKing233
40 天前
@yyzh 這個確實跟我很相似并且 CPU 型號也一樣, 但這似乎更偏向於是一個軟體故障? 如果是軟體故障爲何 PVE 連 log 都來不及輸出就重啓了
wniming
40 天前
@MiKing233 #11 按我的经验来说不能完全排除,因为我当时固定 cpu 频率就是为了全核心编译大型项目时能更快一些,当时编译程序时所有 cpu 满载并不会导致重启。

即便你烤机用的是 aida64 的单烤 fpu ,我觉得也不能完全排除供电的问题,更何况你用的电源是 100W 的,这个更让人怀疑是电源问题了,现在主流的电源都是 500w 起步了吧,就算是 flex 电源也很少有 100 瓦的了。
crazyweeds
40 天前
根据楼上的一些回答,建议把 BIOS 恢复默认值再重试。
wniming
40 天前
@MiKing233 #11 烤机时整机功耗没达到电源额定最大输出不代表电源够用,你可以看一下 yt 上翼王的电源相关的评测,电源还有各种稳定性的问题,很多太专业的我也不好转述,你自己搜搜看吧。
MiKing233
40 天前
@wniming 7840HS 是 LAPTOP 平臺的處理器, 而且這臺設備是個迷你主機, 100w 的電源對他來説已經完全夠了, 另外根據#6 所講的, 我嘗試將 CPU 類型設定爲 x86-64-v4 后重複操作發現是正常的沒有問題, 這個問題似乎和設定的 CPU 類型有關, 但是我不明白的是他沒有任何日志輸出, 在那篇帖子中也看到有很多人反應這個問題...
wniming
40 天前
@MiKing233 #16 “ 我嘗試將 CPU 類型設定爲 x86-64-v4 后重複操作發現是正常的沒有問題”

也有可能是 cpu 选 host 模式时 Windows 虚拟机会执行特殊指令导致瞬间功耗变得非常高 ,选其他的 cpu 模型虚拟机就没有这些特殊指令。

也有可能是虚拟化的问题,是虚拟机逃逸影响到了物理机,但这种可能性极低,我从来没见到过,更何给虚拟机分配的 cpu 比较少时就不会出现问题,如果是选择的 cpu 模型问题就不应跟分配的 cpu 数量有关。

如果想进一步确定原因,可以尝试给物理机 cpu 降频再试试,如果仅仅降频就可以让问题消失,那么基本确定是硬件问题。
gamexg
40 天前
特定操作挂,第一反应是硬盘有坏道,操作涉及的文件正好在坏道处.
不过硬盘问题一般是特定操作卡顿,直接重启的倒是少见.
LanhuaMa
40 天前
@MiKing233 是“平台”不是“平臺”,幾乎沒有看到過這麼用的
MiKing233
40 天前
@LanhuaMa 謝謝不需要您教我怎麽講話

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1030185

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX