kvm虚拟机自动创建删除脚本

tech2025-03-20  5

准备:一个模板机的磁盘文件及配置文件 功能:1.创建自定义配置单个虚拟机 2.批量创建自定义配置虚拟机 3.批量创建默认配置虚拟机 4.删除虚拟机(这里还可以修改,这里只实现了删除一个虚拟机) *注意:我们要把配置文件复制一份,然后修改复制得到的,将其需要替换的用相应的字符串替换,mac地址只替换后面三组,具体替换成啥参考sed语句里的,下面的源配置用的是复制修改后的。

#!/usr/bin/bash batch_selt_define (){ kvmname=openssl rand -hex 5 #随机产生新机子的配置文件和镜像文件name sourceimg=/var/lib/libvirt/images/vm10.img sourcexml=/etc/libvirt/qemu/vm10-1.xml newimg=/var/lib/libvirt/images/ k v m n a m e . i m g n e w x m l = / e t c / l i b v i r t / q e m u / {kvmname}.img newxml=/etc/libvirt/qemu/ kvmname.imgnewxml=/etc/libvirt/qemu/{kvmname}.xml cp $sourceimg $newimg #产生新机子的img文件 cp $sourcexml KaTeX parse error: Expected 'EOF', got '#' at position 17: …ewxml #̲产生新机子的xml文件 ##…{1}000000 #修改内存 newcpu=KaTeX parse error: Expected 'EOF', got '#' at position 5: 2 #̲修改cpu #修改新…kvmname#;s#kvmuuid#KaTeX parse error: Expected 'EOF', got '#' at position 8: newuuid#̲;s#kvmmen#newmen#;s#kvmcpu#KaTeX parse error: Expected 'EOF', got '#' at position 7: newcpu#̲;s#kvmimg#newimg#;s#kvmmac#$newmac#" $newxml virsh define $newxml virsh list --all } input () { read -p "请输入你要创建的个数: " num read -p “请输入你要创建的内存大小:” men read -p “请输入你要创建的cpu个数:” cpu }

cat << EOF 1.创建自定义配置单个虚拟机 2.批量创建自定义配置虚拟机 3.批量创建默认配置虚拟机 4.删除虚拟机 EOF read -p "请输入你要选择的操作1|2|3|4 " var case $var in 1) read -p “请输入你要创建的内存大小:” men read -p “请输入你要创建的cpu个数:” cpu batch_selt_define $men c p u ; ; 2 ) r e a d − p " 请 输 入 你 要 创 建 的 个 数 : " n u m r e a d − p " 请 输 入 你 要 创 建 的 内 存 大 小 : " m e n r e a d − p " 请 输 入 你 要 创 建 的 c p u 个 数 : " c p u f o r ( ( i = 1 ; i < = cpu ;; 2) read -p "请输入你要创建的个数: " num read -p "请输入你要创建的内存大小:" men read -p "请输入你要创建的cpu个数:" cpu for (( i=1;i<= cpu;;2)readp":"numreadp""menreadp"cpu"cpufor((i=1;i<=num;i++)) do batch_selt_define $men c p u d o n e ; ; 3 ) r e a d − p " 请 输 入 你 要 创 建 的 个 数 : " n u m f o r ( ( i = 1 ; i < = cpu done ;; 3) read -p "请输入你要创建的个数: " num for (( i=1;i<= cpudone;;3)readp":"numfor((i=1;i<=num;i++)) do batch_selt_define 1 1 done ;; 4) virsh list --all read -p “请输入要删除的主机名!” name virsh undefine n a m e r m − r f / v a r / l i b / l i b v i r t / i m a g e s / name rm -rf /var/lib/libvirt/images/ namermrf/var/lib/libvirt/images/{name}.img rm -rf /etc/libvirt/qemu/${name}.xml esac

最新回复(0)