closureswindows server 2012R2 KVM虚拟机

题:

有没有人知道我怎么能得到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的情况下关机:

  • HKLM \ Software \ Microsoft \ Windows NT \ CurrentVersion \ winlogon – 将“ShutdownWithoutLogon”更改为1

此外,电源设置可能会影响机器响应ACPI命令的能力,因此修改以下内容也可能有所帮助:

  • HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Power \ PowerSettings \ 7516b95f-f776-4464-8c53-06167f40cc99 \ 8EC4B3A5-6868-48c2-BE75-4F3044BE88A7将“属性”值设置为2
  • “控制面板”>“系统和安全”>“电源选项”>当前电源计划中的“更改计划设置”>“更改高级电源设置”>“显示”并将“控制台locking显示closures超时”设置为0 )