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

我有一个Windows Server 2012 R2虚拟机; 是的,所有的更新。 其他软件包括Microsoft SQL Server 2014(在之前的VM上是2012)。 Web托pipe公司在所有虚拟机和Plesk上都包含了xenpci.sys(EJBPV XenPCI驱动程序(Checked Build),James Harper)作为默认安装的一部分。

OS定期挂起,蓝屏或重新启动。 我确实收到了小型垃圾箱,但并不是所有的时间。 通常的问题是:

错误:CRITICAL_STRUCTURE_CORRUPTION

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

OSR(开放系统资源)分析器没有太大的帮助。 WhoCrashed分析器有点帮助。

它指出:

已发现并分析了17次故障转储。 本报告仅包含10个。 第三方驱动程序已被确定为在您的计算机上导致系统崩溃。 强烈build议您在公司网站上检查这些驱动程序的更新。 点击以下链接,与Google一起search这些驱动程序的更新:

xenpci.sys (EJBPV XenPCI Driver (Checked Build), James Harper) 

我试图推动networking托pipe公司研究这个话题,但他们可以空手而归。 我不相信Xen的司机是错的。 WhoCrashed捡到了它,我认为仅仅是因为这是最后一个驱动程序几次,而且是第三方,所以认为它是有罪的。 我没有写WhoCrashed,所以很难进一步评论。

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

networking托pipe公司在过去的几年中已经尝试给我两个新的虚拟机。 问题迁移。 我安装了SQL Server,但默认情况下是OS和Plesk。 好的,也有邮件服务器软件。 networking托pipe公司也告诉我,他们没有其他客户同样抱怨。 他们多次运行磁盘testing。 磁盘健康状况良好。

我没有检查registry的健康状况,但是这个问题在整个安装过程中很常见,所以我不得不打折。 我现在在我的第三或第四虚拟机上。

我再一次提到Xen,因为WhoCrashed提到了它,但是我不相信正因为这个原因,其他客户真的会这样做。 系统具有足够的内存和存储空间,所以这不是问题。

更新:这是从我的查询networking托pipe公司的一些答案。

通常情况下,一旦卸载驱动程序,虚拟机的性能将会降低。 硬件节点可能会有一些同步问题。

我正在使用一个检查或释放构build?

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

我怎么知道 “设备pipe理器”中的“Xen PCI属性”对话框中没有提到这种方法。 设备pipe理器中的条目是唯一的位置吗? 我检查了程序和function,没有列出任何东西。

您可以在“添加或删除程序”下查看版本。 请参阅附件快照。

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

开发人员的网站不工作 – 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,你无法从你的虚拟机看到它。 它只能从硬件节点查看。

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

 GPL PV Drivers for Windows EJB PV Drivers for Windows 

xenpci.sys(EJBPV XenPCI驱动程序( Checked Build ),James Harper)

Checked Build )是一个巨大的红旗。 你绝对应该使用“检查”生产任何东西的构build。 如果您的托pipe公司为您加载了这个驱动程序,那么他们绝对犯了一个错误。

选中的版本包括无关的符号和额外的错误检查,以帮助开发人员。 他们不是生产版本。

为了进一步阐述,告诉我的是,无论是什么错误导致机器停止可能仍然发生在驱动程序的未经检查的构build,但是,它可能只是造成非致命的副作用,如内存泄漏发布版本。 但在检查版本中,由于更严格的错误检查,它会停止整个操作系统。 这是检查构build的重点,在将代码发送给客户之前,强调错误并将其推到开发者的面前。

为了进一步阐述,其他虚拟机是否也加载了相同的确切驱动程序(检查构build)并且不会崩溃。 某些特定于该VM的组件正在调用一些触发该驱动程序中的错误的某些行为或状态。 (驱动程序和应用程序以各种方式进行交互,也许两台机器加载了相同的错误驱动程序,但只有一台服务器安装了SQL,而且由于服务器安装了SQL,它会以这种方式进行独特的内存页locking其他的服务器不行,这会导致第三方驱动程序错误的后面丑陋的头(只是一个例子))

这里真的没有别的什么地方责怪了。 您不能在生产环境中运行已检查的驱动程序版本,并且期望能够有一个愉快的时间。 它们仅用于开发和testing目的。

最后,唯一的另外一个地方就是收集整个转储文件,并通过WinDBG运行。 您可以花费六个小时的紧张debugging,解开堆栈,跟踪线程,跟踪IRP到他们的完成端口…或者你可以摆脱检查的构build驱动程序。 🙂

也可以尝试通过驱动程序validation程序运行驱动程序 。 在testing环境中。 在哪里检查构build应该留下来。 ;)

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安装后,BSOD发生故障。 切换到“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