有时候临时需要开启某一台虚拟机,而PC客户端也没有安装XenCenter客户端。这个时候,我们就可以使用SSH工具连接到Xenserver进行虚拟机管理。
这里我给大家准备了一个简单好用的脚本。脚本运行逻辑主要如下。
- 通过Xe vm-list命令,例如所有虚拟机信息。
- 通过awk命令过滤出虚拟机状态及名称。
- 通过sed命令把虚拟机状态替换成中文提示
- 通过Xe vm-(start,shutdown)name-lable=虚拟机名称,进行电源关机操作。
- 直接复制代码框内容到Xenserver上,然后bash执行,无需修改。
备注:xe vm-shutdown vm=虚拟机名称 force=true 此命令是强制关机。
vm_all=`xe vm-list | awk '/name-label/||/power-state/{print $NF}' | xargs -n2 | sort | sed '/ng$/s/running/已开机/g' | sed '/ed$/s/halted/已关机/g'| cat -n`
echo "你有如下虚拟机"
echo "$vm_all"
read -p "请输入对应虚拟机序号执行以下操作" a
read -p "关机输入g,开机输入s:" b
vm=`xe vm-list | awk '/name-label/{print $NF}' | sort | sed "$a"p -n`
if [ $b = s ];then
xe vm-start name-label=$vm
echo "已启动虚拟机$vm"
elif [ $b = g ];then
xe vm-shutdown name-label=$vm
else
echo "输入指令错误"
fi