QEMU checkpoint(snapshot) 使用
本文介绍了QEMU checkpoint的现状和使用方法
在操作QEMU之前,先了解一下KVM的快照具体有哪些种类:
KVM Snapshots分类
- 磁盘快照
- 根据快照信息的保存位置
- 内置快照:快照保存在虚拟机磁盘文件中
- 外置快照:快照保存在内置单独的文件中
- 根据虚拟机状态
- 关机快照:关机时执行
- 运行态快照:需要在虚拟机中安装agent,能够将缓存中的数据写入磁盘,保证数据的一致性
- 根据磁盘数量
- 单盘
- 多盘:原子性,把为虚拟机所有磁盘创建快照的操作当作一个原子操作,要么全部成功,要么全部失败
- 根据快照信息的保存位置
- 内存快照
- 将内存中系统运行的信息进行保存
- 检查点**(checkpoint)**快照
- 磁盘快照+内存快照,能够完整的保存虚拟机的状态
QEMU Snapshots类型
QEMU可以实现外置快照(offline状态下使用,用qemu-img命令实现)和检查点快照的功能(在QEMU Monitor中使用)
- 外置快照
- 通过qemu-img 命令实现
- offline 模式
- 磁盘快照,对磁盘格式有要求:如qcow2格式
- 不可以用来直接启动QEMU
- checkpoint快照
- 在QEMU Monitor 中通过命令创建
- QEMU运行时创建
- 保存当前虚拟机的完整状态
- 可以用快照直接启动QEMU
QEMU 外置快照
- qemu-img 命令简介
qemu-img 命令安装:
yum install -y qemu-kvm
apt-get install qemu-kvm
-
qemu-img 可以在offline模式下创建、转化和修改镜像。它可以操作QEMU所支持的所有镜像格式:如raw、qcow2、qcow、cow、vdi以及vmdk等
-
qemu-img create
- create [-q] [-f FMT] [-b BACKING_FILE [-F BACKING_FMT]] [-u] FILENAME [SIZE]
- 创建名为FILENAME、大小为SIZE的FMT格式镜像
- 指定BACKING_FILE,只记录镜像与BACKING_FILE的不同,可以通过commit命令获得完整镜像
-
qemu-img convert
- qemu-img convert –f fmt1 –O fmt2 [current-disk.fmt1] [new-disk.fmt2]
- 将fmt1格式的current-disk.fmt1转化为fmt2格式的new-disk.fmt2镜像
-
qemu-img snapshot
- Snapshot [-U] [-q] [-l | -a SNAPSHOT | -c SNAPSHOT | -d SNAPSHOT] FILENAME
- 列出(l)、应用(a)、创建©和删除(d)镜像FILENAME的快照SNAPSHOT
-
qemu-img snapshot不支持在raw格式的镜像上生成外置快照,所以先将raw格式的镜像转化为常用的QEMU镜像格式,如qcow2
-
qemu-img convert –f raw –O qcow2 your-disk.img your-disk.qcow2
-
-
创建外置快照
-
qemu-img snapshot -c snapshot-name your-disk.qcow2
-
-
查看某镜像快照
-
qemu-img snapshot -l your-disk.qcow2
-
-
删除快照
-
qemu-img snapshot -d snapshot-name your-disk.qcow2
-
-
应用快照,如某镜像拥有s1和s2两个快照,现将s1快照应用到该镜像,则该镜像恢复到s1
-
qemu-img snapshot -a s1 your-disk.qcow2
-
-
使用qemu-img创建的外置快照无法直接用来启动QEMU
-
qemu […] -hda your-disk.qcow2 -loadvm s1
-
QEMU checkpoint快照
-
通过QEMU Monitor 在QEMU 运行时拆功能键
-
-nographic模式切换QMP窗口
- 快捷键ctrl+a,再按c (切回QEMU终端相同)
-
创建checkpoint快照
-
(qemu) savevm snapshot-name
-
-
查看Checkpoint快照
-
(qemu) info snapshots
-
-
使用checkpoint快照
-
(qemu) loadvm snapshot-name
-
-
删除checkpoint快照
-
(qemu) delvm snapshot-name
-
-
QEMU checkpoint 快照可以用来直接启动QEMU
-
qemu […] -hda your-disk.qcow2 -loadvm ms2
-
例如直接进入ms2快照的保存目录
-