1、KVM批量管理脚本 [root@localhost ~]# cat kvm.sh #!/bin/bash echo echo "------显示当前所有虚拟机状态-----" virsh list --all list=`virsh list | awk 'NR > 2 {print $2}'` echo -e "1、重启\n2、关机\n3、开机\n4、强制关机\n5、开机自启\n6、显示未开机自启的主机\n7、取消单台主机开机自启\n8、查看主机网卡MAC地址\n" read -p "Ctrl+C退出,请输入对应数字:" NUM case $NUM in 1) echo "重启所有虚拟机开始。。。" echo for NAME in $list do virsh reboot $NAME done ;; 2) echo "关闭所有虚拟机开始。。。" echo for NAME in $list do virsh shutdown $NAME done ;; 3) echo "打开所有虚拟机开始。。。" echo for i in $(virsh list --name --inactive) do virsh start $i done ;; 4) echo "强制关闭所有虚拟机开始。。。" echo for NAME in $list do virsh destroy $NAME done ;; 5) echo "设置所有虚拟机自动开机开始。。。" echo for NAME in $list do virsh autostart $NAME done ;; 6) echo "未开机自启的机器如下:" echo virsh list --no-autostart | awk 'NR > 2 {print $2}' ;; 7) read -p "请输入需要取消开机自启的主机名称:" host virsh autostart --disable --domain $host ;; 8) read -p "请输入需要查询网卡MAC地址的主机名称:" host virsh dumpxml $host | grep mac | awk 'NR > 2 {print $2}' ;; *) echo "请输入数字1-7中任意一个" ;; esac #第二次case判断,如果不是执行开关机、重启等,无需显示执行结果,直接退出 case $NUM in [1-4]) echo "5秒后显示一次结果" sleep 5 virsh list --all echo "5秒后再显示一次结果" sleep 5 virsh list --all exit 0 ;; *) exit 0 ;; esac
2、Windows虚拟机硬盘扩容
virsh domblklist virsh domblklist win2008r2-clone qemu-img info /var/lib/libvirt/images/win2008r2-clone.qcow2 qemu-img resize /var/lib/libvirt/images/win2008r2-clone.qcow2 +20G qemu-img info /var/lib/libvirt/images/win2008r2-clone.qcow2 cd /var/lib/libvirt/images/ cd /etc/libvirt/qemu/ virsh define win2008r2-clone.xml
发表评论