本文提供了一个全面的指南,用于排查 Windows Server 环境中 Hyper-V 虚拟机(VM)备份、检查点管理和存储故障(Windows Server 2016、Windows Server 2019、Windows Server 2022 和 Windows Server 2025)遇到的常见问题。 在备份或还原作、检查点创建或合并、VM 启动和存储连接期间,通常会出现问题。 它们可能会影响独立 Hyper-V 主机、群集设置和环境(与第三方备份工具集成)中的生产和灾难恢复工作流。 及时识别和解决这些问题对于维护 VM 可用性、数据完整性和备份可靠性至关重要。
可能会遇到以下情况:
- 无法执行备份或还原,从而导致潜在的数据丢失。
- 意外的 VM 停机或访问丢失。
- 导致存储耗尽的孤立磁盘文件。
- 管理控制台中的持久警告或错误状态。
此外,你可能在受影响的环境中遇到以下症状:
- 备份和还原失败
- 检查点和快照问题
- VM 启动或迁移失败
- 存储和文件系统错误
这些问题的根本原因可以分为以下类别,并提供相应的解决方法:
- 检查点和 VSS 相关问题
- 文件系统和存储问题
- 权限和策略配置错误
- 群集和配置问题
注释
在执行文件合并、删除或主要配置更改之前,请始终备份关键 VM。 如需进一步的帮助,请参阅Microsoft支持或备份供应商。
备份和还原失败
-
备份无法无限期完成或挂起。
-
从检查点或映像还原作失败。
-
备份软件中的错误消息(如 Veeam、Druva、Rubrik 或 Veritas)包括:
未能创建 VM 恢复检查点... 错误代码:32768 - > 无法为虚拟机创建备份检查点 - 错误 -0x800423F2 - > 恢复电脑时遇到问题 - > 导入失败。 … 进程无法访问文件 ,因为它正在被另一个进程使用。 (0x80070020)
- 事件日志条目(例如事件 ID 8229(主机)和 12293(来宾),指示卷影复制服务(VSS)编写器错误。
检查点和快照问题
- 无法创建新的检查点或合并现有检查点。
- 即使 Hyper-V 管理器中不可见,VHDX 文件也会累积在磁盘上。
- 错误,例如:“进程无法访问文件,因为它正被另一个进程使用。 (0x80070020)”。
- 孤立或隐藏的检查点会阻止备份或 VM作。
- VM 停滞在已保存、暂停或严重状态中。
VM 启动或迁移失败
-
VM 在主机重新启动、修补或磁盘迁移后无法启动。
-
错误,例如:
系统找不到指定的文件。 (0x2) - > 尝试启动所选 VM 时出错。 不可用无法初始化和更新 VM 配置失败。
- VM 在 Hyper-V 管理器或故障转移群集管理器中不可见。
- VM 迁移、导出或导入由于文件缺失或损坏而失败。
存储和文件系统错误
-
事件日志显示与存储、磁盘或文件系统损坏相关的 ID 9、39、129、3280、55、51 或 513。
-
存储卷因大型 AVHDX 文件而耗尽空间。
-
VHD/VHDX 文件缺失、无法访问或损坏。
-
错误,例如:
无法连接到虚拟机配置存储 - > 虚拟机未处于执行作的有效状态。
检查点和 VSS 相关问题
- 孤立的或未合并的检查点:由不完整的备份作、隐藏/不可见的检查点或 AVHDX 链损坏引起的。
- VSS 编写器失败或超时:VSS 编写器处于失败或超时状态,通常是由于备份作业或 VSS作重叠。
- 第三方备份集成:Hyper-V 与备份工具(如 Veeam、Druva 或 Veritas)之间的配置错误或不兼容。
解决方法:检查点和 AVHDX 文件管理
-
标识孤立检查点:
-
运行以下 PowerShell cmdlet:
Get-VMSnapshot -VMName -
检查 VM 磁盘文件夹,查找 Hyper-V 管理器中未列出的 AVHDX 文件。
-
-
合并孤立 AVHDX 文件:
- 关闭受影响的 VM。
- 在 Hyper-V 管理器中,选择 VM,然后选择 “作>编辑磁盘 ”以打开 “编辑虚拟硬盘向导” 窗口。
- 在“ 查找磁盘 ”选项卡上,选择“ 浏览 ”以找到 AVHDX 文件,然后选择“ 下一步”。
- 在“ 选择作 ”选项卡上,选择“ 合并>到父虚拟硬盘”,然后选择“ 下一步 ”以完成向导。
-
高级 PowerShell 合并(如果需要):
Merge-VHD -Path <AVHDXPath> -DestinationPath <VHDXPath> -
重新附加并启动 VM:
- 验证 VM 指向正确的 VHDX 文件(已合并)。
- 启动 VM 并确认功能。
解决方法:备份/还原和 VSS 编写器故障排除
-
重启 VSS 服务:
net stop vss net start vss net stop swprv net start swprv -
检查 VSS 编写器:
vssadmin list writers通过重启相关服务或重新启动主机来运行命令并解决失败的编写器问题。 -
清除卡住的检查点:
使用特定于供应商的工具,例如
nbhypervtool.exe deleteNbuCheckpoints -vmguid <vmguid>Veritas。 -
错开备份计划以避免 VSS作重叠。
文件系统和存储问题
- 磁盘或卷损坏:因合并失败或存储 I/O 问题触发的 NTFS/ReFS 卷上的元数据错误。
- 丢失或损坏的 VM 文件:由于合并或硬件问题失败,VHD、AVHDX 或配置文件丢失或损坏。
- 存储连接问题:iSCSI、群集共享卷(CSV)或存储空间直通(S2D)导致不可用或驱动程序/固件故障的问题。
解决方法:文件系统和存储修复
-
运行磁盘和文件系统修复:
chkdsk <drive:> /f或者对于 ReFS 卷:
Repair-Volume <drive:> -
还原缺少的文件:
如果文件不可恢复,则从最新备份中恢复。
-
验证存储运行状况:
- 检查 iSCSI、CSV 或 S2D 连接并确保有足够的空间。
- 更新存储驱动程序和固件。
权限和策略配置错误
- 权限不足:缺少 NT 虚拟机帐户 的服务权限或 错误的 NTFS 权限。
- 防病毒干扰:AV 筛选器驱动程序阻止访问磁盘文件或干扰检查点/备份作。
- 组策略配置错误:更改删除所需的权限或服务权限。
解决方法:权限和策略更正
-
分配所需的权限:
确保 NT 虚拟机\虚拟机 帐户通过组策略或本地安全策略 以服务权限登录 。
-
更新 NTFS 权限:
用于
icacls验证并授予 VM 服务帐户 的完全控制 。
群集和配置问题
- 群集角色或元数据损坏:由故障转移不当、角色删除或未同步群集状态导致的。
- 配置版本不匹配:迁移或升级后所需的最低版本的 VM 配置版本。
- VM 或存储路径设置不正确:迁移后配置错误的路径或不匹配的网络适配器。
解决方法:群集和 VM 配置修复
-
重新同步群集元数据:
- 将故障转移群集管理器用于 VM作。
- 执行实时迁移以强制元数据同步和清除警告。
-
还原或导入缺少的 VM:
在 Hyper-V 管理器中,使用 导入虚拟机 并找到导出/导入的文件。
-
更新 VM 配置版本:
在 Hyper-V 管理器中,右键单击 VM 并选择“ 升级配置版本”。 或者使用以下 PowerShell cmdlet:
Update-VMVersion -
正确的磁盘或网络设置:
编辑 VM 设置以确保正确的磁盘和网络适配器分配。
运营和环境原因
- 不正确的维护:重新启动群集节点,而无需清空角色或将其置于维护模式。
- 同时发生备份冲突:导致 VSS 争用或文件损坏的备份作业重叠。
- 硬件或驱动程序问题:过时的网络/存储驱动程序或硬件不稳定。
其他修复和检查
- 清理保存的状态。 如果停滞在“已保存”状态,则删除
.vmrsVM.vmgs文件夹中的文件。 - 检查并修复群集资源状态。 使用 PowerShell cmdlet 来
Get-ClusterResource检查和修复群集角色。 - 根据需要重启主机以清除过时的文件锁。
数据收集
若要帮助进行故障排除,请收集以下项:
- 事件日志:特定于应用程序、系统和 Hyper-V 的日志。
- PowerShell 诊断 cmdlet:
Get-VHDChain、、Get-VMSnapshot``Get-VM、Update-VMVersion、icacls、Merge-VHD和Set-VHD。 - VSS 工具:
vssadmin list writers和vssadmin list providers。 - 诊断工具:进程监视器(Procmon)、 Handle.exe、进程资源管理器和故障排除支持脚本(TSS)。
- 群集日志:故障转移群集日志和 System Center Virtual Machine Manager (SCVMM) 作业历史记录。
- 检查点/快照清理的特定于供应商的工具。