Hyper-V 使用什么机制来向 Linux 客户机发出信号以正常关闭?
CoreOS 不知何故可以正常关闭,但另一个 Linux 却不能(它只是突然关闭)
答案1
我明白了。随后的drivers/hv/hv_util.c
调用无法找到并且只进行了最少的清理。orderly_poweroff()
kernel/reboot.c
/sbin/poweroff
答案2
如果我没记错的话,Hyper v 集成就是导致这种情况的原因。我没有使用过 CoreOS,但通常这就是导致虚拟服务器正确关闭的原因。
在终端中,发出命令 lsmod。在 CoreOS 上,您将(如果我没记错的话)看到它列出了 Hyperv 服务(hv_vmbus、hv_netvsc 等),而在其他地方则没有。一些 Linux 发行版内置了它,而其他一些您可以添加它。如果不是,请在下方评论,我将删除此答案。
答案3
这并没有像您想知道的那样详细地回答您的问题。尽管如此,我还是想将其添加为答案,因为详细的技术答案几乎偏离了主题(不支持的环境)。
您想查看以下文档Hyper-V 上的 Linux 和 FreeBSD 虚拟机哪些发行版受支持。检查各个发行版和版本的部分,看看核受支持。
核
集成关机:
借助此功能,管理员可以从 Hyper-V 管理器关闭虚拟机。有关详细信息,请参阅操作系统关机。
来源:Hyper-V 上的 Linux 和 FreeBSD 虚拟机的功能描述
如果发行版不受支持,则不建议在生产中使用它们。即使有办法在未列出的发行版上实现支持。