当前位置: 首页 > 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

这样就启动成功了!

相关文章:

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

快照功能还是蛮有趣的,就是资料比较少,这边万能菜道人特意整理了一下。参考内容:QEMU checkpoint(snapshot) 使用-pudn.comKVM&QEMU学习笔记(二)-蒲公英云 (dandelioncloud.cn)在线迁移存储 - 爱码网 (likecs.com)…...

谷歌关键词优化多少钱【2023年调研】

本文主要分享Google关键词排名优化的一些成本调研,方便大家参考。 本文由光算创作,有可能会被剽窃和修改,我们佛系对待这种行为吧。 今年2023年了,谷歌关键词优化到底要多少钱? 答案是:价格在2w~25w左右…...

凸包及其算法

概念 凸包:一个能够将所有给定点围住的最小周长封闭图形。 稳定凸包:在当前组成凸包的点集 V0V_0V0​ 中新增一个不在凸包上的点,形成新点集 V1V_1V1​,若可以使 V1V_1V1​ 中所有点都在 V1V_1V1​ 的点的凸包上,则这…...

计算机网络学习笔记(二)物理层

物理层(传输比特0/1)基本概念 物理层下的传输媒体 1. 导引型 同轴电缆,双绞线(绞合可抵御干扰),光纤,电力线 2. 非导引型(调制振幅 频率 相位) 无线电波,微…...

为什么职称要提前准备?

职称反映专业技术人员的学术和技术水平、工作能力的工作成就,具有学衔、岗位两种性质。目前中国现状下,职称主要代表社会地位,就业经验,职称等级越高,越容易得到更高的社会经济和福利待遇。 职称通过申报、评审的形式…...

MyBatis详解1——相关配置

一、什么是MyBatis 1.定义:是一个优秀的持久层框架(ORM框架),它支持自定义 SQL、存储过程以及高级映射。MyBatis是一个用来更加简单的操作和读取数据库的工具。 2.支持的操作方式:xml或者注解实现操作(xm…...

字节青训营——秒杀系统设计学习笔记(三)

限流算法 限流顾名思义,就是对请求或并发数进行限制;通过对一个时间窗口内的请求量进行限制来保障系统的正常运行。如果我们的服务资源有限、处理能力有限,就需要对调用我们服务的上游请求进行限制,以防止自身服务由于资源耗尽而…...

每天一道大厂SQL题【Day10】电商分组TopK实战

每天一道大厂SQL题【Day10】电商分组TopK实战 大家好,我是Maynor。相信大家和我一样,都有一个大厂梦,作为一名资深大数据选手,深知SQL重要性,接下来我准备用100天时间,基于大数据岗面试中的经典SQL题&…...

最全的免费录屏工具,这 19 款录屏软件绝对值得你收藏

屏幕录制软件可让您捕获屏幕以与他人共享,创建与产品相关的视频、教程、课程、演示、视频等。这些软件是您能够从网络摄像头和屏幕录制视频。以下是精选的顶级屏幕录像机列表。 适用于 PC 的19 款免费录屏屏幕录像机软件 1)奇客免费录屏 奇客免费录屏&am…...

vb.net计算之.net core基础(2)-发布应用

目录 发布程序测试运行运行方式发布程序 首先,将编译配置改为Release 然后,发布应用,在生成菜单下。 选择发布到文件夹 继续选择文件夹 接着,完成 关闭 点击发布标签栏的发布按钮...

微服务项目【商品秒杀接口压测及优化】

生成测试用户 将UserUtils工具类导入到zmall-user模块中,运行生成测试用户信息,可根据自身电脑情况来生成用户数量。 UserUtils: package com.xujie.zmall.utils;import com.alibaba.nacos.common.utils.MD5Utils; import com.fasterxml.j…...

1997. 访问完所有房间的第一天

题目 你需要访问 n 个房间,房间从 0 到 n - 1 编号。同时,每一天都有一个日期编号,从 0 开始,依天数递增。你每天都会访问一个房间。 最开始的第 0 天,你访问 0 号房间。给你一个长度为 n 且 下标从 0 开始 的数组 n…...

通达信交易接口以什么形式执行下单的?

通达信程交易接口 以API形式来执行下单接口,一般不再需要通过接口系统之间进行连接,通过直接调用通达信dll交易函数的方式直接进行交易,包括下单,撤单,查询资金股份、当日委托、当日成交等方面都能很快的执行出来。以a…...

CobaltStrike上线微信通知

CobaltStrike上线微信通知 利用pushplus公众号(每天免费发送200条消息) http://www.pushplus.plus/push1.html 扫码登录后需要复制token 可以测试一下发送一下消息,手机会受到如下消息。可以在微信提示里将消息免打扰关闭(默认…...

喜茶、奈雪的茶“花式”寻生路

配图来自Canva可画 疫情全面开放不少人“阳了又阳”,电解质饮品成为热销品,梨子、橘子、柠檬等水果被卖断货,凉茶、黄桃罐头被抢购一空,喜茶的“多肉大橘”、奈雪的“霸气银耳炖梨”、蜜雪冰城的“棒打鲜橙”、沪上阿姨的“鲜炖整…...

Xstream使用教程

1.Xstream介绍 官网:https://x-stream.github.io/tutorial.html 介绍:XStream 对象序列化和反序列化为 XML的一个JAVA类库。JDK 1.4以上适用。 PS:与JAXB相比,Xstream更好用一些,像XStreamImplicit这种注解,我在JAX…...

【正点原子FPGA连载】第十一章PL SYSMON测量输入模拟电压 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南

1)实验平台:正点原子MPSoC开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id692450874670 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html 第十一章PL SYSM…...

纷享销客百思特 | 数字化营销赋能企业新增长沙龙圆满落幕

为进一步帮助企业客户实现数字化转型,纷享销客联合百思特管理咨询集团,于2月10日举办 “数字化营销赋能企业新增长”主题沙龙。本次活动以“新变革新增长”为主题,现场30余位制造企业高管齐聚一堂,共同探讨企业如何在当前复杂的宏…...

oracle查看具体表占用空间 oracle查看表属于哪个用户

文章目录前言oracle查看具体表占用空间1、查看表空间总大小、使用率、剩余空间2、查看具体表的占用空间大小3、查看表空间对应日志文件oracle查看表属于哪个用户1、oracle怎么查看表属于哪个用户2、Oracle查询视图所属用户3、Oracle查询存储过程所属用户总结前言 表空间是数据…...

2.Visual Studio下载和安装

Visual Studio 是微软提供的一个集成开发环境(IDE),主要用于为 Windows 系统开发应用程序。Visual Studio 提供了构建 .Net 平台应用程序的一站式服务,可以使用 Visual Studio 开发、调试和运行应用程序。 1、Visual Studio下载 …...

Leetcode 3576. Transform Array to All Equal Elements

Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到&#xf…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层&#xf…...

IT供电系统绝缘监测及故障定位解决方案

随着新能源的快速发展,光伏电站、储能系统及充电设备已广泛应用于现代能源网络。在光伏领域,IT供电系统凭借其持续供电性好、安全性高等优势成为光伏首选,但在长期运行中,例如老化、潮湿、隐裂、机械损伤等问题会影响光伏板绝缘层…...

select、poll、epoll 与 Reactor 模式

在高并发网络编程领域,高效处理大量连接和 I/O 事件是系统性能的关键。select、poll、epoll 作为 I/O 多路复用技术的代表,以及基于它们实现的 Reactor 模式,为开发者提供了强大的工具。本文将深入探讨这些技术的底层原理、优缺点。​ 一、I…...

大语言模型(LLM)中的KV缓存压缩与动态稀疏注意力机制设计

随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...

初探Service服务发现机制

1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源&#xf…...

【 java 虚拟机知识 第一篇 】

目录 1.内存模型 1.1.JVM内存模型的介绍 1.2.堆和栈的区别 1.3.栈的存储细节 1.4.堆的部分 1.5.程序计数器的作用 1.6.方法区的内容 1.7.字符串池 1.8.引用类型 1.9.内存泄漏与内存溢出 1.10.会出现内存溢出的结构 1.内存模型 1.1.JVM内存模型的介绍 内存模型主要分…...

CppCon 2015 学习:Time Programming Fundamentals

Civil Time 公历时间 特点: 共 6 个字段: Year(年)Month(月)Day(日)Hour(小时)Minute(分钟)Second(秒) 表示…...

Mysql故障排插与环境优化

前置知识点 最上层是一些客户端和连接服务,包含本 sock 通信和大多数jiyukehuduan/服务端工具实现的TCP/IP通信。主要完成一些简介处理、授权认证、及相关的安全方案等。在该层上引入了线程池的概念,为通过安全认证接入的客户端提供线程。同样在该层上可…...

【QT控件】显示类控件

目录 一、Label 二、LCD Number 三、ProgressBar 四、Calendar Widget QT专栏:QT_uyeonashi的博客-CSDN博客 一、Label QLabel 可以用来显示文本和图片. 核心属性如下 代码示例: 显示不同格式的文本 1) 在界面上创建三个 QLabel 尺寸放大一些. objectName 分别…...