温馨提示:这篇文章已超过736天没有更新,请注意相关的内容是否还可用!
前言:
写一个KVM克隆链接的虚拟机脚本,虚拟机名字、磁盘路径、配置文件由自己传参指定,增加脚本的灵活性!
脚本内容
[root@KVM data]# cat /root/Clone_virtual_machine #!/bin/bash #定义虚拟机名 echo 'Please enter a new clone name ' read vhost #定义旧的磁盘文件路径(需要自己准备) echo 'Old disk path' read odisk #定义新的磁盘文件路径 echo 'New disk path' read ndisk #生成新的磁盘文件 qemu-img create -f qcow2 -b $odisk $ndisk.qcow2 #指定新的虚拟机配置文件模板(需要自己准备) echo 'Specifies the path of the new virtual machine profile template' read template #修改虚拟机名字 sed -ri "s#(<name>)(.*)(</name>)#\1$vhost\3#g" $template #删除uuid sed -i "/<uuid>/d" $template #删除mac地址 sed -i "/mac address/d" $template #修改磁盘类型 sed -ri "s#(<driver name='qemu' type=')(.*)('/>)#\1qcow2\3#g" $template #修改磁盘路径 sed -ri "s#( <source file=')(.*)('/>)#\1$ndisk.qcow2\3#g" $template #配置导入虚拟机并启动 virsh define $template virsh start $vhost
执行脚本
准备好配置文件模板和一个磁盘文件,方便克隆
[root@KVM data]# virsh dumpxml centos7.2 > /opt/template.xml [root@KVM data]# ll /opt/ 总用量 2614156 -rw-------. 1 root root 10737418240 11月 22 16:59 Centos7.raw -rw-r--r--. 1 qemu qemu 1020264448 11月 22 09:37 CentOS-7-x86_64-Minimal-2009.iso -rw-r--r--. 1 root root 5498 11月 22 10:11 centos7.xml drwxr-xr-x. 2 root root 6 10月 31 2018 rh -rw-r--r--. 1 root root 4001 11月 24 19:18 template.xml
将使用到的Centos7.raw磁盘文件和template配置模板文件
执行脚本:
输入你克隆主机新名字(实验写clone_test)
输入刚刚准备好的磁盘文件路径
创建一个新的磁盘文件(输入新磁盘文件路径,一般写磁盘储存路径+虚拟机名字,这样就可以知道硬盘与哪个虚拟机相连接)
输入你准备好模板配置文件
克隆成功
温馨提示:
此脚本适合单硬盘虚拟机克隆,如果是多硬盘的虚拟机,那么虚拟机的配置文件硬盘参数还需自己根据实际情况手动修改!
文章版权声明:除非注明,否则均为柳三千运维录原创文章,转载或复制请以超链接形式并注明出处。