首先说下事件背景。XenServer有个神奇的问题状况,那就是有时候console连接虚拟机是hang住,管理员没办法重启,没办法关机,只能重新启动计算机,非常苦逼。

网上给了很多例子,都是让管理员自己输命令,说实话对于技术水平一般的管理员(比如九叔)来说,操作很麻烦,所以做个脚本才是正途

在XenServer中,用vi创建一个新的.sh文件

vi rebootvm.sh

输入下面的内容

echo "Please enter VM's name (full name)"
read jiqiid
echo $jiqiid
a3=`xe vm-list name-label=$jiqiid params=uuid|grep  uuid*|cut -c 17-50`
a4=`list_domains | grep $a3|cut -c 1-5`
/opt/xensource/debug/xenops destroy_domain -domid $a4

以后发现虚拟机有问题了,直接bash rebootvm.sh就可以了,根据提示输入hang住的虚拟机名字,然后耐心等待。