强制关闭XenServer中非正常状态虚拟机的方法

  在XenServer中,经常会碰到正常在XenCenter控制台使用“关机”或“强制关机”的方法,无法正常关闭虚拟机,虚拟机长时间处于挂起状态。

  如果遇到上述问题,一般情况下,通过以下方法顺序操作,就可以正常关闭虚拟机。

尝试使用虚拟机控制命令强制关闭

1、在XenCenter控制台获取虚拟机的名称

2、使用xe vm-reset-powerstate命令强制关闭虚拟机

xe vm-reset-powerstate force=true vm=<虚拟机名称>
尝试重启toolStack

1、使用ssh工具连接服务器,如:putty

2、运行下面的命令重启toolstack

xe-toolstack-restart
尝试杀死虚拟机的Domain ID

1、使用xe vm-list命令获取虚拟机的UUID

xe vm-list name-label=<虚拟机名称>

2、使用list_domains命令获取虚拟机对应用的Domain ID

list_domains | grep <虚拟机 UUID>

3、重置挂起的虚拟机状态

/opt/xensource/debug/xenops destroy_domain -domid <虚拟机 domain id>
强制让虚拟机进入崩溃状态

1、获取虚拟机的UUID

xe vm-list name-label=<虚拟机名称>

2、获取虚拟机的Domain ID

list_domains | grep <虚拟机 UUID>

3、触发虚拟机的Crash机制

/usr/lib/xen/bin/crash_guest <虚拟机 domain ID>

  以上方法在XenServer 7.0之后的版本已经废弃不用。XenServer 7.0之后的版本,请使用以下方法重置挂起的虚拟机。

XENsERVER 7.0之后的版本处理方法

1、获取虚拟机的UUID

xe vm-list name-label=<虚拟机名称>

2、重置挂起的虚拟机

xl destroy <虚拟机 Domain ID>

3、虚拟机重置后回到XenCenter控制台打开虚拟机。如果虚拟机在XenCenter控制台显示为挂起状态,右击挂起的虚拟机选择“强制关机”,虚拟机显示为关闭状态后,再启动虚拟机。

重启主机

如果以上方法,都不能正常重置虚拟机,只有重启主机最后一种方法了。

发表回复