Windows Server 2012 R2上的关键结构损坏


15

我有Windows Server 2012 R2虚拟机;是的,所有更新。其他软件包括Microsoft SQL Server 2014(在以前的VM上为2012)。该虚拟主机公司包括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)

我试图推动网络托管公司研究该主题,但是他们可以空手而归。我不相信Xen驱动程序有问题。WhoCrashed接手了它,我认为这仅仅是因为几次是最后一个驱动程序,并且它是第三方,所以这让他感到内gui。我没有写WhoCrashed,所以很难进一步评论。

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

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

我没有检查注册表的运行状况,但是问题在安装过程中普遍存在,并且经常发生,因此,我必须对此予以打折。我现在在第三台或第四台虚拟机上。

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

更新:这是网络托管公司对我的查询的一些答案。

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

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

您使用的是经过测试签名的内部版本,与开发者网站中的版本相同。

我怎么知道?“设备管理器”中的“ Xen PCI属性”对话框没有说任何一种方法。设备管理器中的条目是唯一的位置吗?我检查了程序和功能,但未列出任何内容。

您可以在“添加或删除程序”下检查版本。请参考所附快照。

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

开发者网站无法正常运作- http://www.meadowcourt.org/downloads/ -你可以从这里donwload最新发布签署 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

2
Google快速搜索“ Xen Windows BSOD”会得出很多结果,尤其是当在最新的Windows VM上使用旧的Xen驱动程序时;罪魁祸首很可能就在那里。
Massimo 2015年

确定Xen驱动程序是否是罪魁祸首的最简单方法是将其卸载。
joeqwerty 2015年

我想到了这种选择,可悲的是,我不认为我的网络托管公司会这样做。他们在几次场合告诉我,系统需要管理程序才能访问PCIe插槽并正常运行。我将不得不与他们一起搜索我庞大的消息存档,以获取确切的用词,但基本上他们并不愿意。
莎拉·温伯格2015年

1
从VM卸载虚拟机监控程序驱动程序很可能会导致令人不快的结果,甚至无法启动。
Massimo 2015年

3
@SarahWeinberger,当虚拟主机为您提供新的VM时,它们是否在不同的硬件上?一堆BSoD显示最终似乎是由管理程序驱动程序引起的不同的顶级文件,这肯定是由内存不足引起的。如果您的“新” VM在同一硬件上,则有可能会继续体现出来。
briantist

Answers:


18

xenpci.sys(EJBPV XenPCI驱动程序(已检查构建),James Harper)

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

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

更详细地讲,这告诉我,导致机器停止的任何错误可能仍然发生在未经检查的驱动程序版本中,但是,这可能仅会引起非致命的副作用,例如内存泄漏。发布版本。但是在检查的版本中,由于更严格的错误检查,它将停止整个OS。这就是经过检查的构建的重点,目的是在将代码交付给客户之前,加重错误并将其推到开发人员的面前。

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

真的没有其他地方要怪了。您无法在生产中运行经过检查的驱动程序内部版本,并希望他们过得愉快。它们仅用于开发和测试目的。

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

也可以尝试通过Driver Verifier运行驱动程序。在测试环境中。检查的版本应该保留在哪里。;)


1
我将询问托管公司,是否正在使用经过检查的内部版本。我刚刚检查了设备管理器,并说“ Xen PCI设备驱动程序”为“ 9/17/2014 | 0.11.0.373”。在属性对话框的任何位置都看不到选中或释放,但是托管公司会知道更多。敬请关注。
莎拉·温伯格2015年

2
那您从哪里获得“已检查的内部版本”呢?
瑞安·里斯

我在报表底部复制并粘贴了WhoCrashed分析摘要块。OSR的报告不是很有帮助,这就是为什么我专注于WhoWrashed的原因,但是问题可能与Xen无关,可能是其他原因。有一次,一家网络托管公司的支持代理人试图将责任归咎于Microsoft和IIS,对此我不加理会。我同意WhoCRashed怀疑第三方代理。
莎拉·温伯格2015年

@SarahWeinberger检查文件大小,并至少在您有权访问的服务器之间进行比较;我不确定,但是对于选中和未选中的版本,文件大小应该有所不同(差异很大,以至于应该在文件大小中显示出来)。如果所有其他方法均失败,则计算校验和;即使是MD5在这里也可以。即使文件版本相同,选中的版本和未选中的版本也会有所不同。
CVn 2015年

@MichaelKjörling我必须去站点了解下载。在主持人发帖之前,我以为下载来自其他站点,这是我最初发布的站点。我的猜测是该站点有一个下载版本,一个发行版本,但是选中的版本也可以进行数字签名。可悲的是,卸载是在硬件节点上进行的,该节点似乎是Windows的较旧版本,因为他说的是“添加/删除程序”而不是“程序和功能”。无论哪种方式,卸载都已结束。我已经检查了P&F,但没有看到Xen。
莎拉·温伯格2015年

7

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

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

为了进行实际比较,Citrix的XenServer在其版本6.2SP1中添加了Windows Server 2012 R2的支持,该版本于2013年12月13日发布。(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


1
我将答案标记为(我是#4),并将答案和该URL一起转发给了我的网络托管公司。在出现此问题之前,我什至从未听说过Xen,所以我对这件事一无所知。您对版本日期的观点非常有效。Xen 3.4.0如何支持Windows 2012R2,而当时还不够。我将看到托管公司说的话。可悲的是,他们排除了Microsoft Hyper-V,不知道为什么。
莎拉·温伯格2015年

1
这个答案有所不同。这家臭名昭著的互联网托管公司没有做任何更改,只是给我写了这封电子邮件:“请注意,由于较旧的版本似乎容易受到攻击,我们计划将运行您的云服务器的Xen服务器的版本更新为最新版本。 。” 哇!
莎拉·温伯格

感谢您的反馈。如果我的回答有所帮助,我会很高兴:)
yagmoth555
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.