问题:
有谁知道当集群资源管理器发送信号时如何让 Windows 2012R2 虚拟机关闭?
背景:
我在 KVM 上将 Windows 2012R2 服务器作为虚拟机 (VM) 运行,使用 corosync/pacemaker 实现高可用性。要将 VM 从一个节点迁移到另一个节点,会向 VM 发送关闭信号。发出的命令是:
crm resource migrate p_virtdom_win2012R2
我相信这相当于:
virsh shutdown <vmname>
一旦机器断电,它就会在另一个节点上启动。
我遇到的问题是 Windows 2012R2 虚拟机似乎没有响应关机命令 - 并一直运行直到操作超时。
在虚拟硬件中启用 ACPI,并在 ubuntu 14.04 LTS 主机上安装 acpid。
如果我连接到控制台并“向上滑动”屏幕以显示登录屏幕,我可以让 migrate 命令工作,但是这对于高可用性系统是不切实际的,因为它应该在没有用户干预的情况下正常关闭。
历史:
我在使用 Windows 2008 服务器时遇到了同样的问题,并且能够通过使用以下组策略设置来解决它:
Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options\Interactive logon: Do not require CTRL + ALT + DEL
Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options\Shutdown: Allow system to be shut down without having to log on
这使机器保持在登录页面,在角落显示“关机”图标,并且可以正常迁移。
不幸的是,此设置不会将 Windows 2012R2 保留在登录屏幕上。相反,它似乎允许您向上滑动而不是按 CTRL + ALT + DEL 来访问登录页面。
我还在这里找到了一个建议:
https://hashtips.wordpress.com/2013/03/19/shutdown-windows-kvm-virtual-machine/
虚拟地“移动鼠标”以允许关机,但是登录到控制台并移动鼠标只会显示带有时间和日期的屏幕,似乎并不能解决问题。
编辑/注意:允许 Windows 2012 R2 VM 在不登录的情况下关闭的注册表编辑未在 Windows 2008 VM 上设置 - 仅需要组策略选项!