CORRUZIONE DELLA STRUTTURA CRITICA su Windows Server 2012 R2


15

Ho una macchina virtuale Windows Server 2012 R2; si con tutti gli aggiornamenti. Il software aggiuntivo include Microsoft SQL Server 2014 (era il 2012 su una VM precedente). La società di web hosting include xenpci.sys (EJBPV XenPCI Driver (Checked Build), James Harper) come parte dell'installazione predefinita su tutte le macchine virtuali e Plesk.

Periodicamente, il sistema operativo si blocca, schermate blu o riavvii. Ricevo mini discariche, anche se non sempre. Il solito problema è:

Errore: CRITICAL_STRUCTURE_CORRUPTION

Il file di livello superiore specifico, ovviamente non la causa, varia: win32k.sys, ntoskrnl.exe, xenpci.sys (il driver Xen, anche se mostrato solo un paio di volte) e ndis.sys.

L'analizzatore OSR (Open System Resources) non è stato di grande aiuto. L'analizzatore WhoCrashed è stato un po 'più utile.

Ha dichiarato:

17 discariche sono state trovate e analizzate. Solo 10 sono inclusi in questo rapporto. È stato identificato un driver di terze parti che causa arresti anomali del sistema sul computer. Si consiglia vivamente di verificare la presenza di aggiornamenti per questi driver sui siti Web dell'azienda. Fare clic sui collegamenti seguenti per cercare con Google aggiornamenti per questi driver:

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

Ho cercato di spingere la società di web hosting a ricercare l'argomento, ma possono alzare a mani vuote. Non sono convinto che i driver Xen siano in errore. WhoCrashed ha raccolto su di esso, presumo semplicemente perché quello è stato l'ultimo driver un paio di volte ed è una terza parte, quindi questo lo rende colpevole. Non ho scritto WhoCrashed, così difficile commentare ulteriormente.

La mia domanda è come risolvere il problema.

La società di web hosting ha già provato a darmi due nuove macchine virtuali negli ultimi due anni. Il problema migra. Ho installato SQL Server, ma il sistema operativo e Plesk sono arrivati ​​per impostazione predefinita. Va bene, c'è anche il software del server di posta. La società di web hosting mi ha anche detto che non hanno altri clienti che si lamentano allo stesso modo. Hanno eseguito test del disco più volte. La salute del disco è buona.

Non ho verificato lo stato del registro, ma il problema riguarda le installazioni e si verifica abbastanza regolarmente, quindi dovrei scartarlo. Sono sulla mia terza o quarta VM ora.

Ancora una volta, cito Xen perché WhoCrashed lo ha menzionato, ma non sono convinto che sia la causa, e altri clienti lo usano davvero. Il sistema ha memoria e spazio di archiviazione adeguati, quindi non è un problema.

AGGIORNAMENTO: Ecco alcune risposte della società di web hosting alla mia domanda.

Nel solito scenario, le prestazioni della macchina virtuale diminuiranno una volta disinstallati i driver. Potrebbero esserci alcuni problemi di sincronizzazione con il nodo hardware.

Sto usando una build verificata o rilasciata?

Stai usando una build firmata dal test, la stessa dal sito dello sviluppatore.

Come posso dirlo? La finestra di dialogo delle proprietà PCI Xen in Gestione dispositivi non diceva in un modo o nell'altro. La voce in Gestione dispositivi è l'unica posizione? Ho controllato Programmi e funzionalità e non ho visto nulla elencato.

È possibile controllare la versione in Aggiungi o rimuovi programmi. Fare riferimento all'istantanea allegata.

Come / dove posso trovare la versione più recente sul loro sito?

Il sito dello sviluppatore non funziona - http://www.meadowcourt.org/downloads/ Puoi scaricare le ultime versioni firmate da qui - http://wiki.univention.de/index.php?title=Installing-signed-GPLPV- autisti

Come posso sapere a quale Xen appartiene 0.11.0.373 (Xen 4.6? 3.0? Xy?)

Stiamo usando Xen 3.4.4, non puoi vederlo dalla tua VM. Può essere visualizzato solo dal nodo hardware.

Aggiornamento 2: la società di hosting ha installato due software James Harper.

GPL PV Drivers for Windows
EJB PV Drivers for Windows

2
Una rapida ricerca su Google di "Xen Windows BSOD" produce molti risultati, soprattutto quando i vecchi driver Xen vengono utilizzati su macchine virtuali Windows recenti; è probabile che il colpevole sia lì.
Massimo

Il modo più semplice per determinare se il driver Xen è il colpevole sarebbe disinstallarlo.
joeqwerty,

Ho pensato a quell'opzione, purtroppo non credo che la mia società di web hosting lo farà. Mi hanno detto in diverse occasioni che il sistema ha bisogno dell'hypervisor per ottenere l'accesso agli slot PCIe e funzionare correttamente. Avrei dovuto cercare il mio enorme archivio di messaggi con loro per ottenere la dicitura esatta, ma fondamentalmente non erano molto disposti.
Sarah Weinberger,

1
È molto probabile che la disinstallazione dei driver hypervisor da una macchina virtuale ottenga risultati spiacevoli, fino a non riuscire più ad avviarsi.
Massimo

3
@SarahWeinberger, quando l'host web ti ha fornito nuove macchine virtuali, erano su hardware diverso? Un gruppo di BSoD che mostrano diversi file di livello superiore che alla fine sembrano essere causati dal driver dell'hypervisor sembra sicuramente qualcosa che potrebbe essere causato da cattiva memoria. Se le tue "nuove" macchine virtuali si trovano sullo stesso hardware, è possibile che questo continui a manifestarsi.
Briantist,

Risposte:


18

xenpci.sys (driver EJBPV XenPCI ( build controllata ), James Harper)

( Checked Build ) è un'enorme bandiera rossa. È assolutamente necessario non utilizzare "controllato" build di nulla in produzione. Se la tua società di hosting ha caricato questo driver per te, allora ha fatto assolutamente un errore.

Le build verificate includono simboli estranei e controllo degli errori extra che aiutano gli sviluppatori. Non sono build di produzione.

Per approfondire, ciò che mi dice è che qualunque errore stia causando l'arresto della macchina probabilmente si verifica ancora nella build non controllata del driver, tuttavia, probabilmente sta solo causando un effetto collaterale non fatale come una perdita di memoria nel build di rilascio. Ma nella build verificata, a causa del controllo degli errori più rigoroso, arresta l'intero sistema operativo. Questo è il punto delle build verificate, per accentuare gli errori e spingerli in faccia agli sviluppatori, prima che spediscano il codice ai clienti.

Per approfondire ulteriormente, non importa se anche altre VM hanno lo stesso driver caricato (build verificata) e non sembrano andare in crash. Alcuni componenti specifici di quella VM stanno invocando un certo comportamento o stato che sta innescando il bug in quel driver. (I driver e le applicazioni interagiscono in tutti i modi, forse due macchine hanno lo stesso driver difettoso caricato, ma solo uno dei server ha installato SQL e poiché il server ha installato SQL, questa pagina di memoria unica si blocca in un modo che il l'altro server non lo fa, il che fa sì che il bug del driver di terze parti alzi la sua brutta testa (solo un esempio.))

Non c'è davvero nessun altro posto dove dare la colpa qui. Non è possibile eseguire build verificate di driver in produzione e aspettarsi di divertirsi. Sono solo a scopo di sviluppo e test.

Infine, l'unico altro posto dove andare da qui sarebbe raccogliere l'intero dump ed eseguirlo attraverso WinDBG. Puoi trascorrere sei ore di intenso debug, svolgendo pile, seguendo i thread, seguendo gli IRP verso le loro porte di completamento ... oppure puoi semplicemente sbarazzarti di quel driver di build verificato. :)

Potrebbe anche provare a eseguire il driver tramite Driver Verifier . In un ambiente di test. Dove dovrebbero rimanere le build controllate. ;)


1
Chiederò alla società di hosting se sto usando una build verificata o meno. Ho appena controllato Device Manager e tutto ciò che dice "Xen PCI Device Driver" è "17/09/2014 | 0.11.0.373". Non vedo controllato o rilascio da nessuna parte nella finestra di dialogo delle proprietà, ma la società di hosting ne saprà di più. Rimanete sintonizzati.
Sarah Weinberger,

2
Quindi da dove hai ottenuto la "build controllata" nel tuo post?
Ryan Ries,

Copia e incolla il blocco di riepilogo dell'analisi WhoCrashed nella parte inferiore del rapporto. Il rapporto di OSR non è stato molto utile, motivo per cui mi sono concentrato su WhoCrashed, ma il problema potrebbe non essere correlato a Xen e potrebbe essere qualcos'altro. A un certo punto, quello degli agenti di supporto della società di web hosting ha cercato di attribuire la colpa a Microsoft e IIS, per i quali l'ho scartato. Concordo con WhoCRashed nel sospettare un agente di terze parti.
Sarah Weinberger,

@SarahWeinberger Verifica le dimensioni del file e almeno confronta tra i server a cui hai accesso; Non lo so per certo, ma le dimensioni del file dovrebbero essere diverse per build verificate e non verificate (le differenze sono abbastanza significative da mostrarsi nella dimensione del file). Se tutto il resto fallisce, calcola un checksum; anche MD5 andrà bene qui. Le build verificate e non verificate saranno diverse lì, anche se la versione del file è la stessa.
un CVn

@ MichaelKjörling Devo andare al sito e comprendere i download. Fino al post dell'host, ho pensato che il download provenisse da un altro sito, quello che avevo pubblicato originariamente. La mia ipotesi è che il sito abbia un download, una versione rilasciata, ma anche le build verificate possono essere firmate digitalmente. Purtroppo, la disinstallazione si trova sul nodo hardware, che sembra essere una versione precedente di Windows, mentre parla "Aggiungi / Rimuovi programmi" e non "Programmi e funzionalità". In entrambi i casi, la disinstallazione è terminata. Ho già controllato P&F e non ho visto Xen.
Sarah Weinberger,

7

Xen 3.4.4 è troppo vecchio. 13 marzo 2013

Windows 2012 R2 è stato rilasciato il 18 ottobre 2013 .

Per darti un vero confronto, XenServer di Citrix ha aggiunto il supporto di Windows Server 2012 R2 nella versione 6.2SP1, rilasciata il 13 dicembre 2013 . ( http://support.citrix.com/article/CTX139788 )

Vedi quello per il driver di GPLPV; vedi solo riferimento al ramo Xen 4.4.0 per 2008R2 ..

I driver firmati di ejbdigital funzionano alla grande su Xen 4.4.0. Se si verifica uno schermo blu durante l'installazione di questi driver o dopo il riavvio dopo l'installazione, provare ad aggiungere device_model_version = "qemu-xen-traditional". Avevo un sistema x64 2008 R2 esistente che ha avuto un errore coerente con un BSOD dopo l'installazione di gpl_pv. Il passaggio al modello di dispositivo 'qemu-xen-traditional' ha risolto il problema. Tuttavia, su un sistema x64 2008 R2 pulito, non ho dovuto apportare questa modifica, quindi tienilo a mente in caso di problemi. http://wiki.xen.org/wiki/Xen_Windows_GplPv

Vedi questo per la dichiarazione ufficiale del progetto xen sul supporto di Windows. Non intendo dire che non può eseguirlo, ma vedi il supporto. Eseguirai un server di produzione su quella piattaforma?

Xen Project supporta Microsoft Windows?

L'approccio paravirtualizzato che utilizziamo per ottenere prestazioni così elevate non è stato finora utilizzabile direttamente per Windows . Tuttavia, Xen 3.0 ha aggiunto il supporto Intel VT-x per consentire l'esecuzione di sistemi operativi guest non modificati, inclusi Windows XP e 2003 Server, utilizzando la tecnologia di virtualizzazione hardware. Xen 3.0.2 e versioni successive supportano anche la tecnologia AMD Pacifica. Verifica se la tua CPU è nell'elenco dei processori compatibili HVM e se la tua scheda madre è nell'elenco delle schede madri compatibili HVM.

(Nota: questo non significa necessariamente che quasi tutti i sistemi operativi vengano eseguiti in modalità HVM! I rapporti variano su come far funzionare * BSD in modalità HVM, sulla Mailing List c'è solo 1 successo per OpenBSD ( http: //www.openbsd- france.org/ml/archives/msg02494.html ), nessun messaggio di successo per gli altri, ma alcune segnalazioni di problemi) http://wiki.xenproject.org/wiki/Xen_FAQ_Drivers,_Windows


1
Ho contrassegnato la risposta (sono il n. 4) e ho inoltrato la risposta insieme a questo URL alla mia società di web hosting. Non ho mai sentito parlare di Xen prima di questo problema, quindi sono nuovo a tutto. Il tuo punto sulle date della versione è molto valido. Come potrebbe Xen 3.4.0 supportare Windows 2012R2, quando al momento non era nemmeno disponibile. Vedrò cosa dice la società di hosting. Purtroppo, hanno escluso Microsoft Hyper-V, non sono sicuro del perché.
Sarah Weinberger,

1
Questa risposta ha fatto la differenza. La società di web hosting, famosa per non aver cambiato nulla, mi ha appena scritto questa e-mail: "Ti preghiamo di essere informato che stiamo pianificando di aggiornare la versione del server Xen su cui è in esecuzione il tuo server cloud, alla più recente poiché le versioni precedenti sembrano essere vulnerabili ". Wow!
Sarah Weinberger,

Grazie per il feedback. Sono contento se la mia risposta mi è stata d'aiuto :)
yagmoth555
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.