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

1:分析脚本的目的

脚本,支持 老虚拟机名称 新虚拟机名称

2:任务拆解

a:生成虚拟机磁盘文件 qemu-img create -f qcow2 -b old_kvm.qcow2 new_kvm.qcow2
b:生成虚拟机的配置文件
c:导入虚拟机并进行启动测试
virsh define new_kvm.xml 
virsh start new_kvm
版本1:不支持传参
#!/bin/bash
qemu-img create -f qcow2 -b /data/web02.qcow2 /data/test.qcow2
virsh dumpxml web02 >/tmp/test.xml 
sed -ri 's#()(.)()#\1test\3#g'  /tmp/test.xml 
sed -i '//d' /tmp/test.xml 
sed -i '/)#\1/data/test.qcow2\3#g" /tmp/test.xml
virsh define /tmp/test.xml virsh start test
版本2:
#!/bin/bash 
new_vm=$1 
qemu-img create -f qcow2 -b /data/web02.qcow2   /data/${new_vm}.qcow2
virsh dumpxml web02 >/tmp/${new_vm}.xml 
sed -ri "s#()(.)()#\1${new_vm}\3#g" /tmp/${new_vm}.xml 
sed -i '//d' /tmp/${new_vm}.xml 
sed -i  '/)#\1/data/${new_vm}.qcow2\3#g"  tmp/${new_vm}.xml
virsh define /tmp/${new_vm}.xml 
virsh start ${new_vm}

版本3:

virsh dumpxml web01 >web03.xml
vim web03.xml
web03
8e505e25-5175-46ab-a9f6-feaa096daaa4


#!/bin/bash 
old_vm=$1 
new_vm=$2 
old_disk= virsh dumpxml $old_vm|grep "/tmp/${new_vm}.xml
sed -ri "s#()(.)()#\1${new_vm}\3#g" /tmp/${new_vm}.xml 
sed -i '//d'  /tmp/${new_vm}.xml 
sed -i '/)#\1${disk_tmp}/${new_vm}.qcow2\3#g" /tmp/${new_vm}.xml
virsh define /tmp/${new_vm}.xml virsh start ${new_vm}

你可能感兴趣的:(全自动链接克隆虚拟机脚本)