虚机快照解读

author author     2022-09-21     305

关键词:

一、什么是快照?

快照可保存虚拟机在特定时刻的状态和数据。

  • 状态包括虚拟机的电源状态(例如,打开电源、关闭电源、挂起)。

  • 数据包括组成虚拟机的所有文件。这包括磁盘、内存和其他设备(例如虚拟网络接口卡)。

虚拟机提供了多个用于创建和管理快照及快照链的操作。通过这些操作,您可以创建快照、还原到链中的任意快照以及移除快照。可以创建层层快照树。

二、创建快照

创建快照比较简单

注意:虚拟机内部状态的转储将包括在快照中。内存快照的创建时间要长一些,但其允许虚拟机还原到创建快照时的运行中的状态。默认情况下此选项处于选中状态。如果未选中该选项,并且未选中静默,快照将创建在崩溃后仍保持一致的文件,可用来重新引导虚拟机。

但如果是独立磁盘,则不能创建内存快照,NBU不能对独立磁盘的虚机创建备份。
注意:创建内存快照时,虚拟机完全处于停止状态

静默状态:在生成快照时虚拟机电源已打开,VMware Tools 将让虚拟机中的文件系统处于静默状态。静默文件系统是使物理或虚拟计算机的磁盘数据进入适合备份的状态的过程。此过程可能包括将脏缓冲从操作系统内存高速缓存刷新到磁盘,以及其他更高级别的应用程序特定任务。
注意:静默表示暂停或改变在计算机上运行的进程的状态,特别是可能会在备份过程中修改存储在磁盘上的信息的进程,以保证一致的可用备份。内存快照不需要静默,其主要用于备份。

三、快照命令和文件解析

创建快照时,快照将由以下文件组成:

    <vm>-<number>.vmdk 和 <vm>-<number>-delta.vmdk

    各个虚拟磁盘的 .vmdk 和 -delta.vmdk 文件的集合在快照生成时连接到虚拟机。这些文件可称为子磁盘、redo log、或增量链接。这些子磁盘稍后可以视为未来子磁盘的父磁盘。在原始父磁盘中,每个子磁盘将构建一个从虚拟磁盘的当前状态指回原始状态的 redo log(每次一步)。

    注意:
        <number> 值在相同快照的所有子磁盘中可能不一致。文件名基于文件名的可用性来选择。
        如果虚拟磁盘的大小大于 2TB,则 redo log 文件为 <vm>-<number>-sesparse.vmdk 格式。

    <vm>.vmsd

    .vmsd 文件是存储虚拟机快照信息的数据库,也是快照管理器信息的主要来源。该文件包含一些行条目,这些条目定义了快照之间以及每个快照的子磁盘之间的关系。

    <vm>Snapshot<number>.vmsn

    .vmsn 文件包含虚拟机的当前配置(也可包含虚拟机的活动状态)。捕获虚拟机的内存状态允许您还原到打开的虚拟机的状态。而使用非内存快照时,只能还原到已关闭的虚拟机的状态。创建内存快照比创建非内存快照需要更长时间。

四、深度解析

哪些产品使用快照功能?

除了可以使用快照管理器创建快照外,许多 VMware 以及第三方产品和功能也使用快照。广泛使用快照的一些 VMware 产品包括:

  • VMware Data Recovery

  • VMware Lab Manager

  • VMware vCenter 和 VMware Infrastructure Client(快照管理器、Storage vMotion)

注意:以上并不是详尽的列表。

快照如何工作?

我们的 VMware API 允许 VMware 和第三方产品利用虚拟机及其快照执行操作。以下是可以使用我们的 API 对虚拟机和快照执行的常见操作列表:

  • CreateSnapshot:创建新的虚拟机快照。作为一个副作用,该操作将更新当前快照。

  • RemoveSnapshot:移除快照并删除任何关联的存储。

  • RemoveAllSnapshots:移除所有与虚拟机关联的快照。如果虚拟机没有任何快照,则此操作仅会成功返回。

  • RevertToSnapshot:将虚拟机的执行状态更改为此快照的状态。这等同于使用 vSphere/VI Client GUI 时快照管理器下的“转至”选项。

  • Consolidate:合并 redo log 的层次结构。该操作仅在 vSphere 5.0 及更高版本中可用。

如下是在 VMware 环境中处理如何创建、移除或恢复快照请求的高级别概述:

  1. 创建、移除或恢复虚拟机快照的请求是使用 VMware API 从客户端发送到服务器。

  2. 该请求将转发到当前托管存在问题的虚拟机的 VMware ESX 主机。

    注意:只有在原始请求发送到其他服务器(例如管理 ESX 主机的 vCenter)时才会发生此情况。

  3. 如果快照包括内存选项,则 ESX 主机会将虚拟机内存写入磁盘。

    注意:在整个写入内存期间虚拟机将处于停止状态。无法预先计算停止时间的长度,该时间长度取决于存在问题的磁盘的性能和写入的内存量。ESXi/ESXi 4.x 和更高版本在写入内存时的停止时间较短。有关详细信息,请参见 Taking a snapshot with virtual machine memory stuns the virtual machine while the memory is written to disk (1013163)

  4. 如果快照包括静默选项,则 ESX 主机将请求客户机操作系统通过 VMware Tools 静默磁盘。

    注意:视客户机操作系统而定,静默操作可以通过同步驱动程序、vmsync 模块或 Microsoft 卷影复制服务 (VSS) 完成。有关静默的详细信息,请参见 Troubleshooting Volume Shadow Copy (VSS) quiesce related issues (1007696) 获取有关 VSS 的信息,或 A virtual machine can freeze under load when you take quiesced snapshots or use custom quiescing scripts (5962168) 获取有关 SYNC 驱动程序的信息。

  5. ESX 主机对虚拟机快照数据库(.vmsd 文件)进行相应的更改,这些更改反映在虚拟机的快照管理器中。

    注意:移除快照时,快照管理器中的快照实体是在对子磁盘进行更改之前移除的。从子磁盘继续运行虚拟机时,快照管理器不包含任何快照条目。有关详细信息,请参见 Committing snapshots when there are no snapshot entries in the snapshot manager (1002310)

  6. ESX 主机会调用与虚拟磁盘 API 函数类似的函数,对子磁盘(-delta.vmdk.vmdk 文件)和磁盘链进行更改。

    注意:移除快照期间,如果子磁盘很大,则操作可能需要较长时间。这可能导致 VirtualCenter 或 VMware Infrastructure Client 中出现超时错误消息。有关超时错误消息的详细信息,请参见 vCenter operation times out with the error:Operation failed since another task is in progress (1004790)

子磁盘

使用快照创建的子磁盘是稀疏磁盘。稀疏磁盘采用写入时复制 (COW) 机制,其中虚拟磁盘不包含任何数据,直到通过写入操作将数据复制到磁盘。此优化可节省存储空间。粒度是稀疏磁盘使用写入时复制机制的度量单位。每个粒度均是一个包含虚拟磁盘数据的扇区块。默认大小为 128 个扇区或 64 KB。

 

注意:稀疏磁盘通常创建为 VMFSSPARSE 类型。自 vSphere 5.5 开始,对于大小为 2TB 或更大的任意 vmdk,稀疏磁盘的类型均为 SESPARSE

子磁盘和磁盘使用情况

重要的是要注意以下有关子磁盘空间利用率的要点:

  • 如果虚拟机正在运行快照,则其正在对子磁盘或稀疏磁盘进行更改。对该磁盘执行的写入操作越多,该磁盘就会变得越大,直至达到上限(基础磁盘大小与少量开销之和)。

  • 在子磁盘的空间要求中,除了其所依赖的父磁盘的空间要求之外还有附加要求。如果虚拟机具有一个带子磁盘的 10 GB 磁盘,则使用的空间为 10 GB + 子磁盘的大小 + .vmsn 文件大小 + 开销。

  • 子磁盘会增长得很大,乃至填满整个数据存储,但这是因为包含数据存储的 LUN 不够大,无法容纳基础磁盘、已创建的快照数量、相关开销和已创建的 .vmsn 文件。

  • 子磁盘的增长速度直接取决于对磁盘执行的 I/O 量。

  • 子磁盘的大小对删除与子磁盘关联的快照所用的时间有直接影响。

有关子磁盘和磁盘使用情况的详细信息,请参见:


磁盘链

通常,首次创建快照时,将通过父磁盘创建第一个子磁盘。连续快照将从链上的最后一个子磁盘生成新的子磁盘。如果快照链中有多个分支,则关系可能会发生更改。

本文出自 “滴水穿石孙杰” 博客,请务必保留此出处http://xjsunjie.blog.51cto.com/999372/1969969

kvm虚机时间-快照管理(代码片段)

一快照管理1.1创建快照[root@k8s-01~]#virshsnapshot-createvm01-centos7已生成域快照1580475507[root@k8s-01~]#virshsnapshot-create-asvm01-centos7vm01-centos7-first-snap已生成域快照vm01-centos7-first-snap注意:1.快照实际上做的是虚拟机的XML配置文件,默认快照XML... 查看详情

记一次虚机强制断电k8s集群etcdpod挂掉快照丢失(没有备份)问题处理(代码片段)

写在前面不小心拔错电源了,虚机强制关机,开机后集群死掉了记录下解决方案断电导致etcd快照数据丢失,没有备份.基本上是没办法处理可以找专业的DBA来处理数据看有没有可能恢复这篇博文的解决办法是删除了etcd... 查看详情

论文解读系列-分布式数据流的轻量级异步快照

...保证。现有方法依赖于可用于故障恢复的周期性全局状态快照。这些方法有两个主要缺点。首先,他们经常拖延影响数据摄取的整体计算过程。其次,持久化存储所有传输中的记录以及算子状态,这会导致比所需的快照要更大。... 查看详情

kvm使用libvirt做qemu/kvm快照和nova实例的快照(代码片段)

...照相关的知识,以及在OpenStackNova中使用libvirt来对QEMU/KVM虚机做快照的过程。1.QEMU/KVM快照1.1概念QEMU/KVM快照的定义:磁盘快照:磁盘的内容(可能是虚机的全部磁盘或者部分磁盘)在某个时间点上被保存,然后可以被恢复。磁盘... 查看详情

记一次虚机强制断电k8s集群etcdpod挂掉快照丢失(没有备份)问题处理(代码片段)

写在前面不小心拔错电源了,虚机强制关机,开机后集群死掉了记录下解决方案断电导致etcd快照数据丢失,没有备份.基本上是没办法处理可以找专业的DBA来处理数据看有没有可能恢复这篇博文的解决办法是删除了etcd数据目录中... 查看详情

essd技术解读-01云原生时代,阿里云essd快照服务助力企业级数据保护

...#xff1a;本文以云原生为时代背景,介绍了阿里云块存储快照服务如何基于高性能ESSD云盘提升快照服务性能,提供轻量、实时的用户体验及揭秘背后的技术原理。依据行业发展及云上数据保护场景,为企业用户及备份厂... 查看详情

虚机cbt

现象:借助VMwareDataRecovery(VDR)、vSphereDataProtection(VDP)或利用更改块跟踪(CBT)来执行增量式虚拟机备份而同时在ESXi5.x主机上运行的任何第三方备份工具来运行虚拟机备份时,可能会遇到以下一个或所有症状:与通常情况相比,虚拟... 查看详情

虚机cbt

现象:借助VMwareDataRecovery(VDR)、vSphereDataProtection(VDP)或利用更改块跟踪(CBT)来执行增量式虚拟机备份而同时在ESXi5.x主机上运行的任何第三方备份工具来运行虚拟机备份时,可能会遇到以下一个或所有症状:与通常情况相比,虚拟... 查看详情

记一次虚机强制断电k8s集群etcdpod挂掉快照丢失(没有备份)问题处理(代码片段)

写在前面不小心拔错电源了,虚机强制关机,开机后集群死掉了记录下解决方案断电导致etcd快照数据丢失,没有备份.基本上是没办法处理可以找专业的DBA来处理数据看有没有可能恢复这篇博文的解决办法是删除了etcd... 查看详情

记一次虚机强制断电k8s集群etcdpod挂掉快照丢失(没有备份)问题处理(代码片段)

写在前面不小心拔错电源了,虚机强制关机,开机后集群死掉了记录下解决方案断电导致etcd快照数据丢失,没有备份.基本上是没办法处理可以找专业的DBA来处理数据看有没有可能恢复这篇博文的解决办法是删除了etcd... 查看详情

ceph中rbd的增量备份和恢复(代码片段)

...份和恢复ceph的文档地址:CephDocumentation?在调研OpenStack中虚机的备份和恢复时,发现OpenStack和ceph紧密结合,使用ceph做OpenStack的后端简直是不要太爽,于是调研了使用ceph中的块设备rbd来对虚机进行增量备份和恢复。以下是虚机备... 查看详情

essd技术解读云原生时代,阿里云块存储essd快照服务如何被企业级数据保护所集成?

简介:本文描述了阿里云块存储快照服务基于高性能ESSD云盘提升快照服务性能,提供轻量、实时的用户体验及揭秘背后的技术原理。依据行业发展及云上数据保护场景,为企业用户及备份厂商提供基于快照高级特性... 查看详情

深入解读flinkcdc增量快照框架

...天的介绍会围绕下面四点展开:FlinkCDC简介FlinkCDC增量快照算法FlinkCDC增量快照框架社区发展规划01FlinkCDC简介首先整体介绍一下FlinkCDC技术。FlinkCDC是基于数据库的日志CDC(ChangeDataCapture)技术,实现了全量和增量的... 查看详情

vmwarevsphere出现“需要整合虚拟机磁盘”的告警处理方法(完整版)

...uo;需要整合虚拟机磁盘”的告警处理步骤:1.选择对应虚机,快照——整合(不行看下一条)通常情况执行完第一步就好了2.如果整合报错,提示文件锁定2.1新建快照,在删除,在整合(不行看下一条)2.2迁移虚机存储... 查看详情

怎么备份vmware虚拟磁盘文件或移植到其他虚拟机

...是一个扩展名为vmdk的文件你可以备份这个文件(或备份虚机的整个文件夹)要移植到其他虚拟机,只要在这个虚机上添加硬盘,选择现有硬盘,找到vmdk文件挂载上去就行了 查看详情

esxi5单个虚拟机可以做多少个快照

参考技术A无限,但是!没那么多空间的,一个快照有时候相当于一台虚机的容量了,当然了如果你硬盘大那就不怕了,不过早晚有一天也有满的时候,最好的办法是保留最稳定的3个快照就行了 查看详情

essd技术解读-01云原生时代,阿里云块存储essd快照服务如何被企业级数据保护所集成?

简介: 本文描述了阿里云块存储快照服务基于高性能ESSD云盘提升快照服务性能,提供轻量、实时的用户体验及揭秘背后的技术原理。依据行业发展及云上数据保护场景,为企业用户及备份厂商提供基于快照高级特性... 查看详情

vagrant快速生成oracle21c数据库实验环境(代码片段)

笔记本空间有些紧张,原因是做实验让数据库虚机变大,以及有时不正常关机导致遗留虚机快照。今天重新生成了Oracle21c数据库实验环境。安装过程摧毁现有的虚机。vagrantdestroy清理VirtualBox中虚机的目录正常的话,虚... 查看详情