CORRUPCIÓN DE ESTRUCTURA CRÍTICA en Windows Server 2012 R2

15

Tengo una máquina virtual Windows Server 2012 R2; Sí, con todas las actualizaciones. El software adicional incluye Microsoft SQL Server 2014 (era 2012 en una VM anterior). La empresa de alojamiento web incluye xenpci.sys (EJBPV XenPCI Driver (Checked Build), James Harper) como parte de su instalación predeterminada en todas las máquinas virtuales y Plesk.

Periódicamente, el sistema operativo se bloquea, se vuelve azul o se reinicia. Sí recibo mini volcados, aunque no todo el tiempo. El problema habitual es:

Error: CRITICAL_STRUCTURE_CORRUPTION

El archivo de nivel superior específico, obviamente no es la causa, varía: win32k.sys, ntoskrnl.exe, xenpci.sys (el controlador Xen, aunque solo apareció un par de veces) y ndis.sys.

El analizador OSR (Open System Resources) no fue de mucha ayuda. El analizador WhoCrashed fue un poco más útil.

Declaró:

Se han encontrado y analizado 17 volcados de memoria. Solo 10 están incluidos en este informe. Se ha identificado que un controlador de terceros está causando fallas del sistema en su computadora. Se recomienda encarecidamente que busque actualizaciones para estos controladores en los sitios web de sus empresas. Haga clic en los enlaces a continuación para buscar con Google actualizaciones para estos controladores:

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

Traté de presionar a la empresa de alojamiento web para que investigara el tema, pero pueden levantar las manos vacías. No estoy convencido de que los controladores Xen tengan la culpa. WhoCrashed lo captó, supongo simplemente porque ese fue el último conductor un par de veces y es un tercero, por lo que eso lo hace culpable. No escribí WhoCrashed, tan difícil de comentar más.

Mi pregunta es cómo solucionar el problema.

La empresa de alojamiento web ya intentó darme dos máquinas virtuales nuevas en los últimos años. El problema migra. Instalé SQL Server, pero el sistema operativo y Plesk vinieron por defecto. De acuerdo, también está el software del servidor de correo. La empresa de alojamiento web también me dijo que no tienen otros clientes que se quejen de manera similar. Ejecutaron pruebas de disco varias veces. La salud del disco es buena.

No verifiqué el estado del registro, pero el problema afecta a las instalaciones y ocurre de manera bastante rutinaria, por lo que tendría que descartarlo. Estoy en mi tercera o cuarta máquina virtual ahora.

Nuevamente, menciono a Xen porque WhoCrashed lo mencionó, pero no estoy convencido de que sea la causa, y otros clientes realmente lo usan. El sistema tiene memoria y almacenamiento adecuados, por lo que no es un problema.

ACTUALIZACIÓN: Aquí hay algunas respuestas de la empresa de alojamiento web a mi consulta.

En el escenario habitual, el rendimiento de la VM se degradará una vez que desinstale los controladores. Puede haber algunos problemas de sincronización con el nodo de hardware.

¿Estoy usando una compilación comprobada o de lanzamiento?

Está utilizando una compilación firmada de prueba, las mismas del sitio del desarrollador.

¿Cómo puedo decir? El cuadro de diálogo de propiedades PCI de Xen en el Administrador de dispositivos no decía de una manera u otra. ¿Es la entrada en el Administrador de dispositivos la única ubicación? Revisé Programas y características y no vi nada en la lista.

Puede verificar la versión en Agregar o quitar programas. Consulte la instantánea adjunta.

¿Cómo / dónde puedo encontrar dónde está la última versión en su sitio?

El sitio del desarrollador no funciona: http://www.meadowcourt.org/downloads/ Puede descargar las últimas versiones firmadas desde aquí: http://wiki.univention.de/index.php?title=Installing-signed-GPLPV- conductores

¿Cómo puedo saber a qué Xen pertenece 0.11.0.373 (Xen 4.6? 3.0? Xy?)

Estamos usando Xen 3.4.4, no puede verlo desde su VM. Solo se puede ver desde el nodo de hardware.

Actualización 2: la compañía de hosting instaló dos software James Harper.

GPL PV Drivers for Windows
EJB PV Drivers for Windows
Sarah Weinberger
fuente
2
Una búsqueda rápida en Google de "Xen Windows BSOD" arroja muchos resultados, especialmente cuando se utilizan controladores Xen antiguos en máquinas virtuales recientes de Windows; Es muy probable que el culpable esté allí.
Massimo
La forma más fácil de determinar si el controlador Xen es el culpable sería desinstalarlo.
joeqwerty
Pensé en esa opción, lamentablemente no creo que mi empresa de alojamiento web vaya a por eso. Me dijeron en varias ocasiones que el sistema necesita el hipervisor para obtener acceso a las ranuras PCIe y funcionar correctamente. Tendría que buscar en mi enorme archivo de mensajes con ellos para obtener la redacción exacta, pero básicamente no estaban muy dispuestos.
Sarah Weinberger
1
Es muy probable que la desinstalación de los controladores del hipervisor de una VM logre resultados desagradables, hasta que ya no se pueda iniciar.
Massimo
3
@SarahWeinberger, cuando el proveedor de alojamiento web le dio nuevas máquinas virtuales, ¿estaban en un hardware diferente? Un montón de BSoD que muestran diferentes archivos de nivel superior que, en última instancia, parecen ser causados ​​por el controlador del hipervisor, parece algo que podría deberse a una mala memoria. Si sus "nuevas" máquinas virtuales están en el mismo hardware, entonces es posible que esto continúe manifestándose.
briantist

Respuestas:

18

xenpci.sys (controlador EJBPV XenPCI ( compilación comprobada ), James Harper)

( Construcción marcada ) es una gran bandera roja. A pesar de todo debe no estar usando "marcada" obra de cualquier cosa en la producción. Si su empresa de hosting cargó este controlador por usted, cometieron un error absoluto.

Las compilaciones marcadas incluyen símbolos extraños y comprobación adicional de errores que ayudan a los desarrolladores. No son construcciones de producción.

Para más detalles, lo que esto me dice es que cualquier error que esté causando que la máquina se detenga probablemente todavía ocurra en la compilación no verificada del controlador, sin embargo, probablemente solo esté causando un efecto secundario no fatal como una pérdida de memoria en el lanzamiento de compilación. Pero en la compilación comprobada, debido a la comprobación de errores más estricta, detiene todo el sistema operativo. Ese es el punto de las compilaciones comprobadas, para acentuar los errores y ponerlos en la cara del desarrollador, antes de enviar el código a los clientes.

Para más detalles, en realidad no importa si otras máquinas virtuales también tienen ese mismo controlador cargado (la compilación comprobada) y no parecen fallar. Algún componente específico de esa VM está invocando cierto comportamiento o estado que está activando el error en ese controlador. (Los controladores y las aplicaciones interactúan de todo tipo, tal vez dos máquinas tienen cargado el mismo controlador defectuoso, pero solo uno de los servidores tiene SQL instalado, y dado que el servidor tiene SQL instalado, esta página de memoria única se bloquea de una manera que el otro servidor no lo hace, lo que hace que el error del controlador de terceros forme su fea cabeza (solo un ejemplo).

Realmente no hay otro lugar donde culpar aquí. No puede ejecutar compilaciones comprobadas de controladores en producción y esperar pasar un buen rato. Son solo para fines de desarrollo y prueba.

Por último, el único otro lugar para ir desde aquí sería recolectar el volcado completo y ejecutarlo a través de WinDBG. Puede pasar seis horas de depuración intensa, desenrollar pilas, rastrear subprocesos, seguir los IRP a sus puertos de finalización ... o simplemente puede deshacerse de ese controlador de compilación verificado. :)

También podría intentar ejecutar el controlador a través de Driver Verifier . En un entorno de prueba. Donde las construcciones verificadas deben permanecer. ;)

Ryan Ries
fuente
1
Preguntaré sobre la empresa de alojamiento si estoy usando una compilación comprobada o no. Acabo de comprobar Device Manager y todo lo que dice para "Xen PCI Device Driver" es "17/09/2014 | 0.11.0.373". No veo marcado ni publicado en ninguna parte del cuadro de diálogo de propiedades, pero la empresa de hosting sabrá más. Manténganse al tanto.
Sarah Weinberger
2
Entonces, ¿de dónde sacaste la "compilación comprobada" en tu publicación?
Ryan Ries
Copié y pegué el bloque de resumen de análisis WhoCrashed en la parte inferior del informe. El informe de OSR no fue muy útil, por eso me centré en el WhoCrashed, pero el problema puede no estar relacionado con Xen y podría ser otra cosa. En un momento, uno de los agentes de soporte de la compañía de alojamiento web trató de echarle la culpa a Microsoft e IIS, por lo que lo descarté de inmediato. Estoy de acuerdo con WhoCrashed en sospechar de un agente externo.
Sarah Weinberger
@SarahWeinberger Verifique el tamaño del archivo, y al menos compare entre los servidores a los que tiene acceso; No lo sé con certeza, pero los tamaños de archivo deberían ser diferentes para las compilaciones comprobadas y no comprobadas (las diferencias son lo suficientemente significativas como para que se muestre en el tamaño del archivo). Si todo lo demás falla, calcule una suma de verificación; incluso MD5 funcionará bien aquí. Las compilaciones marcadas y no marcadas serán diferentes allí, incluso si la versión del archivo es la misma.
un CVn
@ MichaelKjörling Tengo que ir al sitio y entender las descargas. Hasta la publicación del anfitrión, pensé que la descarga provenía de un sitio diferente, el que publiqué originalmente. Supongo que el sitio tiene una descarga, una versión lanzada, pero las compilaciones comprobadas también pueden firmarse digitalmente. Lamentablemente, la desinstalación está en el nodo de hardware, que parece ser una versión anterior de Windows, ya que dice "Agregar o quitar programas" y no "Programas y características". De cualquier manera, la desinstalación está de su lado. Ya revisé P&F y no vi a Xen.
Sarah Weinberger
7

Xen 3.4.4 es demasiado viejo. 13 de marzo de 2013

Windows 2012 R2 se lanzó el 18 de octubre de 2013 .

Para darle una comparación real, XenServer de Citrix agregó el soporte de Windows Server 2012 R2 en su versión 6.2SP1, que se lanzó el 13 de diciembre de 2013 . ( http://support.citrix.com/article/CTX139788 )

Vea eso para el controlador de GPLPV; solo ve referencia a Xen branch 4.4.0 para 2008R2 ..

Los controladores firmados de ejbdigital funcionan muy bien en Xen 4.4.0. Si experimenta una pantalla azul mientras instala estos controladores, o después de reiniciar después de instalarlos, intente agregar device_model_version = "qemu-xen-traditional". Tenía un sistema 2008 R2 x64 existente que fallaba constantemente con un BSOD después de la instalación de gpl_pv. Cambiar al modelo de dispositivo 'qemu-xen-tradicional' resolvió el problema. Sin embargo, en un sistema 2008 R2 x64 limpio, no tuve que hacer este cambio, así que tenga esto en cuenta si tiene problemas. http://wiki.xen.org/wiki/Xen_Windows_GplPv

Vea eso para la declaración oficial del proyecto xen sobre el soporte de Windows. No quiero decir que no pueda ejecutarlo, pero ves el soporte. ¿Ejecutará un servidor de producción en esa plataforma?

¿Xen Project es compatible con Microsoft Windows?

El enfoque paravirtualizado que utilizamos para obtener un rendimiento tan alto no se ha podido utilizar directamente para Windows hasta la fecha . Sin embargo, Xen 3.0 agregó compatibilidad con Intel VT-x para permitir la ejecución de sistemas operativos invitados no modificados, incluidos Windows XP y 2003 Server, utilizando tecnología de virtualización de hardware. Xen 3.0.2 y posterior también admiten la tecnología AMD Pacifica. Verifique si su CPU está entre la lista de procesadores compatibles con HVM y si su placa base está entre la lista de placas base compatibles con HVM.

(Nota: ¡Esto no significa necesariamente que casi cualquier sistema operativo se ejecute en modo HVM! Los informes varían sobre cómo lograr que * BSD funcione en modo HVM, en la lista de correo solo hay 1 éxito para OpenBSD ( http: //www.openbsd- france.org/ml/archives/msg02494.html ), ningún mensaje de éxito para los demás, pero algunos informes de problemas) http://wiki.xenproject.org/wiki/Xen_FAQ_Drivers,_Windows

yagmoth555
fuente
1
Marqué la respuesta (soy # 4) y envié la respuesta junto con esta URL a mi empresa de alojamiento web. Nunca escuché de Xen antes de este problema, así que soy nuevo en todo. Su punto sobre las fechas de la versión es muy válido. ¿Cómo podría Xen 3.4.0 soportar Windows 2012R2, cuando eso ni siquiera estaba disponible en ese momento? Veré lo que dice la empresa de hosting. Lamentablemente, descartaron Microsoft Hyper-V, sin saber por qué.
Sarah Weinberger
1
Esta respuesta hizo la diferencia. La empresa de alojamiento web, infame por no cambiar nada, simplemente me escribió este correo electrónico: "Tenga en cuenta que estamos planeando actualizar la versión del servidor Xen en el que se ejecuta su servidor en la nube, a la última versión ya que las versiones anteriores parecen ser vulnerables ". ¡Guauu!
Sarah Weinberger
Gracias por la respuesta. Me alegro si mi respuesta ayudó :)
yagmoth555