zoukankan      html  css  js  c++  java
  • kvm虚拟机快照备份

    kvm虚拟机默认使用raw格式的镜像格式,性能最好,速度最快,它的缺点就是不支持一些新的功能,如支持镜像,zlib磁盘压缩,AES加密等。   
    要使用镜像功能,磁盘格式必须为qcow2。下面开始kvm虚拟机快照备份的过程。

    本文出自:http://koumm.blog.51cto.com

    进一步的学习参考:kvm+libvirt虚拟机快照浅析 http://itxx.sinaapp.com/blog/content/130

    1.  查看现有磁盘镜像格式与转换

    (1) 查看磁盘格式

    # qemu-img info test01.img

    raw格式需要转换成qcow2

    image

    (2) 关闭虚拟机并转换磁盘

    # virsh shutdown oeltest01

    image

    (3) 转换磁盘格式

    # qemu-img convert -f raw -O qcow2 test01.img test01.qcow2 

    -f  源镜像的格式   
    -O 目标镜像的格式

    image

    查看转换后的格式,已经转换成了qcow2, 这里是拷贝一份,并将格式转成qcow2

    # qemu-img info test01.qcow2

    image

    2. 修改虚拟机配置文件

    修改磁盘格式,与新qcow2格式的磁盘。

    image

    3. 对虚拟机进行快照管理 

    (1) 对oeltest01虚拟机创建快照

    也可以virsh snapshot-create as oeltest01 snap1 创建后个快照别名。

    image

    (2) 查看虚拟机镜像快照的版本

    image

    (3) 查看当前虚拟机镜像快照的版本

    可以看到为当前最新的快照版本。

    [root@node1 data]#    
    [root@node1 data]# virsh snapshot-current oeltest01    
    <domainsnapshot>    
      <name>1378579737</name>    
      <state>shutoff</state>    
      <creationTime>1378579737</creationTime>    
      <memory snapshot='no'/>    
      <disks>    
        <disk name='hda' snapshot='internal'/>    
        <disk name='hdc' snapshot='no'/>    
      </disks>    
      <domain type='kvm'>    
        <name>oeltest01</name>    
        <uuid>8f2bb4a7-c7ed-32aa-3676-9fb05923269d</uuid>    
        <memory unit='KiB'>524288</memory>    
        <currentMemory unit='KiB'>524288</currentMemory>    
        <vcpu placement='static'>1</vcpu>    
        <os>    
          <type arch='x86_64' machine='rhel6.4.0'>hvm</type>    
          <boot dev='hd'/>    
        </os>    
        <features>    
          <acpi/>    
          <apic/>    
          <pae/>    
        </features>    
        <clock offset='localtime'/>    
        <on_poweroff>destroy</on_poweroff>    
        <on_reboot>restart</on_reboot>    
        <on_crash>restart</on_crash>    
        <devices>    
          <emulator>/usr/libexec/qemu-kvm</emulator>    
          <disk type='file' device='disk'>    
            <driver name='qemu' type='qcow2' cache='none'/>    
            <source file='/data/test01.qcow2'/>    
            <target dev='hda' bus='ide'/>    
            <address type='drive' controller='0' bus='0' target='0' unit='0'/>    
          </disk>    
          <disk type='block' device='cdrom'>    
            <driver name='qemu' type='raw'/>    
            <target dev='hdc' bus='ide'/>    
            <readonly/>    
            <address type='drive' controller='0' bus='1' target='0' unit='0'/>    
          </disk>    
          <controller type='ide' index='0'>    
            <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>    
          </controller>    
          <controller type='usb' index='0'/>    
          <interface type='bridge'>    
            <mac address='52:54:00:82:39:01'/>    
            <source bridge='br0'/>    
            <model type='virtio'/>    
            <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>    
          </interface>    
          <serial type='pty'>    
            <target port='0'/>    
          </serial>    
          <console type='pty'>    
            <target type='serial' port='0'/>    
          </console>    
          <input type='tablet' bus='usb'/>    
          <input type='mouse' bus='ps2'/>    
          <graphics type='vnc' port='5910' autoport='no' listen='0.0.0.0'>    
            <listen type='address' address='0.0.0.0'/>    
          </graphics>    
          <video>    
            <model type='cirrus' vram='9216' heads='1'/>    
            <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>    
          </video>    
          <memballoon model='virtio'>    
            <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>    
          </memballoon>    
        </devices>    
      </domain>    
    </domainsnapshot> 

    [root@node1 data]# 

    (4) 查看当前虚拟机镜像文件

    又创建了一个,快照的版本也记录在镜像文件中了。

    image

    快照配置文件在/var/lib/libvirt/qemu/snapshot/虚拟机名称/下

    image

    4. 恢复虚拟机快照

    (1) 恢复虚拟机快照必须关闭虚拟机。

    image

    确认虚拟机是关机状态

    image

    (2) 确认需要恢复的快照时间,这里恢复到1378579737

    image

    (3) 执行恢复,并确认恢复版本

    # virsh snapshot-revert oeltest01 1378579737 

    image

    5. 删除虚拟机快照

    (1) 查看虚拟机快照

    # qemu-img info test01.qcow2

    image

    这里删除第一个快照1378579737

    (2) 删除快照

    image

    到此kvm虚拟机快照测试完毕。kvm虚拟化学习笔记进行到这里了,感觉到kvm虚拟化的内容真的很多。水是越来越深了。

  • 相关阅读:
    Cocos 更新时反复杀进程,导致差异更新失效的Bug
    Cocos 编译android-studio
    Could not resolve all dependencies for configuration ':classpath'
    MAC Gradle 下载的问题
    命令行创建 keystore
    应用间共享文件 FileProvider
    Android jks 签名文件 生成
    Gradle 离线 安装
    信息
    Cocos Lua的Touch 点击事件添加
  • 原文地址:https://www.cnblogs.com/pigdragon/p/9506002.html
Copyright © 2011-2022 走看看