关闭XenServer中挂起(hang)虚机的方法
状况说明:
1. HP4500 存储硬盘故障,导致XenServer 在b1san运行的VM主机无法宕机,出现蓝屏
2. 强制关机或重启,无法完成,出现两种情况:
1) 关机等很久,最后出现timeout无法完成;
2) 个别主机提示Another operation involving the object is currently in progress
3) 修复完成也无法启动,复制到vm0启动(vm0在bjna2上,空间剩余280G)
参考处理方法:
在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的电源状态
1) xe vm-reset-powerstate force=true vm= 2. 尝试重启toolstack 1) xe-toolstack-restart ##这步在整个过程中比较重要,之前跳过此步下面的操作的无效,后来回过头来重启这个服务后可以正常关闭异常的VM主机。 3. 尝试destroy domain #首先获取VM的UUID 1) xe vm-list name-label= #获取VM的Domain ID 2) list_domains | grep #尝试重置hang状态的VM 3) /opt/xensource/debug/xenops destroy_domain -domid 4. 到这里还不行,就可以强制VM进入崩溃状态 #首先获取VM的UUID xe vm-list name-label= #获取VM的Domain ID list_domains | grep #手动触发VM的Crash机制 /usr/lib/xen/bin/crash_guest 5. 如果连Crash机制都不起作用的情况下,那么就只剩下强制关闭XenServer主机电源一条途径了。 注:在Crash VM以后,VM会处于蓝屏状态,这个时候,可以再试试正常的关机或者强制关机命令来关闭虚机。 BTW:某些情况下,可能关机等操作会由于某些原因,导致操作延迟,而且取消也会失败,这个时候可能稍微多等一下就OK了。 因篇幅问题不能全部显示,请点此查看更多更全内容