Hyper-V(2016)上有正在运行的虚拟机,但我看不到 - 如何发现更多?

Hyper-V(2016)上有正在运行的虚拟机,但我看不到 - 如何发现更多?

我们做了一些愚蠢的事情,“客户坚持”和“我们得到了错误的建议”都不是借口,但我需要帮助来清理。背景:

我们将一台新的 2019 Hyper-V 服务器添加到一组现有的四台 2016 服务器中,这些服务器在整个网络中进行复制(不涉及集群或共享存储)。(糟糕的)计划是,只要我们在 2016 上创建虚拟机,并且不从其配置版本 8 升级,我们就可以毫无问题地来回复制。

实际情况是,它似乎损坏了 2016 服务器的 data.vmcx 文件(也许还有 Hyper-V 为跟踪机器而保留的复杂结构中的其他文件)。在 2016 服务器上,如果虚拟机管理程序重新启动,虚拟机就会消失。尝试再次复制到它们时会出现“已存在”错误,尽管您看不到它们。似乎只有 Config 8 机器会出现这种情况,我们有一些 5 机器似乎没有出现这种情况。或者可能是 Gen 2 与 Gen 1 的问题,不确定是什么引发了这个问题。

我们最终在紧急模式下将 2 台 2016 年服务器升级到 2019 年服务器,并且正在订购一台新服务器,另外两台 2016 年服务器(太旧而无法运行 2019 年服务器)即将停用,但仍有一些正在进行的工作。

然而...我们今天发现(通过重复的 IP)一台 2016 服务器上至少有一台虚拟机已启动并正在运行,但不可见。它不会显示在 Hyper-V 管理器中,也不会显示在 Powershell 的 GET-VM 中。我相当确定它在重启后仍然可用(但目前无法验证该理论)。

大约需要一天时间我才能关闭最后一台 2016 服务器并让它消失。

我的问题是:有没有什么方法(不是 GET-VM 或 Hyper-V 管理器)可以查看 Hyper-V 2016 服务器上运行的 VM?然后杀死它们?

或者就此而言是 2019 年的服务器......我认为我们在升级过程中清除了所有垃圾(删除了 HyperV 角色,删除了 HyperV 程序数据下的整个文件夹,重新安装了 Hyper-V 角色),但最好确认只有显示的那些在运行。

是否有我可以查找的进程、正在运行的服务器的某些文件或注册表项?

如何在没有 Hyper-V 管理器或 Get-VM 的情况下查看正在运行的 VM?

是的,真正的解决方案是“不要这样做”。我明白了。但是“这样做”之后,有什么想法可以查看实际运行的内容吗?

答案1

在 Hyper-V 主机的任务管理器中,将出现虚拟机管理程序每个虚拟机都有一个进程(虚拟机工作进程)。终止这些进程将关闭相应的虚拟机。

在此处输入图片描述

相关内容