一文读懂VMware快照

一文读懂VMware快照

VMware快照是什么?

VMware快照Snapshot是一种强大的功能,允许用户在虚拟机(VM)上创建一个特定时间点的状态和数据副本。这包括电源状态(如开机、关机、挂起)以及所有组成VM的文件,例如磁盘、内存、虚拟网卡等。这是开发和测试环境中的一个重要工具,可以用作补丁测试或应用程序更改前的回滚点。

VM备份和VM快照有什么区别?

VM备份和快照之间的主要区别在于,备份是独立于源VM文件的VM副本,而快照则依赖于原始VM。
这就是为什么即使快照是VM的某个时间点的版本,包括VM的文件、状态和配置,它也不能用作vSphere VM备份。如果将快照用作备份,你可能会发现在发生故障后无法恢复数据和VM。

  • 快照依赖于用来创建它们的源虚拟机文件。快照可以被称为差异化磁盘,因为它们实际上是与“基础”磁盘相关的一组增量信息。由于这种子/增量磁盘与它们所依赖的基础磁盘之间的相互关系,它们有时被称为快照“链”。如果删除了快照所依赖的基础磁盘,则快照不包含重建已删除数据所需的数据。
  • 备份是独立的数据副本,它们允许重新创建虚拟机文件、磁盘和整个虚拟机注册信息,而不依赖于生产数据或包含在虚拟机中的虚拟磁盘。

VM快照的组成

快照由一系列文件构成,包括虚拟磁盘文件(.vmdk)、增量磁盘文件(-delta.vmdk 或 -sesparse.vmdk)、快照信息数据库(.vmsd)和包含VM配置及活动状态的文件(.vmsn)。这些文件一般存储在VM的工作目录中,这个位置是可以配置的。

  • 增量磁盘:VM_name-delta.vmdk,当你对虚拟机做快照时,虚拟磁盘的当前状态会被保留,同时生成一个增量的替代文件。后续的VM的操作系统所有写入操作会全部写到去这个delta文件,而不会写进原本虚拟机的虚拟硬盘vmdk文件上。
  • 内存状态文件:VM_name-Snapshot#.vmsn,其中#是序列中的下一个数字,从1开始。这个文件保存了快照被取时的内存状态。如果捕获了内存,该文件的大小就是虚拟机最大内存的大小。如果没有捕获内存,该文件会小得多。
  • 磁盘描述符文件:VM_name-00000#.vmdk。这个文件是一个包含快照信息的小文本文件。
  • 快照增量文件:VM_name-00000#-delta.vmdk。该文件包含快照取得时虚拟磁盘数据的变化。
  • VM_name.vmsd是快照列表文件,它在创建虚拟机时被创建。它维护虚拟机的快照信息,以便在vSphere Web Client中创建快照列表。这些信息包括快照.vmsn文件的名称和虚拟磁盘文件的名称。

管理快照时的注意事项:

  • 快照不是VM磁盘的备份,不应作为备份使用。
  • 快照文件会随时间增大,可能导致存储空间不足。
  • 快照链最多支持32个快照,为了维持性能,建议使用2到3个。
  • 单个快照不建议使用超过72小时,以避免影响性能。
  • 使用第三方备份软件时,确保备份成功后删除快照。

重点注意事项:删除快照/整合快照

整合或删除快照时,虚拟机有机会卡死。

原因是:快照删除时,ESXi主机会合并这个VM的虚拟磁盘文件vmdk和增量磁盘delta,这个过程的时间取决于自上次快照以来虚拟磁盘的数据变化量。

快照的创建时间越长,快照文件的文件越大,这个快照删除/快照整合的时间就越长。

所以整合或删除快照时,要确保没有其他VM任务运行,以保持数据完整。在快照整合过程中,VM可能会短暂无响应(stun),尤其是如果VM生成大量I/O或存储响应延迟时。

最后的建议:

虽然快照不是备份,但它们提供了一种恢复到已知状态的机制。然而,不应在生产环境中长期使用快照,也不应在VM上长时间保留,以防止性能下降和磁盘空间过度使用。

在任何规模的存储变更或增加磁盘空间之前,确保快照已被正确处理和删除,以避免数据损坏和丢失。

有VM问题需要协助?

免费试用VMware技术助理(已接Deepseek)!即时解答VM难题

→ 🤖VM技术助理

解析和诊断各类vCenter错误,ESXi日志,虚拟机vmware.log

→ 📕VMware日志分析器

图书推介 - 京东自营

24小时热门

还有更多VMware问题?

免费试下我们的VMware技术助理(已接Deepseek)!即时解答VM难题 → 🤖VM技术助理

试试 📕VMware日志分析器 免费诊断各类vCenter错误,ESXi日志,虚拟机vmware.log等等

########

扫码加入VM资源共享交流微信群(请备注加群

需要协助?或者只是想技术交流一下,直接联系我们!

推荐更多

vCenter 8.0U2 编辑旧硬件版本虚拟机设置失败问题
运维必备

vCenter 8.0U2 编辑旧硬件版本虚拟机设置失败问题

vCenter 8.0U2 编辑旧硬件版本虚拟机设置失败问题。详细解析 vCenter 8.0U2 中无法编辑硬件版本 9 及更低版本虚拟机设置的问题,提供两种临时解决方案和正式修复版本,帮助管理员快速恢复管理功能。 本文针对该问题提供了深度剖析与实测解决方案。

vSphere 8.x 集群所需状态不兼容的 vSwitch0 配置问题
运维必备

vSphere 8.x 集群所需状态不兼容的 vSwitch0 配置问题

vSphere 8.x 集群所需状态不兼容的 vSwitch0 配置问题。详细解析 vSphere 8.x 中集群所需状态配置报告不兼容的原因,重点说明 vSwitch0 bridge/nics configstore 不匹配问题,并提供 fixBridgeNic.py 脚本解决方案,帮助管理员快速恢复合规性。 本文针对该问题提供了深度剖析与实测解决方案。

vSphere 8.x Client 特定操作无响应的浏览器兼容性问题
运维必备

vSphere 8.x Client 特定操作无响应的浏览器兼容性问题

vSphere 8.x Client 特定操作无响应的浏览器兼容性问题。详细解析 vSphere 8.x Client 中某些操作无响应的原因,重点说明浏览器兼容性要求,并提供 PowerCLI 备用方法,帮助管理员快速解决问题。 本文针对该问题提供了深度剖析与实测解决方案。

vCenter vpxd 服务无法启动的 PostgreSQL 日志修复方法
运维必备

vCenter vpxd 服务无法启动的 PostgreSQL 日志修复方法

vCenter vpxd 服务无法启动的 PostgreSQL 日志修复方法。详细解析 vCenter Server 中 vpxd 服务无法启动的原因(PostgreSQL 事务日志损坏),并提供完整的 pg_resetxlog/pg_resetwal 修复步骤,帮助管理员快速恢复 vCenter 服务。 本文针对该问题提供了深度剖析与实测解决方案。

//omg10.com/4/9119499