当您执行快照时将保留虚拟机的状况和数据。生成虚拟机快照时,将复制并存储处于给定状态的虚拟机映像。

需要多次恢复至某个虚拟机状态但不希望创建多个虚拟机时,快照会很有用。

可以对虚拟机执行多个快照,以便按照线性过程创建还原位置。使用多个快照,还可保存多个位置以供多种工作流程使用。快照可对单个虚拟机生成。生成多个虚拟机的快照时,例如为组中每个成员的虚拟机生成快照,需要为每个组成员的虚拟机单独生成快照。

作为测试软件是否具有未知或潜在不利影响的短期解决方案,快照非常有用。例如,您可将快照用作线性或迭代过程(如安装更新包)或分支过程(如安装不同版本的程序)中的还原点。使用快照可确保每次安装从相同基准开始。

通过快照,可以在更改虚拟机之前保留基准。

vSphere Client 中提供多个操作,用于创建和管理虚拟机快照和快照树。通过这些操作,可以创建快照,恢复快照层次结构中的任意快照,删除快照等。可以创建快照树,用于保存任意特定时间的虚拟机状态,以便稍后可以恢复该虚拟机状态。快照树中的每个分支最多可有 32 个快照。

快照保留以下信息:

  • 虚拟机设置。虚拟机目录,包含执行快照后添加或更改的磁盘。
  • 电源状况。虚拟机可以打开电源、关闭电源或挂起。
  • 磁盘状况。所有虚拟机的虚拟磁盘的状况。
  • (可选)内存状况。虚拟机内存的内容。

快照层次结构

vSphere Client 将快照层次结构显示为带有一个或多个分支的树。层次结构中的快照具有父子关系。在线性过程中,除最后一个快照没有子快照之外,每个快照都有一个父快照和一个子快照。每个父快照均可以有多个子快照。可以恢复到当前父快照或快照树中的任意父快照或子快照,并从该快照创建多个快照。每次恢复快照并生成另一个快照时,都会创建一个分支(子快照)。

父快照
您创建的第一个虚拟机快照是基础父快照。父快照就是最近保存的虚拟机版本的当前状况。执行快照会为每个连接到虚拟机的磁盘创建增量磁盘文件以及可选的内存文件。增量磁盘文件和内存文件会随基本 .vmdk 文件一起存储。父快照始终是显示在快照管理器中 您在此处图标正上方的快照。如果恢复快照,则该快照将成为 您在此处当前状况的父快照。
注: 父快照并不总是最近执行的快照。
子快照
先执行父快照,然后再执行虚拟机快照。各子快照包含所连接的每个虚拟磁盘的增量文件,可能还包含指向虚拟磁盘当前状况(您在此处)的内存文件。各个子快照的增量文件与上一个子快照相互进行合并,直至到达父磁盘。子磁盘稍后可以成为未来子磁盘的父磁盘。

如果快照树中有多个分支,则父快照与子快照之间的关系可以发生更改。父快照可以有多个子快照。许多快照都没有子快照。

小心: 请勿手动操作各个子磁盘或任何快照配置文件,因为这样做会危及快照树安全并导致数据丢失。此限制包括使用 vmkfstools 命令进行磁盘大小调整和对基础父磁盘进行修改。

快照行为

执行快照时,将通过为每个连接的虚拟磁盘或虚拟 RDM 创建一系列增量磁盘来保留特定时间的磁盘状况;也可以通过创建内存文件,保留内存状况和电源状况。执行快照会在快照管理器中创建一个表示虚拟机状态和设置的快照对象。

每个快照都创建了一个附加增量 .vmdk 磁盘文件。执行快照时,快照机制会阻止客户机操作系统写入基础 .vmdk 文件,而将所有写入定向到增量磁盘文件。增量磁盘表示虚拟磁盘的当前状况和上次执行快照时存在的状况之间的差异。如果存在多个快照,则增量磁盘可表示每个快照之间的差异。如果客户机操作系统写入虚拟磁盘的每个块,则增量磁盘文件可以快速扩展并变得与整个虚拟磁盘的大小相同。

快照文件和限制

创建快照时,可以捕获虚拟机设置和虚拟磁盘的状况。如果创建内存快照,还将可以捕获虚拟机的内存状况。这些状态将保存到与虚拟机的基础文件一起驻留的文件中。

快照文件

快照由存储在受支持的存储设备上的文件组成。生成快照操作会创建 .vmdk-delta.vmdk-sesparse.vmdk.vmsd.vmsn 文件。默认情况下,第一个以及所有增量磁盘与基本 .vmdk 文件存储在一起。.vmsd.vmsn 文件存储在虚拟机目录中。

SEsparse 是 VMFS6 数据存储中所有增量磁盘的默认格式。

增量磁盘文件
客户机操作系统可以写入的 .vmdk 文件。增量磁盘表示虚拟磁盘的当前状况和上次生成快照时存在的状况之间的差异。生成快照时,将保留虚拟磁盘的状况,从而阻止客户机操作系统写入,并会创建增量磁盘或子磁盘。

增量磁盘有两个文件。一个是包含虚拟磁盘相关信息(例如几何结构和父子关系信息)的较小的描述符文件。另一个是包含原始数据的对应文件。

构成增量磁盘的文件称为子磁盘或重做日志。
平面文件
-flat.vmdk 文件,组成基本磁盘的两个文件之一。平面磁盘包含基本磁盘的原始数据。该文件在数据存储浏览器中不显示为单个文件。
数据库文件
.vmsd 文件,包含虚拟机的快照信息,并且是快照管理器的主要信息源。该文件包含行条目,这些条目定义了快照之间以及每个快照的子磁盘之间的关系。
内存文件
.vmsn 文件,包含虚拟机的活动状况。通过捕获虚拟机的内存状况,可恢复到已打开虚拟机状况。使用非内存快照,仅能恢复到已关闭虚拟机状况。创建内存快照需要的时间比创建非内存快照需要的时间长。ESXi 主机将内存写入磁盘所需的时间取决于配置虚拟机使用的内存量。

生成快照操作会创建 .vmdk-delta.vmdkvmsd-sesparse.vmdkvmsn 文件。

文件 描述
vmname-number.vmdkvmname-number-delta.vmdk 快照文件,表示虚拟磁盘的当前状况和上次执行快照时存在的状况之间的差异。

文件名使用了语法 S1vm-000001.vmdk,其中 S1vm 为虚拟机的名称,六位数字 000001 基于目录中已存在的文件。该数字不考虑附加到虚拟机的磁盘数目。

vmname.vmsd 虚拟机快照信息的数据库和快照管理器的主要信息源。
vmname.Snapshotnumber.vmsn 执行快照时虚拟机的内存状况。文件名使用了语法 S1vm.snapshot1.vmsn,其中 S1vm 为虚拟机的名称,snapshot1 为第一个快照。
注: 不管如何选择内存,每次执行快照时都会创建 .vmsn 文件。不具有内存的 .vmsn 文件比具有内存的该文件小。

快照限制

快照可能会影响虚拟机性能,且不支持某些磁盘类型或使用总线共享配置的虚拟机。快照作为短期解决方案用于捕获时间点虚拟机状况很有用,但不适用于长期虚拟机备份。

  • VMware 不支持对裸磁盘、RDM 物理模式磁盘或在客户机中使用 iSCSI 启动器的客户机操作系统的快照。
  • 在执行快照之前必须关闭具有独立磁盘的虚拟机的电源。
  • 可以生成具有独立磁盘的虚拟机的内存快照,且只能将其用于分析虚拟机的客户机操作系统行为。无法将此类快照用于虚拟机备份,因为不支持还原此类型的快照。
  • 静默快照要求安装 VMware Tools 且具备客户机操作系统支持。
  • PCI vSphere DirectPath I/O 设备不支持快照。
  • VMware 不支持为总线共享配置的虚拟机的快照。如果需要使用总线共享,则作为备用解决方案,请考虑在客户机操作系统中运行备份软件。如果虚拟机当前具有快照,并阻止您配置总线共享,请删除(整合)这些快照。
  • 快照提供备份解决方案可以使用的磁盘的时间点映像,但快照并不是可靠的备份和恢复方法。如果包含虚拟机的文件丢失,则其快照文件也丢失。另外,大量快照将难于管理,占用大量磁盘空间,并且在出现硬件故障时不受保护。
  • 快照可能会对虚拟机的性能产生负面影响。性能降低基于快照或快照树保持原位的时间、树的深度以及执行快照后虚拟机及其客户机操作系统发生更改的程度。另外,还可能会看到打开虚拟机电源所花费的时间变长。不要永久从快照运行生产虚拟机。
  • 如果虚拟机的虚拟硬盘大于 2 TB,则快照操作可能需要更长的时间才能完成。

快照限制

快照可能会影响虚拟机性能,且不支持某些磁盘类型或使用总线共享配置的虚拟机。快照作为短期解决方案用于捕获时间点虚拟机状况很有用,但不适用于长期虚拟机备份。

  • VMware 不支持对裸磁盘、RDM 物理模式磁盘或在客户机中使用 iSCSI 启动器的客户机操作系统的快照。
  • 在执行快照之前必须关闭具有独立磁盘的虚拟机的电源。
  • 从 ESXi 7.0 Update 3l 开始,您只能为具有独立磁盘的虚拟机拍摄内存快照来分析虚拟机的客户机操作系统行为。无法将此类快照用于虚拟机备份,因为不支持还原此类型的快照。
  • 静默快照要求安装 VMware Tools 且具备客户机操作系统支持。
  • PCI vSphere DirectPath I/O 设备不支持快照。
  • VMware 不支持为总线共享配置的虚拟机的快照。如果需要使用总线共享,则作为备用解决方案,请考虑在客户机操作系统中运行备份软件。如果虚拟机当前具有快照,并阻止您配置总线共享,请删除(整合)这些快照。
  • 快照提供备份解决方案可以使用的磁盘的时间点映像,但快照不是备份和恢复的可靠方法。如果包含虚拟机的文件丢失,则其快照文件也丢失。另外,大量快照将难于管理,占用大量磁盘空间,并且在出现硬件故障时不受保护。
  • 快照可能会对虚拟机的性能产生负面影响。性能降低基于快照或快照树保持原位的时间、树的深度以及执行快照后虚拟机及其客户机操作系统发生更改的程度。另外,还可能会看到打开虚拟机电源所花费的时间变长。不要永久从快照运行生产虚拟机。
  • 如果虚拟机的虚拟硬盘大于 2 TB,则快照操作可能需要更长的时间才能完成。

VMware Host Client 中生成虚拟机快照

您可以为虚拟机拍摄一个或多个快照,以便在拍摄快照时捕获设置状态、磁盘状况和内存状况。拍摄快照时,还可以静默虚拟机文件,并从快照中排除虚拟机磁盘。可以在虚拟机打开电源、关闭电源或挂起时执行快照。要对已挂起的虚拟机执行快照,请等待挂起操作完成后再执行快照。

执行快照时,虚拟机上正在执行的其他活动可能会影响恢复到该快照的快照过程。从存储角度而言,执行快照的最佳时间是在未产生大量 I/O 负载时。从服务角度而言,执行快照的最佳时间是在虚拟机中没有应用程序与其他计算机通信时。如果虚拟机正在与其他计算机通信,特别是在生产环境中,最可能出现问题。例如,如果执行快照时虚拟机正在从网络中的服务器下载文件,虚拟机会继续下载文件,同时就其进度与服务器进行通信。如果恢复为此快照,虚拟机与服务器之间的通信将受到干扰,且文件传输失败。可以创建一个内存快照或静默虚拟机中的文件系统,具体取决于要执行的任务。

内存快照
生成快照的默认选择。捕获虚拟机内存状况时,快照会保留虚拟机的实时状态。内存快照可以创建某一精确时间点的快照(例如,升级仍在运行的软件)。生成了内存快照后,如果升级未按预期完成,或软件不符合您的预期,则可将虚拟机恢复到其以前的状态。

捕获内存状况时,虚拟机文件无需静默。如果未捕获内存状况,快照就不会保存虚拟机的实时状况,除非静默磁盘,否则磁盘就是崩溃一致的。

捕获虚拟机内存状况的快照需要较长时间才能完成。您还可能会看到通过网络响应时短暂失效的情况。

静默快照
当静默虚拟机时,VMware Tools 会静默虚拟机的文件系统。静默操作可确保快照磁盘表示客户机文件系统的一致状况。静默操作会暂停或改变虚拟机上正在运行进程的状态,尤其是那些在还原操作期间可能会修改磁盘上信息存储的进程。静默快照适用于自动备份或定期备份。例如,如果您无法识别虚拟机活动,但希望恢复为多个最近的备份,则可以静默文件。

如果虚拟机电源已关闭或 VMware Tools 不可用,则 Quiesce 参数将不可用。您无法静默包含大容量磁盘的虚拟机。

具有 IDE 或 SATA 磁盘的虚拟机不支持应用程序一致静默。

重要说明: 请勿将快照用作唯一的备份解决方案或长期的备份解决方案。
注: 如果生成动态磁盘(Microsoft 特定的磁盘类型)的快照,则快照技术会保留文件系统的静默状态,但不会保留应用程序的静默状态。

前提条件

  • 如果要对其多个磁盘处于不同磁盘模式的虚拟机执行内存快照,请确认已关闭虚拟机电源。例如,如果某种专用配置要求使用独立磁盘,则必须在执行快照前关闭虚拟机电源。
  • 要捕获虚拟机的内存状况,请确认已打开虚拟机电源。
  • 要静默虚拟机文件,请确认已打开虚拟机电源并已安装 VMware Tools。
  • 验证您在虚拟机上是否具有 虚拟机.快照管理.创建快照特权。

过程

  1. VMware Host Client 清单中单击虚拟机
  2. 右键单击列表中的虚拟机,然后选择快照 > 生成快照
  3. 输入快照的名称。
  4. (可选) 键入快照的描述。
  5. (可选) 如果要捕获虚拟机的内存,则选中生成虚拟机内存快照复选框。
  6. (可选) 取消选中生成虚拟机内存快照并选择使客户机文件系统处于静默状态(需要安装有 VMware Tools) 复选框以暂停在客户机操作系统上运行的进程,以使文件系统内容在生成快照时处于已知的一致状态。
    仅在虚拟机已打开电源并且您不希望捕捉该虚拟机的内存时,才可使虚拟机文件处于静默状态。
  7. 单击生成快照

VMware Host Client 中恢复到最新快照

要使虚拟机恢复其原始状态,或者恢复为快照层次结构中的其他快照,可以还原快照。

还原某个快照时,会将虚拟机内存、设置和虚拟机磁盘的状况恢复为执行该快照时所处的状况。如果要在启动虚拟机时将其挂起、打开电源或关闭电源,请确保执行该快照时虚拟机处于正确的状况。

可以按下列方式还原快照:
恢复为最新快照
还原父快照,即层次结构中 您在此处位置的上一级。 恢复为最新快照将激活该虚拟机当前状况的父快照。
恢复为
允许您还原快照树中的任何快照,并使该快照成为虚拟机当前状况的父快照。在此之后的后续快照将创建快照树的新分支。

还原快照具有以下作用:

  • 当前磁盘和内存状况会被丢弃,而虚拟机会恢复到父快照的磁盘和内存状况。
  • 不移除现有快照。您可以随时还原这些快照。
  • 如果该快照包括内存状况,则虚拟机将处于创建该快照时的电源状况下。
    表 1. 还原快照后的虚拟机电源状况
    执行父快照时的虚拟机状况 还原后的虚拟机状况
    已打开电源(包括内存) 恢复为父快照,并且虚拟机已打开电源且正在运行。
    已打开电源(不包括内存) 恢复为父快照,并且虚拟机已关闭电源。
    已关闭电源(不包括内存) 恢复为父快照,并且虚拟机已关闭电源。

从快照恢复之后,运行某些特定类型工作负载的虚拟机可能需要几分钟的时间才能恢复响应。

注: vApp 内的虚拟机的 vApp 元数据不遵循虚拟机配置的快照语义。执行快照之后删除、修改或定义的 vApp 属性在虚拟机恢复到该快照或任何先前快照之后将保持原样(已删除、已修改或已定义)。

前提条件

验证您在虚拟机上具有虚拟机.快照管理.恢复到快照特权。

过程

  1. VMware Host Client 清单中单击虚拟机
  2. 右键单击列表中的虚拟机,然后选择快照 > 还原快照
    注: 虚拟机的当前状况将丢失,除非已将其保存在快照中。
  3. 单击还原以将虚拟机恢复到最近的快照。

VMware Host Client 中删除快照

可以使用快照管理器删除树中的单个快照或所有快照。删除快照时,会从快照管理器中移除该快照。快照文件会被整合并写入父快照磁盘,并与虚拟机基础磁盘合并。

删除快照不会更改虚拟机或其他快照。删除快照会整合快照与先前磁盘状态之间的更改,并将包含已删除快照相关信息的增量磁盘中的所有数据写入父磁盘。删除基础父快照时,所有更改都会与基础虚拟机磁盘合并。

要删除快照,需要读取大量信息并将信息写入磁盘。此过程会降低虚拟机性能,直到整合完成。整合快照会移除冗余磁盘,因而可以提高虚拟机性能并节省存储空间。删除快照和整合快照文件所花费的时间取决于在执行最后一次快照后客户机操作系统向虚拟磁盘写入的数据量。如果已打开虚拟机的电源,则所需时间与整合期间虚拟机写入的数据量大小成正比。

磁盘整合失败会降低虚拟机性能。通过查看列表,可以检查是否有任何虚拟机需要单独的整合操作。有关查找并查看多个虚拟机的整合状态以及运行单独的整合操作的信息,请参见《vSphere 虚拟机管理》

删除
使用 删除选项可以从快照树中移除单个父或子快照。 删除会将快照状态和上一个磁盘状态间发生的磁盘更改写入父快照。
注: 删除单个快照会保留虚拟机的当前状态,并不影响任何其他快照。
还可以使用 删除选项移除快照树中已弃用分支中的损坏快照及其文件,而不将它们与父快照合并。
全部删除
使用 删除全部选项可以从快照管理器中删除所有快照。 删除全部会整合快照与先前增量磁盘状态之间发生的更改并将其写入基础父磁盘,然后将它们与基础虚拟机磁盘合并。

为防止快照文件与父快照合并(例如,更新或安装失败),请首先使用还原命令还原至上一个快照。此操作会使快照增量磁盘变为无效,并删除内存文件。然后,便可以使用删除选项移除快照及所有相关文件。

小心不要意外删除需要的快照。删除快照后,便无法将其还原。例如,您可能想要安装多个浏览器 a、b 和 c,并在安装每个浏览器后捕获虚拟机状态。第一个快照(即基础快照)捕获包含浏览器 a 的虚拟机,第二个快照捕获浏览器 b。当还原包括浏览器 a 的基础快照并执行第三个快照以捕获浏览器 c,然后再删除包含浏览器 b 的快照时,将无法返回到包含浏览器 b 的虚拟机状态。

过程

  1. VMware Host Client 清单中单击虚拟机
  2. 右键单击列表中的虚拟机,然后选择快照 > 管理快照
  3. 单击要删除的快照,然后单击删除快照
  4. (可选) 删除快照对话框中,选中移除所有子快照复选框以删除所选快照及其所有子快照。
  5. 单击移除以确认删除。
  6. 单击关闭退出快照管理器。

为什么在 VMware Host Client 中使用快照管理器

可以查看虚拟机的所有快照并使用快照管理器管理快照。

生成快照后,随时都可以右键单击某个虚拟机,然后单击恢复到快照,将该虚拟机还原到该快照的状态。

如果有一系列快照,可以使用快照管理器还原任何父快照或子快照。从已还原的快照中生成的后续子快照会在快照树中创建分支。使用快照管理器从快照树中删除快照。

表 2. 快照管理器
选项 描述

快照树

显示虚拟机的所有快照。

您在此处图标

您在此处图标代表虚拟机的当前活动状况。

处于您在此处状态时,还原删除编辑操作会被停用。

生成快照还原删除编辑

快照选项。

详细信息

显示快照的名称和描述、创建快照的日期。控制台显示了生成快照时虚拟机的电源状况。如果您未选择快照,则名称、描述和创建的日期文本框为空。