你目前正处于脱机状态,正在等待 Internet 重新连接

Hyper-V 主机服务器遇到意外重新启动后,失去与连接 IDE 的虚拟硬盘的一致性

症状
如果基于 Windows Server 2012 或 Windows Server 2008 R2 的 Hyper-V 主机遇到意外重新启动,或者连接到虚拟 IDE 控制器的虚拟硬盘容量由虚拟机使用,则该服务器上的虚拟硬盘可能不再一致。

例如,假设 Hyper-V 主机服务器上有一台虚拟的域控制器。Hyper-V 主机服务器崩溃或遇到停电时,Active Directory 数据库可能会损坏,或者虚拟机无法启动,并且您可能会收到类似于以下内容的错误消息:
c00002e2 目录服务无法启动,因为出现以下错误:%hs 错误状态:0x%x。请关闭此系统并重新启动到目录服务还原模式中。有关详细信息,请查阅事件日志。
原因
出现此问题的原因在于,如果操作系统收到来宾请求要禁用磁盘缓存,Hyper-V 虚拟 IDE 控制器会错误地报告成功。这可能会导致应用程序发出 I/O 操作,并认为这些操作会存留到磁盘中(实际上允许其存在于磁盘缓存中),但在 Hyper-V 主机发生电源故障时将无法进行存留。

有关详细背景信息,请转至更多信息部分。
解决方案
注意安装此更新后,将无法请求禁用 Hyper-V 虚拟 IDE 控制器中磁盘缓存。这是正常现象。您可能会收到来宾计算机操作系统中 Active Directory 生成的警告信息。此事件 1539 警告消息指示“Active Directory 域服务无法禁用以下硬盘上的基于软件的磁盘写入缓存”,后跟硬盘的驱动器号。当 Hyper-V 虚拟 IDE 控制器正确地拒绝禁用磁盘缓存请求时,会生成此警告信息。然而,Active Directory 请求在不进行任何缓存的情况下完成所有数据库更新,而 Hyper-V 存储子系统确保进行缓存是为了避免电源故障或其他意外重新启动导致数据丢失。

更新信息

Windows Server 2012

在基于 Windows Server 2012 的 Hyper-V 主机上的安装更新汇总2855336

Windows Server 2008 R2

在基于 Windows Server 2008 R2 的 Hyper-V 主机上安装更新 2853952。此外,如果来宾计算机运行的是 Windows Server 2008 R2 或 Windows 7,则在其计算机上安装更新 2853952。

此更新可从 Windows 更新或 Microsoft 下载中心获取。
操作系统更新
所有受支持的基于 x86 的 Windows 7 版本下载立即下载此更新包。
所有受支持的基于 x64 的 Windows 7 版本下载立即下载此更新包。
所有受支持的基于 x64 的 Windows Server 2008 R2 版本下载立即下载此更新包。
所有受支持的基于 IA64 的 Windows Server 2008 R2 版本下载立即下载此更新包。
有关如何下载 Microsoft 支持文件的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
119591 如何从联机服务获取 Microsoft 支持文件
Microsoft 已对该文件进行病毒扫描。Microsoft 使用的是该文件发布时可以获得的最新病毒检测软件。该文件存储在增强安全机制的服务器中,有助于防止未经授权对文件进行更改。

重新启动要求

若要让更新解决此问题,需重新启动计算机。
状态
Microsoft 已经确认“适用于”部分中列出的 Microsoft 产品存在此问题。
更多信息
虚拟化堆栈中具有多个缓存层,可影响在虚拟机上运行的应用程序的一致性语义。有关此内容的详细信息,请参阅知识库2801713.

虚拟硬盘向来宾操作系统报告已启用写入缓存,磁盘拒绝来宾操作系统的禁用写入缓存请求。此行为是必要的,原因如下:
  • 基础存储可能具有无法禁用的不间断写入缓存。这是由于虚拟磁盘可能迁移到同一主机上的不同磁盘中(实时存储迁移),或迁移到其他主机中(实时迁移)。
  • Hyper-V 无法假定运行在同一磁盘上的所有虚拟机将具有相同的磁盘缓存设置。
如果应用程序要求在出现电源故障时保持数据完整性语义,则必须确保写入提交到稳定存储中。完成此操作的一个方法是,禁用磁盘缓存,以使所有写入在报告成功之前提交到硬盘。如果禁用磁盘缓存的请求被拒绝,则应用程序必须执行其他步骤以确保一致性。

安装更新之前,如果 Active Directory 尝试禁用磁盘缓存,Hyper-V 将错误报告此操作已成功。然后,Active Directory 会在假定不出现任何缓存(但实际会出现缓存)的情况下执行文件操作。

安装此更新后,Active Directory 将会尝试禁用磁盘缓存,Hyper-V 会正确报告此操作无法执行。然后,Active Directory 会启用 FUA(强制单元访问)以确保未缓存数据。

当 Active Directory 尝试禁用磁盘缓存时,会记录事件 ID 1539
参考
有关软件更新术语的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684 用于描述 Microsoft 软件更新的标准术语说明
属性

文章 ID:2853952 - 上次审阅时间:11/29/2013 21:24:00 - 修订版本: 7.0

Windows Server 2012 Standard, Windows Server 2012 Datacenter, Windows Server 2008 R2 Standard, Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Datacenter

  • kbqfe kbhotfixserver kbfix kbexpertiseinter kbsurveynew atdownload KB2853952
反馈