Назад | Перейти на главную страницу

КРИТИЧЕСКОЕ ПОВРЕЖДЕНИЕ СТРУКТУРЫ в Windows Server 2012 R2

У меня виртуальная машина Windows Server 2012 R2; да со всеми обновлениями. Дополнительное программное обеспечение включает Microsoft SQL Server 2014 (на предыдущей виртуальной машине было 2012 г.). Компания веб-хостинга включает xenpci.sys (драйвер EJBPV XenPCI (проверенная сборка), 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 упомянул об этом, но я не уверен, что это причина, и другие клиенты действительно используют это. В системе достаточно памяти и хранилища, так что это не проблема.

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

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

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

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

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

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

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

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

Как я могу определить, какой Xen, 0.11.0.373 принадлежит (Xen 4.6? 3.0? X.y?)

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

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

GPL PV Drivers for Windows
EJB PV Drivers for Windows

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

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

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

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

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

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

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

Можно также попробовать запустить драйвер через Средство проверки драйверов. В тестовой среде. Где должны оставаться проверенные сборки. ;)

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, которая постоянно выходила из строя с BSOD после установки gpl_pv. Переключение на модель устройства 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