KVM之全自动链接克隆虚拟机脚本

柳三千

温馨提示:这篇文章已超过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配置模板文件

图片.png


执行脚本:

输入你克隆主机新名字(实验写clone_test)

图片.png


输入刚刚准备好的磁盘文件路径

图片.png


创建一个新的磁盘文件(输入新磁盘文件路径,一般写磁盘储存路径+虚拟机名字,这样就可以知道硬盘与哪个虚拟机相连接)

图片.png


输入你准备好模板配置文件

图片.png


克隆成功

图片.png

图片.png

温馨提示:

  此脚本适合单硬盘虚拟机克隆,如果是多硬盘的虚拟机,那么虚拟机的配置文件硬盘参数还需自己根据实际情况手动修改!

文章版权声明:除非注明,否则均为柳三千运维录原创文章,转载或复制请以超链接形式并注明出处。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码