本文介绍在还原虚拟机时发生的问题,而使用 Hyper-V 编写器的另一个备份正在进行中。
原始 KB 数: 978773
现象
执行卷影复制服务(VSS)备份或 VSS 还原操作。 在备份或还原操作期间,类似于以下内容的事件将写入应用程序日志:
事件 ID:12289
卷影复制服务错误:删除较旧的编写器会话状态意外错误。 。 hr = 0x80042409,写入器状态不适用于一个或多个编写器。 编写器可能已达到可用备份还原会话状态数的限制。
操作:PreRestore 事件
上下文: 旧快照集: {41379de8-f7e7-4c76-bb47-7f080443e189} 旧操作:1019 旧状态:5 旧故障:0x800423f4 旧的扩展故障小时:0x1 旧的扩展失败消息:0 执行上下文:编写器 编写器类 ID: {66841cd4-6ded-4f4b-8f17-fd23f8ddc3de} 编写器名称:Microsoft Hyper-V VSS 编写器编写器实例 ID: {7eef8900-84b4-406e-a461-ce19e5e7ae7f}
原因
发生此错误的原因是 VSS 编写器中的备份或还原会话状态未正确清理。 VSS 编写器基础结构为 VSS 编写器参与的每个备份和还原会话创建会话状态对象。 在典型情况下,未使用写入器会话状态对象时将清理这些对象。 正常会话状态清理在以下情况下发生:
- 备份应用程序发送 BackupComplete 响应,然后通过发送 GatherWriterStatus 来检查编写器状态。
- 备份应用程序发送 PostRestore 响应,然后通过发送 GatherWriterStatus 查询来检查编写器状态。
- 编写器接收会话的 OnAbort 事件回调。 备份应用程序、编写器或 VSS 基础结构显式失败时,将调用 OnAbort 事件回调。
VSS 编写器基础结构执行剩余会话状态的定期垃圾回收。 然后,基础结构会记录超过两天的每个会话状态对象的上一个事件日志。 事件日志旨在帮助识别编写器中可能指示备份应用程序不当的已放弃会话。 你可以从多个编写器连续看到多个类似的事件,这些事件指示存在一系列不完整的备份或还原会话。 此行为最常出现在测试环境中。
解决方法
忽略此错误的间歇性事件。 系统会记录相关事件,以响应备份或还原操作启动的垃圾回收活动。 但是,这些错误与活动备份或还原会话无关。 如果错误一致可重现,请确保备份应用程序供应商遵循所有 VSS 备份会话清理指南。