Hyper-V (2016) 有 VM 正在執行我看不到 - 如何發現是否有更多?
我們做了一些愚蠢的事情,“客戶堅持”和“我們得到了不好的建議”不是藉口,但我可以幫助清理。背景:
我們將一個新的 2019 Hyper-V 伺服器添加到一組四台現有的 2016 伺服器中,這些伺服器在整個網路中進行複制(不涉及集群或共享儲存)。(糟糕的)計劃是,只要我們在 2016 年創建 VM,並且沒有從其配置版本 8 升級,我們就可以毫無問題地來回複製。
實際發生的情況是,它似乎損壞了 2016 伺服器的 data.vmcx 文件(可能還有 Hyper-V 跟踪機器的複雜結構中的其他文件)。如果 Hypervisor 重新啟動,在 2016 年的伺服器上,VM 將消失。嘗試再次復製到它們會給出“已經存在”錯誤,儘管您看不到它們。似乎只有 Config 8 機器,我們有一些 5 似乎沒有這樣做。或者可能是第 2 代與第 1 代,不確定是什麼觸發了這個問題。
我們最終在緊急模式下將 2016 台伺服器中的 2 台升級到 2019 年,並且正在訂購一台新伺服器,另外兩台 2016 年(太舊而無法執行 2019 年)很快就會消失,但正在進行一些工作。
但是……我們今天(通過重複的 IP)發現**,一台 2016 年的伺服器上至少有一個 VM 已啟動並正在執行,但不可見**。它既不顯示在 Hyper-V 管理器中,也不顯示在 Powershell 的 GET-VM 中。我相當肯定它在重新啟動後倖存下來(但現在無法測試該理論)。
在我關閉最後一個 2016 年的伺服器並讓它消失之前,還需要一天左右的時間。
我的問題是:有什麼方法(不是 GET-VM 或 Hyper-V 管理器)可以查看 Hyper-V 2016 伺服器上執行的虛擬機嗎?並殺死他們?
或者 2019 年的伺服器……我想我們在升級它們的爭奪中清除了所有垃圾(刪除了 HyperV 角色,刪除了 HyperV 程序數據下的整個文件夾,重新安裝了 Hyper-V 角色),但是很高興確認只有顯示的那些正在執行。
有沒有我可以尋找的程序,一些正在執行的伺服器的文件或系統資料庫項?
如何在沒有 Hyper-V 管理器或 Get-VM 的情況下查看正在執行的 VM?
是的,真正的解決方案是“不要那樣做”。我明白了。但是已經“完成”了任何想法如何查看真正執行的內容?
在 Hyper-V 主機上的任務管理器中,將為每個虛擬機執行一個vmwp.exe程序(虛擬機工作程序)。殺死這些程序將關閉相應的虛擬機。