在物理机中,操作系统崩溃后,一般会有Crashdump文件保存,用于分析导致系统崩溃的原因,而在XenServer中,也提供了这样一种机制用于保存Crashdump文件,并且相对于物理机,针对虚机的保护增加了Crashdump(宕机)后的保护操作,用于尽快的恢复业务的运行,保持业务连续性,比如,在VM崩溃以后,自动重启,或者为了稳定,暂时性的关闭虚机,再或者为了保存崩溃的上下文,保持崩溃状态等等操作。

为此,XenServer提供了crashdump behavior的设置选项用来配置宕机行为,不过由于Windows操作系统都是HVM完全虚拟化,所以crashdump不提供对windows系统的支持,只支持PV Guest,如大部分linux系统:

1
2
3
4
5
6
7
8
9
10
#获得VM的UUID
xe vm-list name-label=<vm-name> params=uuid --minimal
 
#设置VM的宕机行为action-after-crash
#preserve:保持虚机暂停状态
#coredump_and_restart:保存core dump文件,然后重启VM
#coredump_and_destroy:保存core dump文件,然后关机
#restart:直接重启(默认值)
#destroy:关机
xe vm-param-set uuid=<vm-uuid> actions-after-crash=coredump_and_restart

由于windows是完全虚拟化,Dom0对其缺乏足够的感知能力,所以,windows系统是不受actions-after-crash行为的控制,windows自身有崩溃处理的机制,所以可以依靠windows系统来保全状态和分析。

具体设置可以参考:计算机(我的电脑)->属性->高级->启动和故障恢复