zoukankan      html  css  js  c++  java
  • Ubuntu12.10 下搭建基于KVM-QEMU的虚拟机环境(十三)

             今天我们实验libvirt提供的快照功能,快照可以用于系统恢复,防止安装了某些软件或中病毒等情况导致系统损毁的情况。

    一、快照类型

    1)        磁盘快照

    内部的:快照驻留在原来的镜像文件内部

    外部的:快照以一个新的外部独立文件的形式存在,在此之后,原镜像变成只读,所有改变记录到快照文件里

    磁盘快照由virsh snapshot-create命令创建

    2)        内存快照

    可以将虚拟机的内存信息记录到一个文件

    virsh save 命令创建

    3)        系统检查点

    1)  和2)的结合,类似休眠的功能。 

    二、快照命令

    Libvirt提供的Snapshot相关的命令有以下一些:

    Snapshot-create

    Snapshot-create-as

    Snapshot-current

    Snapshot-delete

    Snapshot-dumpxml

    Snapshot-edit

    Snapshot-info

    Snapshot-list

    Snapshot-parent

    Snapshot-revert

     

    1.        Snapshot-create

    Libvirt既支持在虚拟机关闭的情况下打快照,也支持在虚拟机运行的情况下打快照。今天重点实验在虚拟机运行的情况下打快照的情况。

    启动虚拟机(虚拟机域名是XP_VM)后,在virsh命令行下打一个snapshot的命令如下:

    Virsh # snapshot-create  XP_VM

    这个命令执行的是对XP_VM这个虚拟机执行磁盘和内存的snapshot,时间比较长,一般要花费5-10分钟,不是太实用。一般做快照的目的是防止镜像损毁,更关注的是只对磁盘打快照,而且希望把快照放在一个单独的镜像文件里。这时候我们就要用到一种外部快照的概念,方法如下:

    先禁用apparmor(否则做外部快照的时候会报Permission Denied),请参考链接:http://blog.csdn.net/hbsong75/article/details/9285753

    其次定义一个snapshot-create XML文件:

    <domainsnapshot>

      <name>snap1</name>

      <disk name='hda'  snapshot='external'>

          <driver  type='qcow2'/>

        </disk>

        <disk name='hdb'  snapshot='no'/>

    </domainsnapshot>

    上述定义说明为虚拟机的C盘(hda)做一个名字为<imageName>.snap1的外部快照;而D盘不需要做快照。该XML保存为domainsnapshot.xml

     第三,执行下面的命令:

    Virsh# snapshot-create XP_VM /opt/vm/xpvm1/domainsnapshot.xml –disk-only

    只对磁盘做外部快照执行就非常快,几秒钟就完成。

    第四,用snapshot-list命令检查快照列表:

    Virsh# snapshot-list XP_VM

    操作结果参考下图:

    另外,也可以到虚拟机镜像文件目录查看,可以发现xp_c.snap1, xp_c.snap2等也生成出来了,xp_c.snap2就是当前快照镜像,而原来的镜像xp_c.img成为了xp_c.snap1的母镜像,它成为只读了。而当前运行的C盘镜像已经是xp_c.snap2了(可以用 virsh dumpxml XP_VM 检查看看现在的虚拟机定义中的disk是怎么样的!)。

  • 相关阅读:
    算法-排序(二)-快速排序
    算法- 排序(一)
    python(十四)新式类和旧式类
    Python(十三)python的函数重载
    django(二)中间件与面向切面编程
    MySQL(二)MySQL的启动或链接失败
    django(一)验证码
    python(七) Python中单下划线和双下划线
    Python(十) Python 中的 *args 和 **kwargs
    python(六)列表推导式、字典推导式、集合推导式
  • 原文地址:https://www.cnblogs.com/dyllove98/p/3181521.html
Copyright © 2011-2022 走看看