编写shell脚本实现一键创建KVM虚拟机

Posted jrjs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编写shell脚本实现一键创建KVM虚拟机相关的知识,希望对你有一定的参考价值。

shell脚本一键创建虚拟机

代码如下:

#!/bin/bash
name=$1 #把位置变量$1重新定义为name(创建虚拟机的名字)
path1=/var/lib/libvirt/images/ #img存放路径
path2=/etc/libvirt/qemu/ #xml文件存放路径
function createkvm { #将创建虚拟机的命令定义为createkvm函数
  qemu-img create -f qcow2 -b ${path1}jrjs.img ${path1}${name}.img #根据后端模板jrjs.img文件创建一个新的镜像盘文件
  sed -e "s/jrjs/${name}/" ${path1}jrjs.xml > ${path2}${name}.xml #修改后端原始jrjs.xml文件重定向到一个新的xml文件
  virsh define ${path2}${name}.xml #定义xml文件
}
if [ $# == 0 ];then #判断用户是否输入参数
  echo "该脚本运行需要参数,如$0 test1 test2" #如果没有输入参数则返回“ ”的值
elif [ -e ${path1}${name}.img ];then #判断用户输入参数是否存在
  echo "该虚拟机名称已经存在!" #如果存在则返回“ ”的值
else
  for i in $* #若输入参数则将所有的参数开始循环($*代表所以位置变量的值)
    do
      createkvm $i #调用定义好的创建虚拟机函数,开始根据参数循环创建
    done
fi

  上述代码运行结果:

1.当用户没有输入参数时:

技术图片

 

 2.当用户输入参数时:

技术图片

3.当用户输入参数存在时:

技术图片

 

以上是关于编写shell脚本实现一键创建KVM虚拟机的主要内容,如果未能解决你的问题,请参考以下文章

kvm一键shell自动生成 windows 虚拟机,无人值守操作方案(step1)

shell脚本编程《linux下kvm虚拟机的创建开启显示停止重置》

shell脚本:不登陆KVM虚拟机,修改虚拟机网卡IP地址

KVM、QEMU和KQemu有啥区别?

shell脚本:查看KVM虚拟机中的网卡信息(不需要进入启动或进入虚拟机)

KVM+Qemu+Libvirt实战