KRITISCHE STRUKTURKORRUPTION unter Windows Server 2012 R2

15

Ich habe eine virtuelle Windows Server 2012 R2-Maschine. ja mit all den updates. Zusätzliche Software umfasst Microsoft SQL Server 2014 (war 2012 auf einer früheren VM). Das Webhosting-Unternehmen umfasst xenpci.sys (EJBPV XenPCI-Treiber (Checked Build), James Harper) als Teil seiner Standardinstallation auf allen VMs und Plesk.

Das Betriebssystem bleibt in regelmäßigen Abständen hängen, zeigt einen Bluescreen an oder startet neu. Ich bekomme Minidumps, wenn auch nicht die ganze Zeit. Das übliche Problem ist:

Fehler: CRITICAL_STRUCTURE_CORRUPTION

Die spezifische Datei auf oberster Ebene, offensichtlich nicht die Ursache, variiert: win32k.sys, ntoskrnl.exe, xenpci.sys (der Xen-Treiber wurde jedoch nur ein paar Mal angezeigt) und ndis.sys.

Der OSR-Analysator (Open System Resources) war nicht sehr hilfreich. Der WhoCrashed-Analysator war etwas hilfreicher.

Es stellte fest:

Es wurden 17 Crash-Dumps gefunden und analysiert. Nur 10 sind in diesem Bericht enthalten. Es wurde festgestellt, dass ein Treiber eines Drittanbieters Systemabstürze auf Ihrem Computer verursacht. Es wird dringend empfohlen, auf den Websites des Unternehmens nach Updates für diese Treiber zu suchen. Klicken Sie auf die folgenden Links, um mit Google nach Updates für diese Treiber zu suchen:

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

Ich habe versucht, die Web-Hosting-Firma dazu zu bringen, das Thema zu recherchieren, aber sie kann mit leeren Händen darüber nachdenken. Ich bin nicht überzeugt, dass die Xen-Treiber schuld sind. WhoCrashed hat es aufgegriffen, ich nehme nur an, weil es ein paar Mal der letzte Fahrer war und es eine dritte Partei ist, die es schuldig macht. Ich habe WhoCrashed nicht geschrieben, so schwer weiter zu kommentieren.

Meine Frage ist, wie das Problem behoben werden kann.

Das Webhosting-Unternehmen hat in den letzten Jahren bereits versucht, mir zwei neue virtuelle Maschinen zur Verfügung zu stellen. Das Problem migriert. Ich habe SQL Server installiert, aber das Betriebssystem und Plesk wurden standardmäßig mitgeliefert. Okay, es gibt auch die Mailserver-Software. Die Web-Hosting-Firma sagte mir auch, dass sie keine anderen Kunden haben, die sich ähnlich beschweren. Sie führten mehrere Plattentests durch. Die Festplattengesundheit ist gut.

Ich habe den Zustand der Registrierung nicht überprüft, aber das Problem tritt bei allen Installationen auf und passiert ziemlich routinemäßig. Ich bin jetzt auf meiner dritten oder vierten VM.

Wiederum erwähne ich Xen, weil WhoCrashed es erwähnt hat, aber ich bin nicht davon überzeugt, dass dies die Ursache ist und andere Kunden dies wirklich tun. Das System verfügt über ausreichend Speicher und Speicher, sodass dies kein Problem darstellt.

UPDATE: Hier sind einige Antworten des Webhosting-Unternehmens auf meine Frage.

In einem normalen Szenario wird die Leistung der VM beeinträchtigt, sobald Sie die Treiber deinstallieren. Möglicherweise sind Synchronisierungsprobleme mit dem Hardware-Knoten aufgetreten.

Verwende ich einen geprüften Build oder einen Release-Build?

Sie verwenden einen von einem Test signierten Build, der derselbe ist, der sich auf der Website des Entwicklers befindet.

Wie kann ich sagen? Das Dialogfeld mit den Xen PCI-Eigenschaften im Geräte-Manager hat nicht die eine oder andere Weise angegeben. Ist der Eintrag im Geräte-Manager der einzige Speicherort? Ich habe Programme und Funktionen eingecheckt und nichts gefunden.

Sie können die Version unter Programme hinzufügen oder entfernen überprüfen. Siehe den beigefügten Schnappschuss.

Wie / wo finde ich heraus, wo sich die neueste Version auf der Website befindet?

Die Website des Entwicklers funktioniert nicht - http://www.meadowcourt.org/downloads/ Hier können Sie die neuesten signierten Versionen herunterladen - http://wiki.univention.de/index.php?title=Installing-signed-GPLPV- Fahrer

Woran erkenne ich, zu welchem ​​Xen 0.11.0.373 gehört (Xen 4.6? 3.0? Xy?)

Wir verwenden Xen 3.4.4. Sie können es nicht von Ihrer VM aus sehen. Sie kann nur vom Hardwareknoten aus angezeigt werden.

Update 2: Das Hosting-Unternehmen installierte zwei James Harper-Software.

GPL PV Drivers for Windows
EJB PV Drivers for Windows
Sarah Weinberger
quelle
2
Eine schnelle Google-Suche nach "Xen Windows BSOD" liefert viele Ergebnisse, insbesondere wenn alte Xen-Treiber auf aktuellen Windows-VMs verwendet werden. Der Täter ist sehr wahrscheinlich dort.
Massimo
Der einfachste Weg, um festzustellen, ob der Xen-Treiber der Schuldige ist, ist die Deinstallation.
Joeqwerty
Ich habe über diese Option nachgedacht, leider glaube ich nicht, dass meine Webhosting-Firma das machen wird. Sie sagten mir mehrmals, dass das System den Hypervisor benötigt, um auf die PCIe-Steckplätze zuzugreifen und ordnungsgemäß zu funktionieren. Ich müsste mein riesiges Nachrichtenarchiv mit ihnen durchsuchen, um den genauen Wortlaut zu erhalten, aber im Grunde waren sie nicht sehr bereit.
Sarah Weinberger
1
Das Deinstallieren der Hypervisor-Treiber von einer VM führt mit hoher Wahrscheinlichkeit zu unangenehmen Ergebnissen, bis hin zum Ausfall des Startvorgangs.
Massimo
3
@SarahWeinberger, als der Webhost Ihnen neue VMs gab, befanden sich diese auf unterschiedlicher Hardware? Eine Reihe von BSoDs mit verschiedenen Dateien der obersten Ebene, die letztendlich vom Hypervisor-Treiber verursacht zu werden scheinen, scheinen sicher etwas zu sein, das durch schlechten Arbeitsspeicher verursacht werden könnte. Wenn sich Ihre "neuen" VMs auf derselben Hardware befinden, wird dies möglicherweise weiterhin angezeigt.
Briantist

Antworten:

18

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

( Checked Build ) ist eine riesige rote Fahne. Sie sollten absolut keine "geprüften" Builds von irgendetwas in der Produktion verwenden. Wenn Ihr Hosting-Unternehmen diesen Treiber für Sie geladen hat, hat es einen absoluten Fehler gemacht.

Geprüfte Builds enthalten zusätzliche Symbole und Fehlerprüfungen, die den Entwicklern helfen. Sie sind keine Produktionsgebäude.

Um näher ausgestalten, das , was mir sagt , ist , dass alles , was Fehler der Maschine wahrscheinlich verursacht noch in der auftritt , zu stoppen un den Fahrers -checked zu bauen, aber es ist wahrscheinlich nur eine nicht-tödliche Nebenwirkung verursacht, wie ein Speicherleck in der Release Build. Im geprüften Build wird jedoch aufgrund der strengeren Fehlerprüfung das gesamte Betriebssystem gestoppt. Das ist der Punkt bei überprüften Builds, um Fehler hervorzuheben und den Entwicklern vor Augen zu halten, bevor sie den Code an Kunden versenden.

Um genauer zu sein, spielt es keine Rolle, ob auf anderen VMs genau derselbe Treiber geladen ist (der aktivierte Build) und anscheinend nicht abstürzt. Einige für diese VM spezifische Komponenten rufen ein bestimmtes Verhalten oder einen bestimmten Zustand auf, der den Fehler in diesem Treiber auslöst. (Treiber und Anwendungen interagieren auf vielfältige Weise. Möglicherweise ist auf zwei Computern derselbe Buggy-Treiber geladen, aber auf nur einem der Server ist SQL installiert. Da auf dem Server SQL installiert ist, wird diese eindeutige Speicherseiten-Sperre auf die gleiche Weise durchgeführt wie auf dem Computer Ein anderer Server tut dies nicht, was dazu führt, dass der Treiberfehler eines Drittanbieters seinen hässlichen Kopf aufrichtet. (Nur ein Beispiel.)

Es gibt wirklich keinen Ort, an dem man die Schuld geben könnte. Sie können keine überprüften Builds von Treibern in der Produktion ausführen und erwarten, dass Sie eine gute Zeit haben. Sie dienen nur zu Entwicklungs- und Testzwecken.

Schließlich ist der einzige andere Ort, an dem Sie von hier aus vorgehen können, das Sammeln eines vollständigen Speicherauszugs und dessen Ausführung über WinDBG. Sie können sechs Stunden intensives Debuggen, Abwickeln von Stacks, Verfolgen von Threads und Verfolgen von IRPs zu ihren Abschlussports verbringen ... oder Sie können einfach den aktivierten Build-Treiber entfernen. :)

Versuchen Sie möglicherweise auch, den Treiber über Driver Verifier auszuführen . In einer Testumgebung. Wo überprüfte Builds bleiben sollen. ;)

Ryan Ries
quelle
1
Ich werde nach dem Hosting-Unternehmen fragen, ob ich ein geprüftes Build verwende oder nicht. Ich habe gerade den Geräte-Manager überprüft und alles, was darin für "Xen PCI Device Driver" steht, ist "9/17/2014 | 0.11.0.373". Ich sehe nirgendwo im Eigenschaftendialog ein Häkchen oder eine Freigabe, aber das Hosting-Unternehmen wird mehr wissen. Bleib dran.
Sarah Weinberger
2
Woher hast du dann den "Checked Build" in deinem Beitrag?
Ryan Ries
Ich habe den WhoCrashed-Analysezusammenfassungsblock am Ende des Berichts kopiert und eingefügt. Der Bericht von OSR war nicht sehr hilfreich, weshalb ich mich auf den von WhoCrashed konzentrierte, aber das Problem hängt möglicherweise nicht mit Xen zusammen und könnte etwas anderes sein. Irgendwann versuchte einer der Support-Agenten des Webhosting-Unternehmens, Microsoft und IIS die Schuld zuzuweisen, was ich sofort zurückwies. Ich bin damit einverstanden, dass WhoCRashed einen Dritten als Agenten verdächtigt.
Sarah Weinberger
@SarahWeinberger Überprüfen Sie die Dateigröße und vergleichen Sie zumindest die Server, auf die Sie Zugriff haben. Ich weiß es nicht genau, aber die Dateigrößen sollten für überprüfte und nicht überprüfte Builds unterschiedlich sein (die Unterschiede sind so bedeutend, dass sie in der Dateigröße angezeigt werden sollten). Wenn alles andere fehlschlägt, berechnen Sie eine Prüfsumme. auch MD5 wird hier gut tun. Die überprüften und nicht überprüften Builds sind dort unterschiedlich, auch wenn die Dateiversion identisch ist.
ein Lebenslauf vom
@ MichaelKjörling Ich muss auf die Seite gehen und die Downloads verstehen. Bis zum Post des Hosts dachte ich, der Download stamme von einer anderen Site, die ich ursprünglich gepostet habe. Ich vermute, dass die Site einen Download hat, eine veröffentlichte Version, aber überprüfte Builds können auch digital signiert werden. Leider befindet sich die Deinstallation auf dem Hardware-Knoten, der anscheinend eine ältere Version von Windows ist, da er von "Software" und nicht von "Programme und Funktionen" spricht. In jedem Fall ist die Deinstallation zu Ende. Ich habe P & F bereits überprüft und Xen nicht gesehen.
Sarah Weinberger
7

Xen 3.4.4 ist zu alt. 13. März 2013

Windows 2012 R2 wurde am 18. Oktober 2013 veröffentlicht .

Um Ihnen einen Vergleich zu ermöglichen, hat XenServer von Citrix die Unterstützung von Windows Server 2012 R2 in der Version 6.2SP1 hinzugefügt, die am 13. Dezember 2013 veröffentlicht wurde . ( http://support.citrix.com/article/CTX139788 )

Sehen Sie sich das für den GPLPV-Treiber an. Es wird nur ein Verweis auf Xen-Zweig 4.4.0 für 2008R2 angezeigt .

Die signierten Treiber von ejbdigital eignen sich hervorragend für Xen 4.4.0. Wenn bei der Installation dieser Treiber oder nach einem Neustart nach der Installation ein Bluescreen auftritt, fügen Sie bitte device_model_version = "qemu-xen-traditional" hinzu. Ich hatte ein vorhandenes 2008 R2 x64-System, das nach der Installation von gpl_pv durchgehend mit einem BSOD versagt hat. Der Wechsel zum Gerätemodell 'qemu-xen-traditional' hat das Problem behoben. Auf einem sauberen 2008 R2 x64-System musste ich diese Änderung jedoch nicht vornehmen. Denken Sie also daran, wenn Sie auf Probleme stoßen. http://wiki.xen.org/wiki/Xen_Windows_GplPv

Die offizielle Erklärung des Xen-Projekts zur Windows-Unterstützung finden Sie hier. Ich meine nicht, dass es nicht laufen kann, aber Sie sehen die Unterstützung. Sie werden einen Produktionsserver auf dieser Plattform ausführen?

Unterstützt Xen Project Microsoft Windows?

Der paravirtualisierte Ansatz, mit dem wir eine derart hohe Leistung erzielen, war bisher für Windows nicht direkt anwendbar . Xen 3.0 fügte jedoch die Intel VT-x-Unterstützung hinzu, um das Ausführen von unveränderten Gastbetriebssystemen, einschließlich Windows XP und 2003 Server, mithilfe der Hardware-Virtualisierungstechnologie zu ermöglichen. Xen 3.0.2 und höher unterstützen auch AMD Pacifica-Technologie. Überprüfen Sie, ob sich Ihre CPU in der Liste der HVM-kompatiblen Prozessoren befindet und ob sich Ihr Motherboard in der Liste der HVM-kompatiblen Motherboards befindet.

(Hinweis: Dies bedeutet nicht unbedingt, dass so gut wie jedes Betriebssystem im HVM-Modus ausgeführt wird. Berichte variieren darüber , ob * BSD im HVM-Modus funktioniert. Auf der Mailing-Liste gibt es nur 1 Erfolg für OpenBSD ( http: //www.openbsd- france.org/ml/archives/msg02494.html ), keine Erfolgsmeldung für die anderen, aber einige Problemmeldungen) http://wiki.xenproject.org/wiki/Xen_FAQ_Drivers,_Windows

yagmoth555
quelle
1
Ich habe die Antwort markiert (ich bin Nummer 4) und die Antwort zusammen mit dieser URL an mein Webhosting-Unternehmen weitergeleitet. Ich habe vor diesem Problem noch nie von Xen gehört, daher bin ich neu in der ganzen Sache. Ihr Hinweis zu Versionsdaten ist sehr gültig. Wie könnte Xen 3.4.0 Windows 2012R2 unterstützen, wenn das zu der Zeit noch nicht mal raus war? Ich werde sehen, was die Hosting-Firma sagt. Leider haben sie Microsoft Hyper-V ausgeschlossen, nicht sicher warum.
Sarah Weinberger
1
Diese Antwort machte einen Unterschied. Das Webhosting-Unternehmen, das dafür berüchtigt ist, nichts zu ändern, hat mir gerade diese E-Mail geschrieben: "Bitte beachten Sie, dass wir vorhaben, die Version des Xen-Servers, auf dem Ihr Cloud-Server ausgeführt wird, auf den neuesten Stand zu bringen, da die älteren Versionen anfällig zu sein scheinen . " Beeindruckend!
Sarah Weinberger
Danke für die Rückmeldung. Ich
bin