virsh 快速复制一个虚拟机

在很多测试环境中,想快速复制一个虚拟机,如何实现?

  • 假如环境中已有一个虚拟机,查看虚拟机磁盘信息

    # virsh domblklist hc1
     Target   Source
    -------------------------------
     sda      /data/vms/hc1.qcow2
     hda      -
    
  • 复制一份镜像文件,复制一份虚拟机 xml,等新虚拟机去使用

    cp /data/vms/hc1.qcow2 /data/vms/hc2.qcow2
    cp /etc/libvirt/qemu/hc1.xml /etc/libvirt/qemu/hc2.xml
    
  • 对 hc2.xml 做修改,主要修改名称、uuid、新磁盘路径、网络(这部分不是绝对,根据需求增删改)

    # diff /etc/libvirt/qemu/hc1.xml /etc/libvirt/qemu/hc2.xml 
    4c4
    <   virsh edit hc1
    ---
    >   virsh edit hc2
    9,10c9,10
    <   <name>hc1</name>
    <   <uuid>6a74d86f-1891-479b-ac5c-28099f0d1ecf</uuid>
    ---
    >   <name>hc2</name>
    >   <uuid>aa74d86f-1891-479b-ac5c-28099f0d1eca</uuid>
    40c40
    <       <source file='/data/vms/hc1.qcow2'/>
    ---
    >       <source file='/data/vms/hc2.qcow2'/>
    
  • 由于环境中的 ip 是需要重新修改,我这里要对新虚拟机网络做以下调整(针对同一台主机修改网络配置)

        <interface type='bridge'>
          <mac address='20:ac:9c:22:c3:0e'/>
          <source bridge='ovsbr0'/>
          <virtualport type='openvswitch'>
            <parameters interfaceid='5677886d-9bfe-4990-9cb6-fb836912f018'/>
          </virtualport>
          <model type='virtio'/>
          <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
        </interface>
    
    

在这里插入图片描述

  • 1、删除新虚拟机xml中mac,否则会有冲突,删除mac后,重启虚机会自动生成,这样之后ens3 两个 mac 就不同了
    2、ip link / ovs-vsctl show 查看网络配置信息,两个机器 mac 一样 
    3、ovs-vsctl del-port ovsbr0 如果想让两个机器 ovsbr0 也不同,需要使用 ovs 相关命令重新配置网卡,但从原理角度分析,ovsbr0 最终的出口都是 ens0,所以如果不需要ovsbr0的化,我们可以把后面机器的ovsbr0 删去,让数据直接走ens3
    4、vim /etc/sysconfig/network-scripts/xxx 给ens3 配上网络信息
    5、systemctl restart network-scripts 重新生成网络
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值