如何解决错误:Hyper-V检查点操作失败

A possible error when working with Microsoft Hyper-V checkpoints is the Hyper-V checkpoint operation failed error and other similar errors. Read this blog post to learn about the possible reasons for this error and the cleanup methods available to fix checkpoint errors.

快速 Hyper-V 检查点概述

Hyper-V 检查点是一项功能,允许您通过创建差异虚拟磁盘来保存虚拟机的状态。对虚拟磁盘所做的任何更改(即更改的块)都将记录到 .AVHDX 检查点文件中,而不是写入父.VHDX 文件。您可以创建一系列检查点,并在相应的 VM 文件夹中创建多个链接的 .AVHDX 文件。有两种检查点类型:

  • 标准检查点是崩溃一致的。它们保存 VM 的磁盘和内存状态。
  • 生产检查点是应用一致的。使用卷影复制服务(VSS)和 Hyper-V 集成服务来冻结文件系统状态,以避免在写入已打开文件时出错。

注意:有关更多信息,请阅读这篇关于 Hyper-V 检查点的博客文章

如何解决常见的 Hyper-V 检查点操作失败问题

以下是尝试创建 Hyper-V 检查点时可能遇到的一些错误:

  • Hyper-V 检查点操作失败
  • 无法启动检查点操作
  • 无法创建自动虚拟硬盘
  • 一般访问被拒绝

常见的错误消息的常见原因是设置了不正确的文件和文件夹权限。这个问题可能会发生在以下情况下:

  • 快照文件夹的权限不正确。
  • A VM was improperly moved from another Hyper-V host, and correct permissions were not set.
  • 需要重新启动 Hyper-V。

要了解错误的原因并修复它,您可以执行以下操作:

  • 检查权限
  • 检查日志
  • 检查集成服务设置
  • 更改检查点类型

让我们更详细地看看每一个。

检查权限

您可以在下面的截图中看到正在运行的 Hyper-V VM,其中包含检查点。创建检查点时会创建 AVHDX 虚拟磁盘文件。在此示例中,虚拟磁盘文件存储在 D:\Hyper-V\虚拟硬盘 文件夹中。您需要确保超级管理员账户有足够的权限访问 Hyper-V 需要的数据。

运行 Hyper-V 的系统账户必须对包含虚拟磁盘和快照文件的文件夹具有读写权限。如果在文件夹属性中看到标识符而不是用户或组名,则权限可能不正确。如果权限正确,请检查是否有足够的可用存储空间来执行与 Hyper-V 检查点相关的操作。

检查日志

解决不同 Hyper-V 错误的常见建议是检查事件查看器日志文件。在事件查看器中,您可以找到比 Hyper-V 管理器 中更详细的关于错误的信息。

要查看日志,请打开计算机管理,然后转到系统工具 > 事件查看器 > 应用程序和服务 > Microsoft > Windows > Hyper-V VMMS

检查集成服务的设置

尝试以下步骤来解决问题:

  1. 确保在客户操作系统(OS)中安装了 Hyper-V 集成服务。
  2. 打开 VM 设置。
  3. 管理部分中点击集成服务
  4. 选择/取消选择备份(卷检查点)选项。取消选择该选项用于崩溃一致检查点,选择该选项用于应用程序一致检查点(VSS 信号传递给客户 OS)。如果 VSS 编写器存在问题,禁用此选项可能会有所帮助。选择客户服务选项。

如果取消选择备份(卷检查点)选项帮助您创建检查点而无错误,建议您在完成创建检查点后重新选择此选项。

更改检查点类型

默认情况下,Hyper-V 使用生产检查点。如果看到Hyper-V 检查点操作失败错误,请尝试将检查点类型更改为标准检查点。

  1. 打开 VM 设置。
  2. 管理部分中点击检查点
  3. 通过选择适当的选项(将生产检查点更改为标准检查点)更改检查点的类型。

编辑不可用,因为存在检查点

当您尝试编辑 Hyper-V 中虚拟机的虚拟磁盘设置时,可能会出现“编辑不可用,因为存在检查点”错误。当虚拟磁盘存在检查点时,您无法执行虚拟磁盘操作,如扩展虚拟磁盘。您可能也无法编辑这些虚拟机设置,因为虚拟机正在运行,文件正在使用中。

修复“编辑不可用,因为存在检查点”错误的可能解决方案:

  • 关闭虚拟机并删除(或合并)快照。
  • 您可能需要为虚拟机禁用生产检查点。
  • 如果快照是由 Hyper-V 备份软件创建的,请尝试在 PowerShell 中删除此滞留的备份检查点:

Get-VMSnapshot -ComputerName “HyperVHostName” -VMName “VMWithLingeringBackupCheckpoint” | Remove-VMSnapshot

在接下来的部分,我们将解释当运行 Hyper-V VM 备份作业后出现“Hyper-V 检查点操作失败”错误的性质及修复此错误的方法。

备份失败和滞留检查点

有时,在 Hyper-V 管理器界面中,传统的删除选项对于检查点是不可用的。导致这种情况最常见的情形是备份作业失败。

某些备份解决方案执行以下步骤执行备份作业:

  1. 将虚拟机置于保存的只读状态。
  2. A checkpoint of recovery type is created. This checkpoint will hold the new modifications issued to the VM during the backup process.
  3. 备份解决方案在虚拟机处于只读状态时复制数据。因此,可以获取一致的数据副本。
  4. 一旦复制过程完成,恢复checkpoint.AVHDX文件会自动与原始虚拟机.vhdx文件合并,恢复检查点会被删除。这个过程也被称为清理。

如果备份过程失败,恢复检查点不会被自动删除。它会变成“残留检查点”。删除这种类型的检查点可能很具有挑战性,因为在 Hyper-V 管理器中通常不提供删除选项(菜单中的删除选项无法使用)。

当 Hyper-V 检查点操作失败时如何进行清理

在前面提到的残留检查点情况下,删除备份检查点的最可靠方法是使用 PowerShell:

  1. 以管理员身份打开 Windows PowerShell。
  2. 使用命令Get-VMSnapshot获取恢复检查点的确切名称。在提示时提供VMName
  3. 运行命令Get-VM -Name <VMName> | Get-VMSnapShot -Name <CheckpointName> | Remove-VMSnapshot
  4. 使用命令Get-VMSnapshot验证恢复检查点是否已成功删除

找不到元素 0x80070490

与创建 Hyper-V 检查点相关的另一个错误是无法启动检查点操作:找不到元素 (0x80070490)

如果发生此错误,则无法创建新的 Hyper-V 检查点。此错误的原因可能是文件权限损坏,如本文中所述,或虚拟机内部的 VSS 写入程序问题。

您可以在事件日志中的 Hyper-V-Worker > 管理员 部分找到检查点创建错误记录,其事件 ID 分别为 328018012。您可以在下面的截图中看到 Hyper-V Worker 管理员日志窗口的示例:

检查存储虚拟机文件的文件夹。如果您没有运行创建检查点的备份作业,但是您看到一个看起来像 {VirtualDisk_name}-AutoRecovery.AVHDX 的文件,这可能意味着此文件是由之前未正确完成的备份作业创建的。删除此 .AVHDX 文件,然后尝试创建检查点或重新运行备份作业。

还要使用上述建议检查文件夹权限、检查点选项和集成服务选项以解决 0x80070490 元素未找到 错误。

注意: 了解更多关于 如何禁用处于启动/停止状态的 Hyper-V VM

结论

常见的 Hyper-V 检查点操作失败 错误和类似的检查点相关错误包括虚拟机文件夹权限不正确、VSS 问题,以及在使用第三方数据保护软件时运行的虚拟机备份作业失败。备份应用程序使用特殊的恢复检查点类型作为差异化虚拟硬盘。然而,如果备份操作失败,只有通过 Windows PowerShell 才能删除或清理检查点。使用 Hyper-V 日志来识别和排除问题。

检查点无法保护您的数据,以防原始虚拟机出现损坏。备份和复制对于数据保护至关重要。NAKIVO 备份与复制是一个综合性的数据保护解决方案,具有先进的功能,提供无代理备份、即时恢复和灾难恢复。

Source:
https://www.nakivo.com/blog/fix-hyper-v-checkpoint-operation-failed/