当前位置: 首页 > news >正文

qemu的snapshot快照功能的详细使用介绍

快照功能还是蛮有趣的,就是资料比较少,这边万能菜道人特意整理了一下。

参考内容:

QEMU checkpoint(snapshot) 使用-pudn.com

KVM&QEMU学习笔记(二)-蒲公英云 (dandelioncloud.cn)

在线迁移存储 - 爱码网 (likecs.com)

场景:

window下使用qemu启动debian10

镜像格式:qcow2

介绍

qemu的快照功能到底是什么?

QEMU的快照功能就是将虚拟机的磁盘信息与内存信息进行有选择的备份下来,然后提供了恢复的功能,这就允许用户在为虚拟机创建一份虚拟机的备份,以便在以后需要的时候可以快速恢复到该状态。

snapshot的分类?

应该大致分为两类:

磁盘快照

qemu-img.exe 命令行来创建

磁盘快照包含磁盘中的存储信息,包括文件夹、文件的内容等等。

只能离线,即虚拟机在关闭的状态下进行创建快照。(运行下磁盘内容可能不太稳定)

检查点(checkpoint)快照

qemu 的monitor监视器(运行起来使用ctrl+alt+2才能看到)来使用命令创建。

检查点快照除了包含磁盘快照的内容,还将正在运行的内存信息也包括在内。

必须在线,即虚拟机在运行的状态下进行场景快照,因为不运行哪来的正在运行的信息。

可以用于快速启动(即VM的挂起和恢复功能!)

使用细节

磁盘快照的使用细节

磁盘快照按道理应该可以保存为内部文件(qcow2镜像内)和外部文件(独立存在)。

保存在内部的磁盘快照
  1. 创建快照,运行以下命令:

qemu-img.exe snapshot -c snapshot_name vm_name.qcow2

其中,snapshot_name是您想要给快照命名的名称,vm_name.qcow2是要创建快照的虚拟机磁盘镜像的名称。该命令将创建一个名为snapshot_name的新快照。

  1. 使用快照就按之前能够正常运行的处理,你可以尝试添加和删除几个文件。

  1. 恢复快照:如果您想恢复到之前创建的快照,运行以下命令:

qemu-img.exe snapshot -a snapshot_name vm_name.qcow2

其中,snapshot_name是您之前创建的快照的名称,vm_name.qcow2是虚拟机磁盘镜像的名称。该命令将使虚拟机恢复到创建快照时的状态。

  1. 删除快照:

qemu-img.exe snapshot -d snapshot-name vm_name.qcow2
  1. 查看镜像中保存的快照列表:

qemu-img snapshot -l vm_name.qcow2

注意:尽量不要在虚拟机在运行的状态下来操作磁盘快照啊,可能会损坏的

保存在外部的磁盘快照

该内容和下面的检查点快照的使用细节中的独立存储的方式是一致的

思路就是:

  • 先创建一个child_image。

  • 然后在这个child_image上进行磁盘快照!

检查点快照的使用细节

检查点快照按道理应该也可以保存为内部文件(qcow2镜像内)和外部文件(独立存在)。

无论创建内部文件还是外部文件,都需要先启动虚拟机!

接着ctrl+alt+2进入monitor命令行:

保存在内部的检查点快照
  1. 创建内部文件:

创建保存在qcow2镜像内部的检查点快照:

savevm vm1

注意:该操作实际相当于挂起了一个虚拟机备份,后面可以使用loadvm进行恢复!

  1. 查看已存在的快照(包含磁盘快照和检查点快照,大小是不一样的)

info snapshots
  1. 直接加载内部快照

方式一:

qemu已经启动该镜像了,可以使用命令直接恢复

loadvm vm1

方式二:

启动虚拟机的脚本修改为如下格式:

qemu-system-x86_64.exe -m 2G -smp 2 -device e1000e,ne  ......  -accel tcg -hda myimg.qcow2 -loadvm vm1

注意将qcow2放到后面哦,体验一下三秒钟启动的惊艳感觉吧!

  1. 删除内部快照

delvm vm1

独立存储的检查点快照

  1. 创建外部文件

同样要使用minotor的命令,ctrl+alt+2:

这里先了解一下使用的ide0-hd0,可以使用一下命令查看来源:

info block

然后创建外部文件:

snapshot_blkdev ide0-hd0 vm1.qcow2 qcow2

然后就可以在文件夹中找到新的vm1.qcow2文件了!

你可能会发现这个vm1.qcow2的大小很小,就几M的样子。

那是因为外部快照存储的是新变化的内容,你刚刚启动的虚拟机镜像已经成为了base_image,不允许修改的啦!

即:

base_image.qcow2 -> vm1.qcow2 两个累加出来的虚拟机!

这个很小的vm1.qcow2可以作为我们支持独立的磁盘快照和检查点快照的基础

所以,所谓的独立存储就是在创建child_image基础之后,然后以这个child_image来做保存内部的磁盘快照,或者是检查点快照。

这里你应该发现在使用snapshot_blkdev之后,monitor的命令行已经在新的vm1.qcow2上了。

这时我们新建一个内部检查点快照:

savevm new_vm1

你会发现该vm1.qcow2会膨胀到一两百M左右,这表示检查点快照应该存储成功了。

来使用独立存储文件来启动检查点快照吧:

qemu-system-x86_64.exe -m 2G -smp 2 -device e1000e,ne  ......  -accel tcg -hda vm1.qcow2 -loadvm new_vm1

这样就启动成功了!

http://www.lryc.cn/news/8260.html

相关文章:

  • 谷歌关键词优化多少钱【2023年调研】
  • 凸包及其算法
  • 计算机网络学习笔记(二)物理层
  • 为什么职称要提前准备?
  • MyBatis详解1——相关配置
  • 字节青训营——秒杀系统设计学习笔记(三)
  • 每天一道大厂SQL题【Day10】电商分组TopK实战
  • 最全的免费录屏工具,这 19 款录屏软件绝对值得你收藏
  • vb.net计算之.net core基础(2)-发布应用
  • 微服务项目【商品秒杀接口压测及优化】
  • 1997. 访问完所有房间的第一天
  • 通达信交易接口以什么形式执行下单的?
  • CobaltStrike上线微信通知
  • 喜茶、奈雪的茶“花式”寻生路
  • Xstream使用教程
  • 【正点原子FPGA连载】第十一章PL SYSMON测量输入模拟电压 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南
  • 纷享销客百思特 | 数字化营销赋能企业新增长沙龙圆满落幕
  • oracle查看具体表占用空间 oracle查看表属于哪个用户
  • 2.Visual Studio下载和安装
  • 「4」线性代数(期末复习)
  • IDEA中使用tomcat8-maven-plugin插件
  • 2023年妇女节是哪一天 妇女节是2023年几月几日?
  • 如何运维多集群数据库?58 同城 NebulaGraph Database 运维实践
  • 尚医通(十四)Spring Cloud GateWay网关 | 跨域 | 权限认证
  • PO模式在Selenium中简单实践
  • KubeSphere
  • JAVA基础阶段面试题(关键点)必备
  • Shiro简介
  • cmu 445 poject 3笔记
  • CHAPTER 2 Zabbix界面操作