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

    KVM 快照的定义:快照就是将虚机在某一个时间点上的磁盘、内存和设备状态保存一下,以备将来之用。它包括以下几类:

    (1)磁盘快照:磁盘的内容(可能是虚机的全部磁盘或者部分磁盘)在某个时间点上被保存,然后可以被恢复。

    磁盘数据的保存状态:

    在一个运行着的系统上,一个磁盘快照很可能只是崩溃一致的(crash-consistent) 而不是完整一致(clean)的,也是说它所保存的磁盘状态可能相当于机器突然掉电时硬盘数据的状态,机器重启后需要通过 fsck 或者别的工具来恢复到完整一致的状态(类似于 Windows 机器在断电后会执行文件检查)。(注:命令 qemu-img check -f qcow2 --output=qcow2 -r all filename-img.qcow2 可以对 qcow2 和 vid 格式的镜像做一致性检查。)

    对一个非运行中的虚机来说,如果上次虚机关闭的时候磁盘是完整一致的,那么其被快照的磁盘快照也将是完整一致的。

    磁盘快照有两种:

       内部快照 - 使用单个的 qcow2 的文件来保存快照和快照之后的改动。这种快照是 libvirt 的默认行为,现在的支持很完善(创建、回滚和删除),但是只能针对 qcow2 格式的磁盘镜像文件,而且其过程较慢等。

       外部快照 - 快照是一个只读文件,快照之后的修改是另一个 qcow2 文件中。外置快照可以针对各种格式的磁盘镜像文件。外置快照的结果是形成一个 qcow2 文件链:original <- snap1 <- snap2 <- snap3。

    (2)内存状态(或者虚机状态):只是保持内存和虚机使用的其它资源的状态。如果虚机状态快照在做和恢复之间磁盘没有被修改,那么虚机将保持一个持续的状态;如果被修改了,那么很可能导致数据corruption。

    系统还原点(system checkpoint):虚机的所有磁盘的快照和内存状态快照的集合,可用于恢复完整的系统状态(类似于系统休眠)。

     

    一、内存(状态)快照   virsh save     ---不建议

    对运行中的 CentOS7运行 “virsh save” 命令。命令执行完成后,CentOS7变成 “shut off” 状态。

    创建快照

    virsh list
    virsh save --bypass-cache CentOS7  /opt/backup/vm1_save --running

    内存数据被保存到 raw 格式的文件中。要恢复的时候,可以运行 “vish restore /opt/backup/vm1_save” 命令从保存的文件上恢复。

    二、磁盘快照   virsh snapshot-create-as

    1.创建快照备份

    virsh snapshot-create-as --domain CentOS7 --name snap-test1 --description "URL: www.test.com"
    virsh snapshot-list CentOS7

    2.查看当前虚拟机镜像文件

    qemu-img  info /opt/kvm/centos7.img
    

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

    3.恢复虚拟机快照

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

    virsh  list –all
    virsh shutdown CentOS7

    确认虚拟机是关机状态

     

    (2) 确认需要恢复的快照时间,然后确定恢复到snap-test1

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

    4.删除虚拟机快照

    virsh snapshot-delete CentOS7 snap-test1

    参考文档:https://www.cnblogs.com/sammyliu/p/4468757.html

  • 相关阅读:
    STL 源代码分析 算法 stl_algo.h -- includes
    Objective-c 算术函数和常量代表
    文件比较,文件夹比较-- vimdiff,beyond compare, compare suite, WinMerge,Kdiff3
    PHP+lghttpd + postgresql 环境搭建
    开源免费跨平台opengl opencv webgl gtk blender, opengl贴图程序
    expect 参数处理之一
    几款屏幕录制软件 ActivePresente
    gcc -D 传值给代码,默认值为1
    error: /usr/include/stdio.h: Permission denied 的一种情况分析
    linux内核编译环境配置
  • 原文地址:https://www.cnblogs.com/liucx/p/11777336.html
Copyright © 2011-2022 走看看