КРИТИЧЕСКАЯ СТРУКТУРА КОРРУПЦИИ в Windows Server 2012 R2

15

У меня есть виртуальная машина Windows Server 2012 R2; да со всеми обновлениями. Дополнительное программное обеспечение включает Microsoft SQL Server 2014 (был 2012 на предыдущей виртуальной машине). Компания веб-хостинга включает в себя xenpci.sys (драйвер EJBPV XenPCI (Checked Build), James Harper) как часть установки по умолчанию на всех виртуальных машинах и Plesk.

Периодически ОС либо зависает, синие экраны, либо перезагружается. Я получаю мини-дампы, хотя и не всегда. Обычная проблема:

Ошибка: CRITICAL_STRUCTURE_CORRUPTION

Конкретный файл верхнего уровня, очевидно, не причина, варьируется: win32k.sys, ntoskrnl.exe, xenpci.sys (драйвер Xen, хотя и появлялся только пару раз) и ndis.sys.

Анализатор OSR (Open System Resources) не сильно помог. Анализатор WhoCrashed был немного более полезным.

Он заявил:

17 аварийных свалок были найдены и проанализированы. Только 10 включены в этот отчет. Было установлено, что сторонний драйвер вызывает сбои системы на вашем компьютере. Настоятельно рекомендуется проверять наличие обновлений для этих драйверов на сайтах их компаний. Нажмите на ссылки ниже, чтобы найти в Google обновления для этих драйверов:

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

Я пытался подтолкнуть компанию веб-хостинга, чтобы исследовать эту тему, но они могут с пустыми руками. Я не уверен, что виноваты драйверы Xen. WhoCrashed подхватил его, я полагаю, просто потому, что это был последний водитель пару раз, и это третье лицо, так что это делает его виновным. Я не писал WhoCrashed, поэтому комментировать дальше сложно.

Мой вопрос заключается в том, как устранить проблему.

Компания веб-хостинга уже пыталась предоставить мне две новые виртуальные машины за последние пару лет. Проблема мигрирует. Я установил SQL Server, но ОС и Plesk пришли по умолчанию. Хорошо, программное обеспечение почтового сервера тоже есть. Компания веб-хостинга также сказала мне, что у них нет других клиентов, жалующихся аналогичным образом. Они запускали тесты дисков несколько раз. Здоровье диска хорошее.

Я не проверял работоспособность реестра, но проблема связана с установками и происходит довольно часто, поэтому мне пришлось бы обойтись без этого. Я сейчас на третьей или четвертой виртуальной машине.

Опять же, я упоминаю Xen, потому что WhoCrashed упомянул об этом, но я не уверен, что в качестве причины, и другие клиенты действительно используют это. Система имеет достаточную память и память, так что это не проблема.

ОБНОВЛЕНИЕ: Вот некоторые ответы от веб-хостинга на мой запрос.

В обычном сценарии производительность виртуальной машины будет ухудшаться после удаления драйверов. Возможны проблемы с синхронизацией с аппаратным узлом.

Я использую проверенную или выпущенную сборку?

Вы используете тестовую подписанную сборку, ту же, что и на сайте разработчика.

Как я могу сказать? Диалоговое окно свойств Xen PCI в диспетчере устройств не говорит ни о том, ни о другом. Является ли запись в диспетчере устройств единственным местом? Я проверил в разделе «Программы и компоненты» и ничего не увидел в списке.

Вы можете проверить версию в разделе «Установка и удаление программ». Обратитесь к приложенному снимку.

Как / где я могу найти где последняя версия на их сайте?

Сайт разработчика не работает - http://www.meadowcourt.org/downloads/ Вы можете загрузить последние подписанные выпуски здесь - http://wiki.univention.de/index.php?title=Install-signed-GPLPV- водители

Как узнать, к какому Xen принадлежит 0.11.0.373 (Xen 4.6? 3.0? Xy?)

Мы используем Xen 3.4.4, вы не можете увидеть его с вашей виртуальной машины. Это можно увидеть только с аппаратного узла.

Обновление 2: хостинговая компания установила два программного обеспечения James Harper.

GPL PV Drivers for Windows
EJB PV Drivers for Windows
Сара Вайнбергер
источник
2
Быстрый поиск в Google по запросу «BSD Windows Xen» дает множество результатов, особенно если на последних виртуальных машинах Windows используются старые драйверы Xen; виновник, скорее всего, будет там.
Массимо
Самый простой способ определить, является ли драйвер Xen виновником, - это удалить его.
Joeqwerty
Я думал об этом варианте, к сожалению, я не думаю, что моя веб-хостинг пойдет на это. Несколько раз мне говорили, что системе нужен гипервизор, чтобы получить доступ к слотам PCIe и правильно работать. Мне пришлось бы искать в моем огромном архиве сообщений, чтобы получить точную формулировку, но в основном они были не очень готовы.
Сара Вайнбергер,
1
Удаление драйверов гипервизора с виртуальной машины может привести к неприятным результатам до невозможности загрузки.
Массимо
3
@SarahWeinberger, когда веб-хост дал вам новые виртуальные машины, они были на другом оборудовании? Куча BSoD, показывающих различные файлы верхнего уровня, которые в конечном итоге, похоже, вызваны драйвером гипервизора, действительно кажутся чем-то, что может быть вызвано плохой памятью. Если ваши «новые» виртуальные машины установлены на одном и том же оборудовании, возможно, это продолжится.
Бриантист

Ответы:

18

xenpci.sys (драйвер EJBPV XenPCI ( проверенная сборка ), Джеймс Харпер)

( Checked Build ) огромный красный флаг. Вы абсолютно не должны использовать «проверенные» сборки чего-либо в производстве. Если ваша хостинговая компания загрузила этот драйвер для вас, то они абсолютно ошиблись.

Проверенные сборки включают посторонние символы и дополнительную проверку ошибок, которая помогает разработчикам. Они не являются производственными сборками.

Для дальнейшей разработки, что это говорит мне о том , что все ошибки вызывает машину остановить , вероятно , по- прежнему происходит в ООН -checked сборки драйвера, однако, это, вероятно , просто вызывая несмертельную побочный эффект , такие как утечка памяти в выпустить сборку. Но в проверенной сборке из-за более строгой проверки ошибок она останавливает всю ОС. В этом смысл проверенных сборок, чтобы подчеркнуть ошибки и засунуть их в лица разработчиков, прежде чем они отправят код клиентам.

Более подробно, не имеет значения, действительно ли другие виртуальные машины также загружают тот же самый драйвер (проверенная сборка) и, похоже, не выходят из строя. Некоторые компоненты, специфичные для этой виртуальной машины, вызывают определенное поведение или состояние, которое вызывает ошибку в этом драйвере. (Драйверы и приложения взаимодействуют всевозможными способами, возможно, на двух машинах загружен один и тот же драйвер с ошибкой, но только на одном из серверов установлен SQL, и, поскольку на сервере установлен SQL, он выполняет уникальную блокировку страницы памяти таким образом, что другой сервер этого не делает, что приводит к тому, что ошибка драйвера стороннего производителя приводит к появлению уродливой головы (просто пример.)

Там действительно нет места, где можно обвинить здесь. Вы не можете запускать проверенные сборки драйверов в производстве и ожидать хорошего времени. Они предназначены только для разработки и тестирования.

Наконец, единственное место, куда можно пойти отсюда, это собрать полный дамп и запустить его через WinDBG. Вы можете потратить шесть часов интенсивной отладки, раскручивания стеков, трассировки потоков, следования IRP до их портов завершения ... или вы можете просто избавиться от этого проверенного драйвера сборки. :)

Можно также попробовать запустить драйвер через Driver Verifier . В тестовой среде. Там, где проверенные сборки должны остаться. ;)

Райан Райс
источник
1
Я спрошу о хостинговой компании, использую ли я проверенную сборку или нет. Я только что проверил Диспетчер устройств, и все, что он говорит для «Xen PCI Device Driver», это «17.09.2014 | 0.11.0.373». Я не вижу отмеченных или выпущенных где-либо в диалоге свойств, но хостинговая компания будет знать больше. Будьте на связи.
Сара Вайнбергер,
2
Тогда откуда вы взяли "Checked Build" в своем посте?
Райан Райс
Я скопировал и вставил сводный блок анализа WhoCrashed внизу отчета. Отчет OSR оказался не очень полезным, поэтому я сосредоточился на WhoCrashed, но проблема может быть не связана с Xen, а может быть чем-то другим. В какой-то момент один из агентов поддержки компании веб-хостинга попытался возложить вину на Microsoft и IIS, за что я отмахнулся от этого. Я согласен с WhoCRashed в подозрении стороннего агента.
Сара Вайнбергер,
@SarahWeinberger Проверьте размер файла и, по крайней мере, сравните серверы, к которым у вас есть доступ; Я не знаю наверняка, но размеры файлов должны быть разными для проверенных и непроверенных сборок (различия достаточно значительны, чтобы они отображались в размере файла). Если ничего не помогает, вычислите контрольную сумму; даже MD5 здесь подойдет. Проверенные и непроверенные сборки будут отличаться, даже если версия файла одинакова.
CVn
@ MichaelKjörling Я должен зайти на сайт и разобраться в загрузках. До поста хозяина я думал, что загрузка пришла с другого сайта, который я выложил изначально. Я предполагаю, что у сайта есть одна загрузка, выпущенная версия, но проверенные сборки также могут иметь цифровую подпись. К сожалению, деинсталляция происходит на аппаратном узле, который, кажется, является более старой версией Windows, поскольку он говорит «Установка и удаление программ», а не «Программы и компоненты». В любом случае, удаление на их конце. Я уже проверил P & F и не видел Xen.
Сара Вайнбергер
7

Xen 3.4.4 слишком старый. 13 марта 2013 г.

Windows 2012 R2 была выпущена 18 октября 2013 года .

Чтобы дать вам реальное сравнение, XenServer из Citrix добавил поддержку Windows Server 2012 R2 в своей версии 6.2SP1, которая была выпущена 13 декабря 2013 года . ( http://support.citrix.com/article/CTX139788 )

Посмотрите, что для драйвера GPLPV; вы видите только ссылку на ветку Xen 4.4.0 для 2008R2 ..

Подписанные драйверы из 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

Смотрите официальное заявление проекта xen о поддержке Windows. Я не имею в виду, что он не может запустить его, но вы видите поддержку. Вы будете запускать производственный сервер на этой платформе?

Поддерживает ли Xen Project Microsoft Windows?

Паравиртуализированный подход, который мы используем для достижения такой высокой производительности, до настоящего времени не использовался непосредственно для Windows . Однако в Xen 3.0 добавлена ​​поддержка Intel VT-x, позволяющая запускать немодифицированные гостевые операционные системы, включая Windows XP и 2003 Server, с использованием технологии аппаратной виртуализации. Xen 3.0.2 и более поздние версии также поддерживают технологию AMD Pacifica. Проверьте, входит ли ваш ЦП в список совместимых процессоров HVM, и входит ли ваша материнская плата в список совместимых материнских плат HVM.

(Примечание: это не обязательно означает, что практически любая ОС работает в режиме HVM! Отчеты различаются о том, как заставить * BSD работать в режиме HVM, в Списке рассылки есть только 1 успех для OpenBSD ( http: //www.openbsd- france.org/ml/archives/msg02494.html ), нет сообщений об успехах для других, но есть сообщения о проблемах) http://wiki.xenproject.org/wiki/Xen_FAQ_Drivers,_Windows

yagmoth555
источник
1
Я пометил ответ (я № 4) и переправил ответ вместе с этим URL-адресом моей веб-хостинговой компании. Я никогда не слышал о Xen до этой проблемы, поэтому я новичок во всем этом. Ваша точка зрения на даты версии очень верна. Как Xen 3.4.0 может поддерживать Windows 2012R2, когда этого не было даже в то время. Я посмотрю, что говорит хостинговая компания. К сожалению, они исключили Microsoft Hyper-V, не зная почему.
Сара Вайнбергер,
1
Этот ответ имел значение. Компания веб-хостинга, печально известная тем, что ничего не меняла, просто написала мне это письмо: «Пожалуйста, обратите внимание, что мы планируем обновить версию сервера Xen, на которой работает ваш облачный сервер, до последней версии, так как старые версии кажутся уязвимыми «. Вот это да!
Сара Вайнбергер,
Спасибо за ответ. Я рад, если мой ответ помог :)
yagmoth555