运行 Hyper-V 的 Server 2022 卡在“关闭服务:Hyper-V 虚拟机管理” - 为什么?

运行 Hyper-V 的 Server 2022 卡在“关闭服务:Hyper-V 虚拟机管理” - 为什么?

我一直在 2012R2 上运行 HyperV,直到 EOL,从未遇到过此问题。新硬件,安装了 Windows Server 2022 Standard。创建了两个虚拟机,执行与以前相同的操作,一个 Web 服务器应用程序链接到数据库和许可证服务器,运行在第二台虚拟机上。一切都很好,除了关闭. 使用 Hyper-V 管理器(在主机上),我可以连接到虚拟机,并且可以对每个虚拟机执行关机 - 但即使一小时后,Hyper-V 管理器仍将其状态报告为“正在停止”,而不是已停止或关闭。

如何让虚拟机正常关闭?是什么原因导致虚拟机关闭延迟这么久?

按照其他线程上的建议 - 在主机上执行重新启动会导致卡在显示“关闭服务:Hyper-V 虚拟机管理”的屏幕上小时。最终,机器重新启动,一切似乎都正常。直到下次我需要进行更新并重新启动虚拟机和主机。我希望虚拟机能够关闭,而不会卡在“停止”状态。

来自另一个线程的一个解决此问题的建议运行 Hyper-V 的 Server 2016 卡在“正在关闭服务:Hyper-V 虚拟机管理” 是虚拟机的交换驱动器需要位于其自己的本地 C 驱动器上。这些虚拟机是这种情况,但主机不是这种情况。主机交换空间位于具有单独控制器的单独驱动器上。其他人是否也发现在主机交换驱动器位于不同控制器/驱动器上的虚拟机关闭时出现此卡住停止问题?如果其他人也遇到同样的问题,也许 Microsoft 可以意识到这种关联并修复此问题。

是的,我知道,我应该进行测试,重新配置主机上交换驱动器的位置,看看这是否能消除虚拟机卡住停止的问题。但是,这是一台生产服务器,我不喜欢在上面进行实验。

答案1

您可以在重新启动之前尝试运行 PowerShell 脚本来关闭虚拟机。

# Get all running virtual machines
$runningVMs = Get-VM | Where-Object {$_.State -eq 'Running'}

# Stop each virtual machine
foreach ($vm in $runningVMs) {
    Stop-VM -VM $vm
}

# Perform the server reboot
Restart-Computer -Force

但最佳做法是您拥有两个或更多 hyper-v 主机,并且进行实时迁移(从而清空主机中的虚拟机)然后重新启动。

相关内容