事情是這樣, 在 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 宿主機開機時間已經被重置
以上, 這個問題我感覺太奇怪了實在是看不明白, 各位大佬們有沒有看出些頭緒
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/1030185
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.