Почему сервер 1С:Предприятия на платформе 8.3.16.1063 теряет аппаратный ключ и как это исправить?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Мы сталкиваемся с распространенной и крайне неприятной проблемой, которая проявляется на серверах 1С:Предприятия, работающих под управлением платформы версии 8.3.16.1063 и иногда на более поздних релизах, таких как 8.3.25.1394. Суть проблемы заключается в том, что сервер периодически, чаще всего в ночное время или после длительного простоя, перестает видеть аппаратный ключ защиты HASP. При этом физически ключ продолжает светиться, в диспетчере устройств он определяется корректно, и даже перевтыкание его в USB-порт не помогает. Служба сервера 1С:Предприятия перестает обнаруживать лицензию, выдавая сообщения вида: «Не обнаружена лицензия на запуск сервера», «Не обнаружен ключ защиты программы или полученная программная лицензия! по причине: локальный ключ недоступен: Status=0, ENSR8 Локальный, не установлен». Единственным временным решением становится перезагрузка всего сервера или, что чаще, перезапуск службы сервера 1С:Предприятия. Эта ситуация вызывает серьезные простои в работе и требует постоянного внимания системных администраторов. Давайте разберем эту проблему подробнее, рассмотрим возможные причины ее возникновения и предложим комплексные решения.

Особенности и нестабильность платформы 1С:Предприятия 8.3.16.1063

Мы выясняем, что одной из наиболее вероятных причин проблемы является нестабильность самой платформы 1С:Предприятия версии 8.3.16.1063 и смежных релизов. Многие пользователи сообщают о возникновении данной ошибки именно после обновления до этой версии. В то же время, на предыдущих стабильных версиях, таких как 8.3.13, 8.3.14 или 8.3.15, подобных проблем не наблюдалось. Это указывает на то, что в данном релизе могли быть внесены изменения, которые некорректно взаимодействуют с механизмом работы аппаратных ключей защиты. 1С не всегда оперативно регистрирует и публикует информацию о всех выявленных ошибках, поэтому отсутствие официального подтверждения в списке известных проблем не означает, что бага не существует. Помимо проблем с ключами, эта версия платформы также может демонстрировать нестабильность в работе с принтерами, некорректные результаты запросов оборотных регистров и другие «косяки», что косвенно подтверждает ее общую недоработанность.

Проблемы с драйверами ключа HASP и USB-контроллеров

Рассматривая проблему потери ключа, мы обязательно обращаем внимание на состояние драйверов, обеспечивающих его работу. Аппаратные ключи 1С:Предприятия используют технологию HASP (ныне Sentinel), для корректного функционирования которой необходим установленный пакет драйверов Sentinel Run-time Installer (также известный как HASP License Manager). Мы проверяем версию установленного драйвера: устаревшие версии могут быть несовместимы с новыми версиями платформы или операционных систем. На момент возникновения проблемы (8.3.16) актуальной версией мог быть 7.102, в то время как у некоторых пользователей стояла 7.100.1. Также мы должны учитывать, что работа USB-ключа зависит от стабильности USB-контроллеров самого сервера. Возможны следующие проблемы:

  1. Устаревшие драйверы USB-контроллеров: Нам следует убедиться, что на сервере установлены последние версии драйверов чипсета материнской платы и самого USB-контроллера. Производители серверов регулярно выпускают обновления, улучшающие стабильность работы аппаратного обеспечения.
  2. Некорректное управление питанием USB-портов: Операционная система (особенно Windows Server) может переводить USB-порты в режим энергосбережения для экономии энергии, что приводит к «отваливанию» подключенных устройств. Мы должны проверить и отключить эту функцию в диспетчере устройств для всех USB-концентраторов и для самого ключа.
  3. Физические проблемы с USB-портом или кабелем: Хотя вероятность одновременного отказа двух ключей на разных серверах мала, мы всегда исключаем банальные аппаратные неисправности: проверяем целостность ключа, используем другой USB-порт, желательно напрямую на материнской плате, а не на передней панели.
  4. Зависание службы aksusbd: На серверах под управлением Linux мы можем наблюдать сообщения в ядре о блокировке процесса aksusbd_x86_64. Это указывает на то, что менеджер лицензий HASP зависает, не отвечая на запросы платформы 1С. В таких случаях перезапуск только этой службы может помочь, а также грамотное обслуживание баз данных 1C на Postgresql под Astra Linux.

Конфликты с системами безопасности

Мы рассматриваем возможность того, что проблемы с лицензированием могут быть вызваны конфликтами с установленным на сервере антивирусным программным обеспечением или другими системами безопасности (например, файрволами). Антивирусы могут блокировать доступ к файлам лицензий, процессам 1С (rphost, rmngr, ragent) или службе HASP License Manager, воспринимая их активность как подозрительную. Мы рекомендуем:

  1. Временно отключить антивирус: Для диагностики мы можем попробовать временно отключить антивирусное ПО на сервере и понаблюдать за поведением ключа. Если проблема исчезает, причина найдена.
  2. Добавить исключения: Мы обязательно добавляем в исключения антивируса и файрвола все каталоги установки сервера 1С:Предприятия, исполнимые файлы ragent.exe, rmngr.exe, rphost.exe, а также папку установки HASP License Manager и его исполняемые файлы (например, nhsrvice.exe для Windows или aksusbd для Linux).
  3. Проверить сетевые порты: Мы убеждаемся, что файрвол не блокирует порт 1947 TCP/UDP, который используется HASP License Manager для взаимодействия с клиентскими приложениями и сервером 1С.

Проблемы с выделением памяти для процессов rphost

В ходе анализа проблемы мы обнаруживаем, что потеря ключа может быть косвенно связана с перегрузкой процессов rphost сервера 1С:Предприятия. На серверах со значительным количеством баз данных и активных пользователей, особенно если используется 32-битный rphost (даже на 64-битной ОС), возможно достижение лимита памяти, доступного для одного процесса (обычно около 3-4 ГБ). Когда процесс rphost достигает этого лимита, он может начать работать нестабильно, зависать или некорректно взаимодействовать с другими службами, включая менеджер лицензий HASP. Это может проявляться как «потеря» лицензии, поскольку rphost становится неспособен запросить или подтвердить ее наличие. Мы можем наблюдать, что проблема обостряется при добавлении новых баз или увеличении нагрузки, особенно если в ночное время активно выполняются регламентные задания.

Особенности работы в виртуальных средах

Если сервер 1С:Предприятия установлен на виртуальной машине, а аппаратный ключ пробрасывается через USB-порт хост-системы (например, VMware ESXi), мы сталкиваемся с дополнительными факторами риска. Проброс USB-устройств в виртуальные машины не всегда является идеально стабильным решением и часто не документируется как официально поддерживаемый сценарий для критически важных приложений. Мы учитываем, что стабильность работы в этом случае зависит не только от платформы 1С и драйверов HASP, но и от версии и настроек программного обеспечения виртуализации. Возможные проблемы:

  1. Нестабильность USB-контроллера виртуальной машины: Мы должны убедиться, что установлены последние версии VMware Tools (или аналогичных инструментов для другой виртуализации) и обновлена сама платформа виртуализации (например, VMware ESXi).
  2. Настройки USB-контроллера на хосте: Мы проверяем, что на хост-сервере также отключены все функции энергосбережения для USB-портов, через которые пробрасывается ключ.

Сетевые задержки или проблемы со связью

В некоторых случаях, если менеджер лицензий HASP (Sentinel License Manager) установлен на отдельном узле сети, проблемы с потерей лицензии могут быть вызваны сетевыми задержками или нестабильностью сетевого соединения между сервером 1С и сервером лицензий. Мы проверяем следующее:

  1. Доступность порта 1947: Убеждаемся, что нет блокировок портов файрволом на любом из узлов (TCP/UDP 1947).
  2. Стабильность сети: Анализируем логи сетевого оборудования на предмет ошибок, связанных с разрывами соединений или перегрузками, которые могут мешать обмену данными с менеджером лицензий.

Откат на стабильный релиз платформы 1С:Предприятия

Мы приходим к выводу, что наиболее радикальным, но часто самым эффективным решением проблемы потери ключа на платформе 8.3.16.1063 является откат на более стабильный релиз. Многие пользователи, столкнувшиеся с данной проблемой, успешно решили ее, вернувшись на платформу 8.3.15.x. Конкретно, рекомендуется версия 8.3.15.1778 или 8.3.15.1656, поскольку на этих релизах подобные проблемы не наблюдались. Если текущие конфигурации не требуют строго версии 8.3.16, мы рассматриваем этот вариант как приоритетный. Для выполнения отката:

  1. Мы готовим резервную копию всех информационных баз и настроек сервера 1С:Предприятия.
  2. Мы удаляем текущую платформу 8.3.16.1063 с сервера.
  3. Мы устанавливаем выбранную стабильную версию платформы, например, 8.3.15.1778.
  4. Мы проверяем работоспособность всех баз и убеждаемся в стабильном обнаружении ключа.

Этот подход позволяет избежать неизвестных проблем, связанных с конкретным нестабильным релизом, и обеспечивает надежное функционирование системы.

Ежедневный перезапуск служб 1С или HASP License Manager

Если откат на предыдущую версию платформы по каким-либо причинам невозможен, мы можем применить обходной путь в виде автоматического ежедневного перезапуска службы сервера 1С:Предприятия или службы HASP License Manager (aksusbd). Этот метод не решает корневую причину, но позволяет избежать ручных перезагрузок и обеспечить доступность системы к началу рабочего дня. Мы реализуем это с помощью скриптов, запускаемых по расписанию:

  1. Для Windows Server:

    Мы создаем пакетный файл (например, restart_1c_service.bat) со следующими командами:

    
    net stop "1C:Enterprise 8.3 Server Agent (x86-64)"
    timeout /t 10 /nobreak
    net start "1C:Enterprise 8.3 Server Agent (x86-64)"
    

    Затем мы настраиваем планировщик заданий Windows на запуск этого файла ежедневно в нерабочее время (например, в 4:00 утра).

  2. Для Linux (Debian/Ubuntu):

    Мы используем помощник установки и обновления сервера 1С или стандартные команды для перезапуска службы сервера 1С или службы aksusbd (менеджера HASP):

    
    sudo systemctl restart 1c-enterprise@.service
    # или для HASP-менеджера:
    sudo systemctl restart aksusbd
    

    Мы добавляем соответствующую команду в планировщик cron для ежедневного выполнения, при этом можно использовать рестарт сервера 1С с очисткой сеансовых данных на Linux.

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

Обновление драйверов HASP и настроек USB-портов

Мы активно работаем над устранением проблем на уровне операционной системы и драйверов. Наши шаги следующие:

  1. Обновление Sentinel Run-time Installer: Мы загружаем и устанавливаем последнюю версию драйверов HASP с официального сайта Gemalto (SafeNet/Thales) или с сайта 1С. На момент обсуждения актуальной могла быть версия 7.102 или новее. Мы убеждаемся, что устанавливаем версию, соответствующую архитектуре сервера (x64 для 64-битного сервера).
  2. Обновление драйверов чипсета и BIOS: Мы проверяем сайт производителя сервера на наличие обновлений драйверов для чипсета материнской платы и прошивки BIOS/UEFI. Обновление этих компонентов может улучшить стабильность работы всех периферийных устройств, включая USB-контроллеры.
  3. Настройка управления питанием USB-портов:

    Мы выполняем следующие действия в Windows:

    1. Открываем Диспетчер устройств.
    2. Разворачиваем ветку Контроллеры универсальной последовательной шины USB.
    3. Для каждого элемента Корневой USB-концентратор (USB Root Hub) и, если есть, Generic USB Hub:
      • Щелкаем правой кнопкой мыши и выбираем Свойства.
      • Переходим на вкладку Управление электропитанием.
      • Снимаем флажок Разрешить отключение этого устройства для экономии энергии.
      • Нажимаем ОК.
    4. Для самого ключа HASP (если он отображается как отдельное устройство в разделе USB-устройства или Контроллеры USB):
      • Переходим на вкладку Управление электропитанием и также снимаем флажок.
    5. Мы также проверяем настройки плана электропитания Windows Server и убеждаемся, что в разделе Параметры USB -> Параметр временной приостановки USB установлено значение Отключено.

Оптимизация использования памяти rphost для КОРП-лицензий

Если мы наблюдаем потерю ключа, связанную с перегрузкой памяти процессов rphost, особенно при наличии множества баз данных и регламентных заданий, мы применяем решение, описанное в одном из сообщений форума. Этот метод особенно актуален для систем с лицензией уровня КОРП (PROF-лицензия имеет ограничения на количество процессов rphost для одной ИБ). Суть решения заключается в распределении информационных баз по отдельным рабочим процессам:

  1. Мы открываем OneS Cluster Admin — консоль администрирования кластера или штатную Консоль администрирования сервера 1С:Предприятия.
  2. Переходим к свойствам кластера серверов 1С.
  3. В разделе Рабочие процессы или Информационные базы мы настраиваем привязку каждой информационной базы или группы баз к отдельному рабочему процессу rphost. По умолчанию, один процесс rphost может обслуживать несколько информационных баз. Однако при таком подходе все базы делят один объем памяти, выделенный для этого процесса.
  4. Мы находим параметр Количество информационных баз на процесс и устанавливаем его равным 1 или небольшому числу, чтобы каждая критически важная база имела свой выделенный процесс. Это позволит каждому процессу rphost использовать свой объем памяти и не достигать 3-4 ГБ лимита, который может приводить к нестабильности и, как следствие, потере взаимодействия с менеджером лицензий.
  5. Мы также можем рассмотреть использование 64-битных процессов rphost, если это позволяет архитектура системы и лицензия (для КОРП-версий доступны 64-битные компоненты).

Этот подход позволяет эффективно управлять памятью и предотвратить сбои, вызванные ее исчерпанием.

Рекомендации для виртуальных машин

Для систем, где сервер 1С:Предприятия работает на виртуальной машине, и аппаратный ключ пробрасывается через USB, мы принимаем дополнительные меры для повышения стабильности:

  1. Обновление VMware Tools (или аналогов): Мы убеждаемся, что на виртуальной машине установлены самые свежие версии гостевых утилит (например, VMware Tools для VMware ESXi, Integration Services для Hyper-V). Эти утилиты значительно улучшают взаимодействие виртуальной машины с хост-системой, включая работу с проброшенными устройствами.
  2. Обновление платформы виртуализации: Мы проверяем наличие обновлений для самой платформы виртуализации (например, новые релизы VMware ESXi). Обновления могут содержать исправления для проблем с USB-контроллерами и пробросом устройств.
  3. Проверка настроек USB-контроллера хоста: Мы повторяем шаги по отключению энергосбережения для USB-портов, описанные выше, но уже на уровне хост-системы (физического сервера), через который осуществляется проброс ключа.
  4. Рассмотрение программной лицензии: Если проблемы с пробросом USB-ключа сохраняются, мы серьезно рассматриваем возможность перехода на программную лицензию 1С. Программные лицензии привязываются к параметрам виртуальной машины и устраняют зависимость от физического USB-проброса, значительно повышая стабильность работы в виртуальной среде.

Диагностика с помощью HASP License Manager Diagnostic Utility

Для более глубокой диагностики мы используем утилиту HASP License Manager Diagnostic Utility (aksdiag.exe). Эта утилита позволяет нам проверить:

  1. Видимость ключа в системе.
  2. Состояние драйверов HASP.
  3. Доступность менеджера лицензий по сети.

Мы запускаем эту утилиту на сервере и анализируем ее отчеты на предмет любых ошибок или предупреждений, связанных с работой ключа. Также мы внимательно изучаем логи Sentinel License Manager, которые могут содержать записи о попытках доступа к ключу, ошибках инициализации или других проблемах.

Обращение в центр лицензирования 1С

Если после всех предпринятых шагов проблема сохраняется, мы составляем подробное обращение в центр лицензирования 1С или в техническую поддержку. В обращении мы:

  1. Четко описываем проблему и ее симптомы.
  2. Указываем версию платформы 1С, операционной системы сервера, версию драйверов HASP.
  3. Подробно перечисляем все выполненные диагностические шаги и предпринятые попытки решения.
  4. Прикрепляем логи сервера 1С:Предприятия, логи Sentinel License Manager и, при наличии, данные из утилиты aksdiag.exe.

Предоставление полной и точной информации поможет специалистам 1С быстрее локализовать и, возможно, предложить специфическое решение или подтвердить наличие бага.

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

← На главную