Windows Server 2012 R2 上的严重结构损坏

Sar*_*ger 15 xen server-crashes windows-server-2012-r2

我有一台 Windows Server 2012 R2 虚拟机;是的所有更新。其他软件包括 Microsoft SQL Server 2014(在以前的 VM 上是 2012)。Web 托管公司将 xenpci.sys(EJBPV XenPCI 驱动程序(已检查构建),James Harper)作为其在所有 VM 和 Plesk 上的默认安装的一部分。

操作系统会定期挂起、蓝屏或重新启动。我确实得到了小型转储,但并非总是如此。通常的问题是:

错误:CRITICAL_STRUCTURE_CORRUPTION

特定的顶级文件(显然不是原因)各不相同:win32k.sys、ntoskrnl.exe、xenpci.sys(Xen 驱动程序,虽然只出现了几次)和 ndis.sys。

OSR(开放系统资源)分析器没有多大帮助。WhoCrashed 分析器更有帮助。

它指出:

已发现并分析了 17 个故障转储。本报告中仅包含 10 个。已确定第三方驱动程序会导致您的计算机系统崩溃。强烈建议您在其公司网站上检查这些驱动程序的更新。单击下面的链接以使用 Google 搜索这些驱动程序的更新:

xenpci.sys (EJBPV XenPCI Driver (Checked Build), James Harper)
Run Code Online (Sandbox Code Playgroud)

我试图推动网络托管公司研究该主题,但他们可以空手而归。我不相信 Xen 驱动程序有错。WhoCrashed 发现了它,我认为这只是因为那是最后几次驱动程序,而且它是第三方,所以它有罪。我没有写 WhoCrashed,所以很难进一步评论。

我的问题是如何解决问题。

在过去的几年里,网络托管公司已经尝试给我提供两个新的虚拟机。问题转移了。我安装了 SQL Server,但默认安装的是 OS 和 Plesk。好的,还有邮件服务器软件。网络托管公司还告诉我,他们没有其他客户有类似的抱怨。他们多次运行磁盘测试。磁盘健康状况良好。

我没有检查注册表的健康状况,但问题在安装过程中发生并且经常发生,所以我不得不打折。我现在在我的第三个或第四个虚拟机上。

同样,我提到 Xen 是因为 WhoCrashed 提到了它,但我不相信这是原因,其他客户确实使用它。系统有足够的内存和存储空间,所以这不是问题。

更新:以下是网络托管公司对我的查询的一些回答。

通常情况下,卸载驱动程序后,VM 的性能会下降。硬件节点可能存在一些同步问题。

我使用的是检查版本还是发布版本?

您正在使用测试签名的版本,与开发人员网站上的版本相同。

我怎么知道?设备管理器中的 Xen PCI 属性对话框没有以一种方式或另一种方式说明。设备管理器中的条目是唯一的位置吗?我检查了程序和功能,但没有看到任何内容。

您可以在添加或删除程序下检查版本。请参阅随附的快照。

我如何/在哪里可以找到他们网站上最新版本的位置?

开发人员的站点不工作 - http://www.meadowcourt.org/downloads/ 你可以从这里下载最新的签名版本 - http://wiki.univention.de/index.php?title=Installing-signed-GPLPV-司机

我怎么知道哪个 Xen,0.11.0.373 属于(Xen 4.6?3.0?xy?)

我们使用的是 Xen 3.4.4,您无法从 VM 中看到它。只能从硬件节点查看。

更新 2:托管公司安装了两个 James Harper 软件。

GPL PV Drivers for Windows
EJB PV Drivers for Windows
Run Code Online (Sandbox Code Playgroud)

Rya*_*ies 18

xenpci.sys(EJBPV XenPCI 驱动程序(检查版本),James Harper)

( Checked Build ) 是一个巨大的危险信号。你绝对应该使用“选中”建立在生产什么。如果您的托管公司为您加载了这个驱动程序,那么他们绝对犯了一个错误。

已检查的构建包括有助于开发人员的无关符号和额外的错误检查。它们不是生产版本。

更详细地说,这告诉我的是,导致机器停止的任何错误可能仍然发生在检查的驱动程序版本中,但是,它可能只是导致非致命的副作用,例如内存泄漏发布构建。但是在checked build中,由于更严格的错误检查,它会停止整个操作系统。这就是检查构建的重点,在开发人员将代码交付给客户之前,强调错误并将它们推到开发人员的面前。

进一步详细说明,其他虚拟机是否也加载了相同的完全相同的驱动程序(已检查的构建)并且似乎没有崩溃并不重要。特定于该 VM 的某些组件正在调用触发该驱动程序中的错误的某些特定行为或状态。(驱动程序和应用程序以各种方式交互,也许两台机器加载了相同的错误驱动程序,但只有一个服务器安装了 SQL,并且由于服务器安装了 SQL,它以一种独特的方式锁定内存页其他服务器不这样做,这导致第 3 方驱动程序错误抬起丑陋的头。(仅举个例子。))

真的没有其他地方可以指责这里了。您不能在生产中运行经过检查的驱动程序构建并期望有一个美好的时光。它们仅用于开发和测试目的。

最后,从这里开始的唯一其他地方是收集完整转储并通过 WinDBG 运行它。您可以花费 6 个小时的密集调试、展开堆栈、跟踪线程、跟踪 IRP 到它们的完成端口……或者您可以摆脱已检查的构建驱动程序。:)

也可以尝试通过Driver Verifier运行驱动程序。在测试环境中。已检查的构建应保留的位置。;)

  • 那么你从哪里得到你的帖子中的“Checked Build”? (2认同)

yag*_*555 7

Xen 3.4.4 太旧了。2013 年 3 月 13 日

Windows 2012 R2于 2013 年 10 月 18 日发布。

为了进行实际比较,Citrix 的 XenServer 在2013 年 12 月 13 日发布的 6.2SP1 版本中添加了对 Windows Server 2012 R2 的支持。( http://support.citrix.com/article/CTX139788 )

请参阅 GPLPV 的驱动程序;您只看到2008R2 的Xen 分支 4.4.0 的参考..

来自 ejbdigital 的签名驱动程序在 Xen 4.4.0 上运行良好。如果您在安装这些驱动程序时遇到蓝屏,或者安装后重新启动,请尝试添加 device_model_version = "qemu-xen-traditional"。我有一个现有的 2008 R2 x64 系统,它在 gpl_pv 安装后持续失败并出现蓝屏。切换到“qemu-xen-traditional”设备模型解决了该问题。但是,在干净的 2008 R2 x64 系统上,我不必进行此更改,因此如果遇到麻烦,请记住这一点。 http://wiki.xen.org/wiki/Xen_Windows_GplPv

有关 Windows 支持的 xen 项目的官方声明,请参阅。我不是说它不能运行它,但你看到了支持。您将在该平台上运行生产服务器?

Xen Project 是否支持 Microsoft Windows?

迄今为止,我们用来获得如此高性能的半虚拟化方法还不能直接用于 Windows。然而,Xen 3.0 添加了 Intel VT-x 支持,以使用硬件虚拟化技术来运行未经修改的客户操作系统,包括 Windows XP 和 2003 Server。Xen 3.0.2 及更高版本也支持 AMD Pacifica 技术。检查您的 CPU 是否在 HVM 兼容处理器列表中,以及您的主板是否在 HVM 兼容主板列表中。

(注意:这并不一定意味着几乎所有操作系统都在 HVM 模式下运行!关于让 *BSD 在 HVM 模式下工作的报告各不相同,在邮件列表中,OpenBSD 只有 1 个成功(http://www.openbsd- france.org/ml/archives/msg02494.html ),其他人没有成功消息,但有一些问题报告) http://wiki.xenproject.org/wiki/Xen_FAQ_Drivers,_Windows