Автор:
unlifer
Почитал несколько статей на форуме, датированные очень далёкими годами, где: либо решение проблемы не описано, либо не найдено, либо чересчур глобальное - вплоть до замены сервера. Возможно кому-то пригодится. Проверено на собственном опыте. Возможны и иные причины зависаний, вызванные, например, частичной или полной несовместимостью процессора и памяти, процессора и материнской платы, но это уже другая история.
Проблемы:
1. Намертво зависает сервер.
2. Появляется BSOD с кодом d1.
Описание проблем:
1. На клиентах отваливается сервер, пропадают пинги до сервера. Активность жёстких дисков не отображается индикатором на передней панели. Сервер якобы работает. При подключении монитора к серверу отображается рабочий стол, но активности никакой нет. При подключении USB клавиатуры и мыши - реакции ноль. В 99,99% случаев не выпадает синий экран. При нажатии на кнопку Reset - либо отсутствует реакция, либо перезагрузка производится с большой задержкой, а чаще всего помогает полное обесточивание сервера. В журнале Windows регистрируется критическая ошибка "Система перезагрузилась, не завершив полностью работу. Эта ошибка может быть результатом того, что система перестала отвечать, произошел критический сбой, или неожиданно отключилось питание.", при том ошибка может регистрироваться не временем зависания, а временем, когда сервер был принудительно перезагружен или выключен (точнее при первом запуске). При диагностике оперативной памяти, жёстких дисков, при нагрузке сервера иными тестовыми программами или при полной замене периферии подобных зависаний не происходит - только при работе сервера Линии. Чаще всего помогает замена материнской платы, но не всегда или не надолго. Сервер может зависнуть, как через час-несколько часов после предыдущего зависания, так и может нормально проработать несколько месяцев.
2. На клиентах отваливается сервер, пропадают пинги до сервера. Активность жёстких дисков отображается индикатором на передней панели. Сервер работает. При подключении монитора к серверу отображается рабочий стол, всё абсолютно нормально работает на первый взгляд, сеть подключена, пакеты идут, но пингов с сервера тоже нет. Помогает обычная перезагрузка сервера через Пуск - Перезагрузка. При выдёргивании Ethernet кабеля из порта и втыкании его обратно - чаще всего вылетает BSOD с кодом 0x000000d1 и именем DRIVER_IRQL_NOT_LESS_OR_EQUAL. В журнале Windows регистрируется критическая ошибка "Компьютер был перезагружен после критической ошибки. Код ошибки: 0x000000d1 (***в скобках могут быть различные адреса, где вызвана ошибка***). Дамп памяти сохранен в: C:\Windows\Minidump\040717-5226-01.dmp." При диагностике оперативной памяти, жёстких дисков, при нагрузке сервера иными тестовыми программами или при полной замене периферии подобных зависаний не происходит - только при работе сервера Линии. Чаще всего помогает замена материнской платы, но не всегда или не надолго. Сервер может отвалиться, как через час-несколько часов после предыдущего сбоя, так и может нормально проработать несколько месяцев. При анализе дампа памяти драйвер, вызвавший сбой, - tcpip.sys.
Решение:
1. Зайти в настройки BIOS и отключить всё лишнее с сохранением настроек (перевести перечисленные ниже функции, если они есть, или с похожими названиями в Disabled):
CPU Enhanced Halt (C1E)
C3/C6/C7 State Support
CPU EIST Function
Bi-Directional PROCHOT
PPM(EIST) Mode
Limit CPUID MaxVal
C1E Function
Execute Disable Bit
Virtualization Technology (если не используется виртуализация на серверах)
C2/C2E State Support
Intel SpeedStep
и т.д.
2. Посмотреть полное наименование материнской платы (с номером ревизии), зайти на сайт производителя (а не чёрт знает куда), скачать драйвера на сетевую карту и обновить драйвер на сервере. Зайти в Диспетчер устройств, найти Сетевой адаптер, зайти в его Свойства - Дополнительно и отключить такие параметры как Зелёный Ethernet и Энергосберегающий Ethernet, переведя их значения в Выкл.
Причины такого поведения:
1. Большинство описанных функций BIOS отвечают за оптимизацию работы процессора. Управлением этой оптимизацией занимается (в некоторых случаях) ОС. Ввиду недоработки или отсутствия поддержки ОС её разработчиком, а также ввиду недоработок самих функций производителями плат, происходит сбой в работе сервера при больших нагрузках. ПО Линия - всего лишь повод, приводящий к такого рода сбоям. Уверен, что если подобного рода сервер использовать не под видеонаблюдение Линии, а под иное ПО (для web-сервера, почты или игрового сервера), то проблемы будут такими же - просто никто под такие нужды не использует Desctop'ные относительно недорогие ОС, например, Windows 7.
2. В большинстве случаев при установке ОС Windows 7 и выше, сетевые драйвера устанавливаются автоматически. Соответственно никто не заморачивается над установкой родных проверенных драйверов от производителей материнских плат. Ввиду недоработки драйвера и всяких энергосберегающих режимов, а также из-за отсутствия поддержки ОС её разработчиком, возникают проблемы в работе драйвера. Что характерно, параметр Энергосберегающий Ethernet появляется в свойствах адаптера только после установки родных драйверов.