在XenServer中,碰到VM挂起(hang)的情况,也不是那么少见,而VM长时间挂起,那么很影响心情和后续的操作。

一般情况下,为了关闭VM或者重启VM,我们推荐这样的操作顺序:

  1. 进入到VM内,使用系统的关机或者重启功能
  2. 通过XenCenter的菜单选择ShutDown或者Restart。虽然这个菜单的实现是通过XenServer tool来控制系统的命令来实现,但是不保证在XenServer Tools工作异常的情况下,导致VM挂起(Hang),而且,这个应该也是VM挂起(XenCenter中VM标志处于×××状态)的主要原因。
  3. 尝试通过XenCenter菜单的Force Shutdown和Force Restart来强制操作。
如果这些操作都进行了以后,VM也长时间处于挂起状态,为了让VM能够关机,或者说是强制关机来重置其状态,我们有以下几种解决方法,这些解决方法的危害会逐渐增加,所以,请按顺序尝试:
1. 尝试重置VM的电源状态
xe vm-reset-powerstate force=true vm=
2.尝试重启toolstack
xe-toolstack-restart
尝试destroy domain
1.首先获取VM的UUID
xe vm-list name-label= params=uuid
2.获取VM的Domain ID
list_domains | grep
3.尝试重置hang状态的VM
/opt/xensource/debug/xenops destroy_domain -domid
到这里还不行,就可以强制VM进入崩溃状态
1.首先获取VM的UUID
xe vm-list name-label= params=uuid
2.获取VM的Domain ID
list_domains | grep
3.#手动触发VM的Crash机制
/usr/lib/xen/bin/crash_guest
如果连Crash机制都不起作用的情况下,那么就只剩下强制关闭XenServer主机电源一条途径了。
注:在Crash VM以后,VM会处于蓝屏状态,这个时候,可以再试试正常的关机或者强制关机命令来关闭虚机。
BTW:某些情况下,可能关机等操作会由于某些原因,导致操作延迟,而且取消也会失败,这个时候可能稍微多等一下就OK了。