备份和还原虚拟机

Hyper-V 使用卷影复制服务 (VSS) 来备份和还原虚拟机。 如果备份 (卷快照) 集成服务安装在来宾操作系统中,则会安装一个 VSS 请求程序,该请求程序将允许来宾操作系统中的 VSS 编写器参与虚拟机的备份。 有关详细信息,请参阅以下部分:

备份虚拟机

Hyper-V 使用两种机制之一来备份每个虚拟机。 默认备份机制称为“保存状态”方法,其中虚拟机在 PrepareForSnapshot 事件处理期间进入保存状态,创建相应卷的快照,并在处理 PostSnapshot 事件期间将虚拟机返回到以前的状态。

另一种备份机制称为“子 VM 快照”方法,该方法使用子虚拟机内的 VSS 参与备份。 若要支持“子 VM 快照”方法,必须满足以下所有条件:

  • 备份 (卷快照) 集成服务在子虚拟机中安装并运行。 服务名称为“Hyper-V 卷影复制请求程序”。
  • 子虚拟机必须处于运行状态。
  • 虚拟机的快照文件位置设置为主机操作系统中的卷与虚拟机的 VHD 文件相同。
  • 子虚拟机上的所有卷都是基本磁盘,没有动态磁盘。
  • 子虚拟机上的所有磁盘都必须使用支持快照 (的文件系统,例如 NTFS) 。

通常,备份虚拟机的过程与 在 VSS 下处理备份概述中所述的过程相同。 当 Hyper-V VSS 编写器 (“Hyper-V 虚拟机管理”服务的一部分) 处理 PrepareForSnapshot 事件时,会发生唯一行为。 如果备份是使用“子 VM 快照”方法完成的,则会完成其他处理,但子虚拟机不可见。

以下过程介绍如何备份虚拟机。

备份虚拟机

  1. 对于编写器元数据中的每个虚拟机,如果使用“保存状态”方法,则虚拟机将进入已保存状态。 对于使用“子 VM 快照”方法的虚拟机,子虚拟机中的 Hyper-V 卷影复制请求程序服务将处理备份,详见 VSS 下的备份处理概述。 子虚拟机上的所有 VSS 事件都发生在主机操作系统处理 PrepareForSnapshot 事件期间。
  2. 将所有虚拟机置于保存状态或创建快照后,Hyper-V VSS 编写器将从 PrepareForSnapshot 事件返回。 在冻结和解冻事件期间,Hyper-V VSS 编写器不会执行任何处理。
  3. 当 Hyper-V VSS 编写器处理 PostSnapshot 事件时,使用“保存状态”方法备份并由 Hyper-V VSS 编写器置于保存状态的虚拟机将返回到备份开始前的状态。 对于使用“子 VM 快照”方法备份的虚拟机,已拍摄快照的 VHD 文件的主机映像将回滚到在 PrepareForSnapshot 事件处理期间拍摄的快照。 此处理独立于子虚拟机上的 VSS 编写器完成,因此拍摄的快照必须可自动恢复。 未在 context 中设置 (VSS_VOLSNAP_ATTR_NO_AUTORECOVERY 。)

不支持部分备份。 如果任何虚拟机无法创建快照,则不会备份任何虚拟机。

注意

直通磁盘和 iSCSI 磁盘对主机操作系统不可见,因此不由 Hyper-V VSS 编写器备份。 这些卷的备份必须完全在虚拟机上完成。

 

还原虚拟机

还原虚拟机完全由主机操作系统完成;子虚拟机上的 VSS 编写器不涉及。

以下过程介绍如何还原虚拟机。

还原虚拟机

  1. 在处理 PreRestore 事件期间,Hyper-V VSS 编写器会关闭并删除即将还原的所有虚拟机。
  2. 所有 VSS 编写器都处理 PreRestore 事件后,将还原文件。
  3. 在处理 PostRestore 事件期间,Hyper-V VSS 编写器调用 IVssComponent::GetFileRestoreStatus 方法。 如果未VSS_RS_ALL返回,则 Hyper-V VSS 编写器调用 SetWriterFailure 方法,并从 OnPostRestore 方法返回 False
  4. 对于已还原的每个虚拟机,Hyper-V VSS 编写器会将虚拟机注册到 Hyper-V 管理服务。 如果虚拟机还原到非默认位置,则会在链接到该位置的默认位置创建符号链接。
  5. 对于已还原的每个 VHD,该位置与为该虚拟机指定的 VHD 进行比较。 如果位置不同,则会使用正确的位置更新配置。
  6. 网络配置已更新。 如果虚拟机在备份时连接到的虚拟交换机仍退出,则会创建新端口并将其连接到虚拟机。

故障转移聚类分析和 Hyper-V VSS

Hyper-V VSS 编写器不考虑属于故障转移群集的虚拟机。 在“保存状态”方法备份和所有还原期间,虚拟机将进入保存状态或完全删除。 这会被视为聚类分析服务的故障,并导致这些节点上的应用程序故障转移到其他节点。 若要避免在“保存状态”备份期间出现这种情况,必须使用聚类分析服务保存虚拟机状态。 若要在还原期间避免这种情况,虚拟机上的资源需要脱机。

有关 Hyper-V VSS 编写器的详细信息

编写器名称:Microsoft Hyper-V VSS 编写器

编写器 ID:66841cd4-6ded-4f4b-8f17-fd23f8ddc3de

在 VSS 下处理备份的概述

在 VSS 下处理还原的概述