zoukankan      html  css  js  c++  java
  • KVM 克隆系统

    kvm虚拟机的克隆分为两种情况,第一种kvm宿主机上对虚拟机直接克隆;第二种通过复制配置文件与磁盘文件的虚拟机复制克隆(适用于异机的静态迁移)。
     

    方法一:

    kvm宿主机上对虚拟机直接克隆(需要在关机或暂停的状态下操作)
     
    1、查看所有的虚拟机、以及需要克隆的虚拟机的硬盘文件的位置。
    [root@localhost ~]# virsh list --all
     Id    名称                         状态
    ----------------------------------------------------
     9     ehs-jboss-01                   running
     -     ehs-oracle-01                  关闭
     -     ehs-oracle-02                  关闭

    2、我们可以通过编辑需要克隆的源虚拟机配置文件,去发现它的磁盘文件位置,命令如下:

    [root@localhost ~]# virsh edit ehs-jboss-01
    ---如通过如下的内容,可以看出磁盘文件的位置
    <source file='/var/lib/libvirt/images/ehs-jboss-01.qcow2'/>

    3、开始克隆,将 ehs-jboss-01 虚拟机克隆成新的虚拟机 ehs-jboss-02,新的虚拟机的磁盘文件为 /var/lib/libvirt/images/ehs-jboss-02.qcow2

    [root@localhost ~]# virt-clone -o ehs-jboss-01 -n ehs-jboss-02 -f /var/lib/libvirt/images/ehs-jboss-02.qcow2
    正在分配 'ehs-jboss-02.qcow2'                                                                                                   |  20 GB  00:00:04     
    
    成功克隆 'ehs-jboss-02'
    4、这时克隆就完了、我们可以通过 virsh list --all  进行查看,如果需要删除克隆的虚拟机,我们只需要执行如下命令即可。
    该命令只是删除wintest01的配置文件,并不删除虚拟磁盘文件
    [root@localhost ~]# virsh undefine ehs-jboss-02
    域 ehs-jboss-02 已经被取消定义

    5、克隆后操作,登录新主机系统

    修改主机名
    [root@ehs-jboss-02 ~]# hostnamectl set-hostname ehs-jboss-02
    修改主机IP
    [root@ehs-jboss-02 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 

    方法二:

    复制配置文件与磁盘文件进行克隆(可以不用关闭源虚拟机)
    1、这里我们还是克隆kvm_client00,我们通过如下命令创建新虚拟机的配置文件
    [root@localhost ~]# virsh dumpxml ehs-jboss-01 > /etc/libvirt/qemu/ehs-jboss-02.xml

    2、复制原虚拟机的磁盘文件,通过方法一、我们知道,磁盘默认位置为/var/lib/libvirt/images,我们执行如下命令进行复制

    [root@localhost ~]# cd /var/lib/libvirt/images
    [root@localhost ~]# cp ehs-jboss-01.qcow2 ehs-jboss-02.qcow2
    3、直接编辑修改配置文件ehs-jboss-02.qcow2,修改name,uuid,disk文件位置,mac地址,vnc端口
     
    4、通过新虚拟机的配置文件,定义新的虚拟机,只需要执行如下一条命令即可。
    [root@localhost images]# virsh define /etc/libvirt/qemu/ehs-jboss-02.xml
    需要特别说明的是、以上两种方法克隆的虚拟机、我们都需要进入克隆的新虚拟机里
    修改网卡设备文件/etc/udev/rules.d/70-persistent-net.rules,或者直接将其删除,再重启克隆的目的虚拟机

    KVM克隆 快照

    #本机直接克隆
    virt-clone -o ehs-jboss-01 -n ehs-jboss-02 -f /var/lib/libvirt/images/ehs-jboss-02.qcow2
    #启动后,修改hostname、IP等
    virsh start test2
    
    #2 复制文件方法克隆(相当于备份配置+磁盘,可做迁移)
    virsh list --all
    virsh dumpxml ehs-jboss-01 > /etc/libvirt/qemu/ehs-jboss-02.xml
    cp /kvm/img/ehs-jboss-01.qcow2 /kvm/img/ehs-jboss-02.qcow2
    vim /etc/libvirt/qemu/ehs-jboss-02.xml #修改name、UUID、磁盘源、VNC端口
    virsh define /etc/libvirt/qemu/ehs-jboss-02.xml #重新定义配置文件
    virsh start ehs-jboss-02 #启动后,修改hostname、IP等( 删除/etc/udev/rules.d/70-persistent-net.rules )
    
    #3 连接克隆(磁盘qcow2格式作为一个快照使用,节省磁盘空间)
    cat /etc/sysconfig/network-scripts/ifcfg-eth0 #删除MAC绑定
    rm -f /etc/udev/rules.d/70-persistent-net.rules
    halt
    cd /kvm/img
    qemu-img create -f qcow2 -b test2.qcow2 test12.qcow2 #关键,创建连接磁盘
    virsh dumpxml test2 > /etc/libvirt/qemu/test12.xml
    vim /etc/libvirt/qemu/test12.xml #修改name、UUID
    virsh define /etc/libvirt/qemu/test12.xml
    
    #########################
    #快照 (内置)
    #qemu-img snapshot -l /kvm/img/test12.qcow2 #查看磁盘快照
    virsh snapshot-list test12 #查看快照
    virsh snapshot-create test12 #生成快照
    virsh snapshot-create-as test12 snap1 #自定义快照名
    virsh snapshot-revert test12 snap1 #快照恢复虚拟
    virsh snapshot-delete test12 snapname #删除指定快照
    virsh snapshot-current test12

    方法三:

     

     

     

  • 相关阅读:
    查看文件夹内各文件数目
    Resnet论文翻译
    查看keras自动给文件夹标号
    文件夹内自动图片遍历
    将wiki人脸数据集的性别信息提取出来制作标签
    将wiki人脸数据集中的图片按男女分类
    IPFS私有网络集群搭建
    带参数的函数增加装饰器
    【IPFS + 区块链 系列】 入门篇 — IPFS环境配置
    程序员那些事儿:技术骨干的烦恼
  • 原文地址:https://www.cnblogs.com/opma/p/11606996.html
Copyright © 2011-2022 走看看