题:
有没有人知道我怎么能得到Windows 2012R2虚拟机closures时,由群集资源pipe理器发送信号?
背景:
我在KVM上运行Windows 2012R2服务器作为虚拟机(VM),使用corosync / pacemaker实现高可用性。 要将虚拟机从一个节点迁移到另一个节点,虚拟机将发送closures信号。 发出的命令是:
crm resource migrate p_virtdom_win2012R2
我相信这相当于:
virsh shutdown <vmname>
一旦机器掉电,它就在另一个节点上启动。
我遇到的问题是Windows 2012R2虚拟机似乎没有响应关机命令 – 并保持运行,直到操作超时。
ACPI在虚拟硬件中启用,acpid安装在ubuntu 14.04 LTS主机上。
如果我连接到控制台并“滑动”屏幕以显示login屏幕,我可以使migrate命令工作,但是对于高可用性系统来说这是不实际的,因为它应该在没有用户干预的情况下正常closures。
历史:
我遇到了与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
这使机器保持在login页面,在angular落显示“关机”图标,并且适用于迁移。
不幸的是,这个设置并没有让Windows 2012 R2保持在login界面。 相反,它似乎允许您向上滑动而不是按CTRL + ALT + DEL访问login页面。
我也在这里find了一个build议:
Shutdown Windows KVM Virtual Machine
以虚拟的“移动鼠标”,让关机发生,但login到控制台和移动鼠标只显示屏幕上的时间和date,似乎并没有解决问题。
编辑/注意:registry编辑允许Windows 2012 R2虚拟机closures而不login没有在Windows 2008虚拟机上设置 – 只有组策略选项是必需的!
根据[1],ws2012r2中存在“允许系统closures而不login”策略。
所有KVM(呃,实际上是qemu)所做的就是发送一个ACPIclosures命令给客人,之后客人应该处理这个请求。 就像使用真正的硬件一样,另一种方法是手动closures或拉动电源( virsh destroy GUEST在libvirt动词中virsh destroy GUEST )
[1] https://technet.microsoft.com/en-us/library/jj852274(v=ws.11).aspx
以下是我在网上收集的一些附加说明:
修改以下以允许在不login的情况下关机:
此外,电源设置可能会影响机器响应ACPI命令的能力,因此修改以下内容也可能有所帮助: