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

原文地址:https://www.cnblogs.com/liucx/p/11777336.html

时间: 2024-11-07 19:58:14

KVM虚拟机快照备份的相关文章

kvm 虚拟机快照备份

raw相比qcow2就缺乏的三个功能,但都能通过别的方式解决:1.加密功能:把raw本身就当普通文件加密之搞定2.快照功能:把raw加入版本管理目录中,具体需要的设置可能稍微有点多.3.宿主机不支持按需打孔模式(hole):这个可以自己根据使用情况来扩展raw的最大值4.硬盘压缩:就当普通电脑文件压缩之即可 而raw有qcow2所无法媲美的功能:1.效率高于qcow22.直接读写虚拟机硬盘里面的文件,这比较"暴力",但既然可以这么暴力,那么也就不怕虚拟机出任何问题了.3.通用性好,是转

KVM虚拟机快照研究(一)

KVM虚拟机的快照用来保存虚拟机在某个时间点的内存.磁盘或者设备状态,如果将来有需要可以把虚拟机的状态回滚到这个时间点. 根据被做快照的对象不同,快照可以分为磁盘快照和内存快照,两者加起来构成了一个系统还原点,记录虚拟机在某个时间点的全部状态:根据做快照时虚拟机是否在运行,快照又可以分为在线快照和离线快照. 磁盘快照根据存储方式的不同,又分为内部快照和外部快照:内部快照只支持qcow2格式的虚拟机镜像,把快照及后续变动都保存在原来的qcow2文件内:外部快照在创建时,快照被保存在单独一个文件中,

KVM虚拟机快照链创建,合并,删除及回滚研究

1 QEMU,KVM,libvirt关系 QEMU QEMU提供了一个开源的服务器全虚拟化解决方案,它可以使你在特定平台的物理机上模拟出其它平台的处理器,比如在X86 CPU上虚拟出Power的CPU,此时的guest OS感觉不到虚拟机的存在,就像运行在物理机上,QEMU可以单独使用模拟CPU和各种外设,也可以作为一个用户空间工具和运行在内核中的KVM结合使用以充分发挥KVM的功能,QEMU的wiki KVM KVM是一个基于内核的虚拟机(Linux中一个可加载模块),在硬件支持虚拟化(int

KVM虚拟机快照(持续更新)

以前使用vmware和virtualbox时快照是常用的功能,并且也很好用.KVM的虚拟机操作方式: 一.内置快照     # 创建快照 [[email protected] ~]$ qemu-img snapshot -c networkNode_justInstall.img networkNode.img  # 查看虚拟机快照 [[email protected] ~]$ qemu-img snapshot -l networkNode.img  Snapshot list: ID    

KVM虚拟机快照

KVM默认的文件格式是raw,也就是使用文件来模拟实际的硬盘(当然也可以使用一块真实的硬盘或一个分区),不过raw格式只支持内存快照(就是启动的 时候加-snapshot,所有更改都写到内存),重启之后就没了. raw格式不支持磁盘快照,因此要使用qcow或qcow2文件格式. 1.kvm创建快照 创建快照有两个命令都能实现 a.snapshot-create # virsh snapshot-create rhel6.3 Domain snapshot 1420722577 created #

KVM虚拟机快照研究(二)

使用Python脚本操作快照 上一篇中介绍了KVM虚拟机各种快照的原理和命令行操作方法,由于磁盘外部快照最实用,所以本篇主要讲怎么利用Libvirt api操作磁盘外部快照.其中会涉及一些Libvirt api的基本用法,也会一起介绍. 操作环境 环境同上篇.Python与libvirt服务交互用的是libvirt模块:操作虚拟机的XML描述文件用的是xml.dom模块. 创建快照 我们要完成的功能是,给出一个虚拟机的名称,创建这个虚拟机的磁盘快照. 首先建立与libvirt服务的连接,然后根据

CentOS 6.9下KVM虚拟机快照创建、删除、恢复(转)

使用文件快照的方式实现文件备份,但单说快照(snapshot)的话,他是某一时间点(版本)你能看到的该时间点备份文件状态的全貌,通过文件的快照(全貌)你能恢复到特定时间点(版本)的文件状态. 创建虚拟机centos6的快照 virsh snapshot-create centos6 查看格式 qemu-img info /data/kvm/centos6.img 编辑centos6虚拟机的配置 比如转换格式 virsh edit centos6 创建快照要先转换为qcow2 格式 qemu-im

kvm虚拟机快照基本用法

virsh snapshot-create 虚拟机名称 ##创建快照 virsh snapshot-list 虚拟机名称 ##查看快照 virsh snapshot-revert 虚拟机名称 快照名 ##利用快照恢复数据 [[email protected] ~]# clone-vm7.4 请输入虚拟机号码:100正在创建镜像........[ok]正在创建虚拟机.......[ok][[email protected] ~]# virsh start host100 ##开虚拟机域 host1

KVM安装部署、快照备份及常用命令

KVM安装部署: 安装kvm虚拟机首先需要查看物理机的cpu是否支持虚拟化: [[email protected] ~]# cat /proc/cpuinfo | egrep 'vmx|svm' 找到flags部分,如果其中输出有VMX或SVM,即表明支持虚拟化技术. 如果物理机的cpu支持安装虚拟机,那么开始安装虚拟环境,如下: yum -y groupinstall "Virtualization" "Virtualization Client" "V