概要
本文讨论无法从在 Windows Server 2016 上运行的 Hyper-V 环境中的检查点还原虚拟机(VM)的问题。 此问题通常在作系统(OS)升级后发生,并且通常涉及检查点损坏或不对齐。
症状
- 错误消息:“尝试从检查点导出数据时出错。
- 无法从最新的检查点还原 VM。
- 存在多个检查点,但不能用于成功还原 VM。
- 报告数据丢失,需要紧急恢复。
- 此问题在 OS 升级后立即开始,例如从 Windows 10 升级到 Windows 11。
- Hyper-V VM 管理服务(VMMS)管理日志和检查点链完整性被分析,揭示出不规则现象。
- 尝试合并检查点失败,导致担心可能的数据丢失。
原因
由于以下一个或多个原因,出现此问题:
- 运行 OS 升级之前,检查点未正确合并,或者在不使用 VM 中的最新检查点的情况下运行升级。
- 创建检查点后,直接对原始虚拟硬盘(VHDX)文件进行更改,导致检查点链中出现错误。
- VM 与检查点结构不一致,导致链中的损坏或断裂。
- 损坏或缺少的 VM 配置文件进一步导致无法从检查点还原 VM。
决议
若要解决该问题,请执行以下步骤:
-
备份 VM 文件:
- 在尝试任何恢复步骤之前,将所有检查点和 VHD 文件备份到安全位置。 此步骤将永久数据丢失的风险降到最低。
-
检查检查点链:
- 运行以下 PowerShell 脚本来验证差异磁盘链:
Get-VHDChain -Path <path to vhd file></path>- 分析输出以识别链中的任何不一致或损坏。
-
手动合并检查点:
-
尝试使用 PowerShell 命令手动合并检查点。 例如:
Merge-VHD -Path <Path to AVHDX file> -DestinationPath <Path to merged VHDX file> -
在继续合并之前,通知客户潜在的风险,包括数据丢失。
-
-
重新创建 VM:
- 如果合并检查点失败,请使用备份的文件重新创建 VM。 请确保将新 VM 配置为指向合并的 VHDX 文件。
-
遵循适当的检查点管理做法: - 在执行 OS 升级之前始终合并检查点。 - 如果存在检查点,请避免直接更改原始 VHDX 文件。 - 定期维护和验证检查点以确保完整性。
-
确认解决方案:
- 完成恢复步骤后,请向客户验证 VM 是否正常运行,并还原数据。
通过遵循这些步骤和建议,可以解决检查点还原问题,并防止将来出现类似问题。
数据收集
在联系Microsoft支持人员之前,可以收集有关你的问题的以下信息。
- Hyper-V VMMS 管理员日志。 可以在“事件查看器”中的“应用程序和服务日志”下收集这些日志> Microsoft > Windows > Hyper-V-VMMS。
- 运行 Get-VHDChain PowerShell 命令以检查 VHD 链的完整性的结果。
- 任何能为检查点问题提供见解的额外错误信息或日志。