KORUPCJA STRUKTURY Krytycznej w systemie Windows Server 2012 R2

15

Mam maszynę wirtualną z systemem Windows Server 2012 R2; tak ze wszystkimi aktualizacjami. Dodatkowe oprogramowanie obejmuje Microsoft SQL Server 2014 (był 2012 na poprzedniej maszynie wirtualnej). Firma hostingowa obejmuje xenpci.sys (sterownik EJBPV XenPCI (wersja sprawdzona), James Harper) jako część ich domyślnej instalacji na wszystkich maszynach wirtualnych i Plesk.

Okresowo system operacyjny zawiesza się, wyświetla niebieski ekran lub uruchamia się ponownie. Dostaję mini zrzuty, choć nie przez cały czas. Typowy problem to:

Błąd: CRITICAL_STRUCTURE_CORRUPTION

Konkretny plik najwyższego poziomu, oczywiście nie będący przyczyną, jest różny: win32k.sys, ntoskrnl.exe, xenpci.sys (sterownik Xen, choć pojawił się tylko kilka razy) i ndis.sys.

Analizator OSR (Open System Resources) nie był zbyt pomocny. Analizator WhoCrashed był nieco bardziej pomocny.

Stwierdzono:

Znaleziono 17 zrzutów awaryjnych i poddano je analizie. Tylko 10 jest uwzględnionych w tym raporcie. Stwierdzono, że sterownik innej firmy powoduje awarie systemu na komputerze. Zdecydowanie zaleca się sprawdzenie aktualizacji tych sterowników na stronach internetowych ich firm. Kliknij poniższe linki, aby wyszukać w Google aktualizacje tych sterowników:

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

Próbowałem zmusić firmę hostingową do zbadania tematu, ale mogą z pustymi rękami. Nie jestem przekonany, że to wina sterowników Xen. WhoCrashed go podniósł, przypuszczam tylko dlatego, że był to ostatni kierowca kilka razy i jest to strona trzecia, więc to czyni go winnym. Nie napisałem WhoCrashed, więc trudno komentować dalej.

Moje pytanie brzmi, jak rozwiązać problem.

Firma hostingowa próbowała już dawać mi dwie nowe maszyny wirtualne w ciągu ostatnich kilku lat. Problem migruje. Zainstalowałem SQL Server, ale system operacyjny i Plesk były dostarczane domyślnie. Dobra, jest też oprogramowanie serwera pocztowego. Firma hostingowa powiedziała mi również, że nie mają innych klientów podobnie narzekających. Przeprowadzili testy dysku wiele razy. Stan dysku jest dobry.

Nie sprawdziłem stanu rejestru, ale problem dotyczy instalacji i zdarza się dość rutynowo, więc musiałbym to zdyskontować. Jestem teraz na mojej trzeciej lub czwartej maszynie wirtualnej.

Ponownie wspominam o Xen, ponieważ WhoCrashed wspomniał o tym, ale nie jestem przekonany, że to jako przyczyna, a inni klienci naprawdę tego używają. System ma odpowiednią pamięć i pamięć, więc nie stanowi to problemu.

AKTUALIZACJA: Oto kilka odpowiedzi od firmy hostingowej na moje zapytanie.

W zwykłym scenariuszu wydajność maszyny wirtualnej spada po odinstalowaniu sterowników. Mogą występować problemy z synchronizacją z Węzłem sprzętowym.

Czy używam wersji sprawdzonej lub wydanej?

Używasz kompilacji podpisanej testem, tej samej z witryny programisty.

Jak mogę powiedzieć? Okno dialogowe właściwości PCI Xen w Menedżerze urządzeń nie mówiło w ten czy inny sposób. Czy wpis w Menedżerze urządzeń jest jedyną lokalizacją? Sprawdziłem Programy i funkcje i nie zobaczyłem nic na liście.

Możesz sprawdzić wersję w Dodaj lub usuń programy. Zobacz dołączoną migawkę.

Jak / gdzie mogę znaleźć, gdzie jest najnowsza wersja na ich stronie?

Witryna programisty nie działa - http://www.meadowcourt.org/downloads/ Możesz tutaj pobrać najnowsze podpisane wersje - http://wiki.univention.de/index.php?title=Installing-signed-GPLPV- kierowcy

Jak mogę stwierdzić, do którego Xen, 0.11.0.373 należy (Xen 4.6? 3.0? Xy?)

Używamy Xen 3.4.4, nie widzisz go z maszyny wirtualnej. Można go wyświetlić tylko z poziomu węzła sprzętowego.

Aktualizacja 2: Firma hostingowa zainstalowała dwa oprogramowanie James Harper.

GPL PV Drivers for Windows
EJB PV Drivers for Windows
Sarah Weinberger
źródło
2
Szybkie wyszukiwanie w Google hasła „Xen Windows BSOD” przynosi wiele wyników, zwłaszcza gdy stare sterowniki Xen są używane na najnowszych maszynach wirtualnych z systemem Windows; sprawca najprawdopodobniej tam będzie.
Massimo,
Najłatwiejszym sposobem ustalenia, czy przyczyną problemu jest sterownik Xen, jest jego odinstalowanie.
joeqwerty
Myślałem o tej opcji, niestety nie sądzę, że moja firma hostingowa pójdzie na to. Kilkakrotnie mówili mi, że system potrzebuje hiperwizora, aby uzyskać dostęp do gniazd PCIe i działać poprawnie. Musiałbym przeszukać z nimi moje ogromne archiwum wiadomości, aby uzyskać dokładne sformułowanie, ale w zasadzie nie byli bardzo chętni.
Sarah Weinberger,
1
Odinstalowanie sterowników hiperwizora z maszyny wirtualnej może przynieść nieprzyjemne wyniki, nawet jeśli nie będzie już możliwe uruchomienie.
Massimo,
3
@SarahWeinberger, kiedy host dał ci nowe maszyny wirtualne, czy były one na innym sprzęcie? Kilka BSoD pokazujących różne pliki najwyższego poziomu, które ostatecznie wydają się być spowodowane przez sterownik hiperwizora, z pewnością wydaje się być czymś, co może być spowodowane złą pamięcią. Jeśli Twoje „nowe” maszyny wirtualne są na tym samym sprzęcie, możliwe, że będzie się to nadal pojawiać.
briantist

Odpowiedzi:

18

xenpci.sys (sterownik EJBPV XenPCI (wersja sprawdzona ), James Harper)

( Checked Build ) to ogromna czerwona flaga. Absolutnie nie powinieneś używać „sprawdzonych” kompilacji czegokolwiek w produkcji. Jeśli Twoja firma hostingowa załadowała dla Ciebie ten sterownik, to absolutnie popełniła błąd.

Sprawdzone wersje zawierają dodatkowe symbole i dodatkowe sprawdzanie błędów, które pomagają programistom. Nie są to wersje produkcyjne.

Aby jeszcze bardziej skomplikowane, co to mówi mi to, że niezależnie od błędu powoduje zatrzymanie maszyny prawdopodobnie nadal występuje w ONZ -checked kompilacji sterownika, jednak prawdopodobnie tylko powoduje zakaz śmiertelne skutki uboczne, takie jak wyciek pamięci w wydanie kompilacji. Ale w sprawdzonej wersji, z powodu bardziej rygorystycznego sprawdzania błędów, zatrzymuje cały system operacyjny. To jest cel sprawdzonych wersji, aby zaakcentować błędy i wcisnąć je w twarze programisty, zanim wyślą kod do klientów.

W celu dalszego rozwinięcia, tak naprawdę nie ma znaczenia, czy inne maszyny wirtualne mają również ten sam dokładnie załadowany sterownik (sprawdzona wersja) i nie wydają się zawieść. Niektóre komponenty specyficzne dla tej maszyny wirtualnej wywołują pewne zachowanie lub stan, który powoduje błąd w tym sterowniku. (Sterowniki i aplikacje współdziałają ze sobą na różne sposoby, być może na dwóch komputerach jest załadowany ten sam błędny sterownik, ale tylko jeden z serwerów ma zainstalowany SQL, a ponieważ serwer ma zainstalowany SQL, blokuje tę unikalną stronę pamięci w taki sposób, że inny serwer tego nie robi, co powoduje, że błąd sterownika innej firmy odchyla brzydką głowę (tylko przykład).

Naprawdę nie ma innego miejsca na obwinienie. Nie można uruchamiać sprawdzonych wersji sterowników w środowisku produkcyjnym i oczekiwać dobrej zabawy. Są tylko do celów programistycznych i testowych.

Wreszcie, jedynym innym miejscem, do którego można się udać, jest zebranie pełnego zrzutu i uruchomienie go przez WinDBG. Możesz spędzić sześć godzin intensywnego debugowania, rozwijania stosów, śledzenia wątków, śledzenia IRP do portów zakończenia ... lub możesz po prostu pozbyć się tego sprawdzonego sterownika kompilacji. :)

Może także spróbować uruchomić sterownik za pomocą Driver Verifier . W środowisku testowym. Gdzie powinny pozostać zaznaczone wersje. ;)

Ryan Ries
źródło
1
Zapytam o firmę hostingową, czy używam sprawdzonej wersji, czy nie. Właśnie sprawdziłem Menedżera urządzeń i wszystko, co mówi o „Xen PCI Device Driver” to „9/17/2014 | 0.11.0.373”. Nigdzie nie widzę zaznaczonego ani zwolnionego w oknie właściwości, ale firma hostingowa będzie wiedzieć więcej. Bądźcie czujni.
Sarah Weinberger,
2
Skąd więc wziąłeś w swoim poście „Sprawdzoną wersję”?
Ryan Ries,
Skopiowałem i wkleiłem blok podsumowania analizy WhoCrashed na dole raportu. Raport OSR nie był zbyt pomocny, dlatego skupiłem się na WhoCrashed, ale problem może nie być związany z Xenem i może być czymś innym. W pewnym momencie jeden z agentów wsparcia firmy hostingowej próbował obwinić winę za Microsoft i IIS, za co odrzuciłem to z ręki. Zgadzam się z WhoCRashed, podejrzewając agenta będącego stroną trzecią.
Sarah Weinberger,
@SarahWeinberger Sprawdź rozmiar pliku i przynajmniej porównaj serwery, do których masz dostęp; Nie wiem na pewno, ale rozmiary plików powinny być różne dla sprawdzonych i niezbadanych kompilacji (różnice są na tyle znaczące, że powinny pojawić się w rozmiarze pliku). Jeśli wszystko inne zawiedzie, oblicz sumę kontrolną; nawet MD5 dobrze sobie poradzi. Sprawdzone i niezbadane kompilacje będą tam różne, nawet jeśli wersja pliku jest taka sama.
CVn
@ MichaelKjörling Muszę wejść na stronę i zrozumieć pliki do pobrania. Aż do postu gospodarza myślałem, że pobieranie pochodzi z innej strony, tej, którą pierwotnie opublikowałem. Domyślam się, że strona ma jedno pobranie, wydaną wersję, ale sprawdzone wersje mogą być podpisane cyfrowo. Niestety odinstalowanie odbywa się w węźle sprzętowym, który wydaje się być starszą wersją systemu Windows, gdy mówi on „Dodaj / Usuń programy”, a nie „Programy i funkcje”. Tak czy inaczej odinstalowanie jest na ich końcu. Sprawdziłem już P&F i nie widziałem Xena.
Sarah Weinberger,
7

Xen 3.4.4 jest za stary. 13 marca 2013 r

System Windows 2012 R2 został wydany 18 października 2013 r .

Aby dać rzeczywiste porównanie, XenServer z Citrix dodał obsługę Windows Server 2012 R2 w wersji 6.2SP1, która została wydana 13 grudnia 2013 . ( http://support.citrix.com/article/CTX139788 )

Zobacz to dla sterownika GPLPV; widzisz tylko odniesienie do gałęzi Xen 4.4.0 dla 2008R2 ..

Podpisane sterowniki z ejbdigital działają świetnie na Xen 4.4.0. Jeśli podczas instalacji tych sterowników wystąpi niebieski ekran lub po ponownym uruchomieniu po instalacji, spróbuj dodać device_model_version = "qemu-xen-traditional". Miałem istniejący system x64 2008 R2, który po instalacji gpl_pv nie powiódł się z BSOD. Przejście na model urządzenia „qemu-xen-traditional” rozwiązało problem. Jednak w czystym systemie 2008 R2 x64 nie musiałem wprowadzać tej zmiany, więc proszę o tym pamiętać, jeśli napotkasz problemy. http://wiki.xen.org/wiki/Xen_Windows_GplPv

Zobacz to w oficjalnym oświadczeniu Xen Project o wsparciu Windows. Nie mam na myśli, że nie można go uruchomić, ale widzisz wsparcie. Na tej platformie uruchomisz serwer produkcyjny?

Czy Xen Project obsługuje Microsoft Windows?

Parawirtualizowane podejście, którego używamy, aby uzyskać tak wysoką wydajność, do tej pory nie było możliwe bezpośrednio w systemie Windows . Jednak Xen 3.0 dodał obsługę Intel VT-x, aby umożliwić działanie niezmodyfikowanych systemów operacyjnych gości, w tym Windows XP i 2003 Server, z wykorzystaniem technologii wirtualizacji sprzętowej. Xen 3.0.2 i nowsze obsługują również technologię AMD Pacifica. Sprawdź, czy Twój procesor znajduje się na liście procesorów kompatybilnych z HVM i czy Twoja płyta główna znajduje się na liście kompatybilnych płyt głównych HVM.

(Uwaga: nie musi to wcale oznaczać, że prawie każdy system operacyjny działa w trybie HVM! Raporty różnią się w kwestii uruchamiania * BSD w trybie HVM, na liście mailingowej jest tylko 1 sukces dla OpenBSD ( http: //www.openbsd- france.org/ml/archives/msg02494.html ), brak wiadomości o powodzeniu dla innych, ale niektóre zgłoszenia problemów) http://wiki.xenproject.org/wiki/Xen_FAQ_Drivers,_Windows

yagmoth555
źródło
1
Zaznaczyłem odpowiedź (jestem # 4) i przesłałem odpowiedź wraz z tym adresem URL do mojej firmy hostingowej. Nigdy nie słyszałem o Xen przed tym problemem, więc jestem nowy w tym wszystkim. Twój punkt dotyczący dat wersji jest bardzo ważny. W jaki sposób Xen 3.4.0 mógł obsługiwać Windows 2012R2, skoro nie było go jeszcze w tym czasie. Zobaczę, co mówi firma hostingowa. Niestety wykluczyli Microsoft Hyper-V, nie jestem pewien, dlaczego.
Sarah Weinberger,
1
Ta odpowiedź zrobiła różnicę. Firma hostingowa, niesławna z powodu niczego nie zmieniając, właśnie napisała do mnie ten e-mail: „Informujemy, że planujemy zaktualizować wersję serwera Xen, na którym działa Twój serwer w chmurze, do najnowszej wersji, ponieważ starsze wersje wydają się być podatne na atak . ” Łał!
Sarah Weinberger,
Dziękujemy za opinię. Cieszę się, że moja odpowiedź pomogła :)
yagmoth555