Как решить проблему замедления сервера 1С из-за потери программных лицензий, привязанных к аппаратным ключам HASP

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

В практике системного администрирования 1С встречается специфический вид лицензирования — так называемые «гибридные» лицензии. Это программные лицензии КОРП-уровня, которые приобретались для расширения функционала (снятие ограничения на 12 ядер и 500 сеансов) систем, использующих старые аппаратные ключи USB, купленные до февраля 2019 года. Ошибка привязки таких лицензий приводит к тому, что сервер принудительно переходит в режим работы ПРОФ, что вызывает катастрофическое падение производительности. Разберем, как диагностировать и устранить эту проблему.

Анализ причин возникновения ошибки лицензирования

Проанализируем ситуацию: сервер приложений начинает работать крайне медленно. При проверке технологического журнала (ТЖ) обнаруживаются записи вида Ошибка программного лицензирования. Ошибка привязки программной лицензии к компьютеру. Выясним причину такого поведения. Программная лицензия при активации «запоминает» уникальный ID аппаратного ключа. Если ключ был переставлен в другой разъем, заменен или временно недоступен, механизм лицензирования 1С теряет связку.

Важный момент, который мы должны учитывать: программная лицензия ищет конкретный аппаратный ключ с определенным внутренним идентификатором. Если в системе присутствуют несколько ключей (например, два ключа по 50 пользователей), лицензия может пытаться привязаться к первому попавшемуся. Если его ID не совпадает с тем, что был указан при активации, лицензия аннулируется. Это наглядно видно в логах, где система сравнивает параметры HASP_0 и HASP_1.

Почему падает производительность при потере лицензии КОРП

Рассмотрим, что происходит внутри системы в момент сбоя. Когда программная лицензия КОРП «отваливается», сервер 1С:Предприятие не прекращает работу полностью. Он переходит в режим ограничений уровня ПРОФ. Если на вашем физическом или виртуальном сервере выделено более 12 ядер процессора, сервер начинает программно ограничивать их использование. Это приводит к огромным очередям на уровне CPU и «тормозам» в пользовательских сессиях. Кроме того, постоянные попытки rphost повторно получить лицензию создают дополнительную паразитную нагрузку.

Правильная стратегия активации: привязка к ключу сервера

Разберем основной способ решения проблемы, предложенный в обсуждении. При получении новых пин-кодов от Центра Лицензирования 1С крайне важно правильно выбрать объект привязки.

  1. Выбор ключа: Всегда старайтесь привязывать программные лицензии к аппаратному ключу сервера (серия EN8SA), а не к клиентским ключам. Серверный ключ обычно стационарен и находится непосредственно в той машине, где работает менеджер кластера 1С.
  2. Свободные лицензии: Проанализируем критическое условие: для проверки привязки к клиентскому HASP-ключу требуется наличие одной свободной лицензии в момент проверки (проверка выполняется примерно раз в 20 секунд на 1 секунду). Если ваш ключ на 20 пользователей занят полностью, программная лицензия может «не увидеть» ключ и деактивироваться. Привязка к серверному ключу лишена этого недостатка.
  3. Место активации: Активацию таких лицензий необходимо производить непосредственно на самом сервере через консоль или RDP-сессию, а не с удаленной рабочей станции администратора.

Алгоритм восстановления лицензии

Если вы столкнулись с чехардой лицензий, выполните следующие шаги:

  1. Запросите в Центре лицензирования 1С (lic@1c.ru) новые пин-коды, подробно описав ситуацию и приложив файлы старых лицензий из папки C:\ProgramData\1C\licenses.
  2. Убедитесь, что все аппаратные ключи стоят в своих целевых портах и видны в диспетчере устройств.
  3. Запустите 1С в режиме «Конфигуратор» на сервере.
  4. В окне получения лицензии выберите «Восстановление».
  5. Важный нюанс: при активации выберите вариант привязки к аппаратному ключу защиты. Система предложит список обнаруженных ключей. Выберите именно серверный ключ (он обычно один и имеет маркировку HASP HL Server).

Перенос лицензий и работа в виртуальной среде

Рассмотрим ситуацию, когда сервер необходимо перенести или он вышел из строя. Многие опасаются, что привязка к HASP делает систему немобильной. Однако участники обсуждения подтверждают:

Во-первых, файлы лицензий (с расширением .lic) можно просто скопировать и перенести на другой сервер вместе с USB-ключом. Если ID ключа не изменился, лицензия подхватится автоматически.

Во-вторых, если файл лицензии утерян, при восстановлении можно использовать старый пин-код, установив флаг Я уверен(-а), что ключевые параметры компьютера не изменялись, при условии, что аппаратный ключ тот же самый.

Проанализируем особенности работы в виртуальной среде (VMware, Hyper-V). При использовании проброса USB-ключей через софтверные решения (например, USB Redirector) связь может быть нестабильной. Любой микро-разрыв связи с USB-портом приведет к ошибке лицензирования. В таких случаях рекомендуется жестко прописывать параметры поиска ключа в файле nnhasp.ini:


[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.100 ; IP-адрес машины с ключом
NH_TCPIP_METHOD = TCP
NH_USE_BROADCAST = Disabled

Резюме для администратора

Подведем итог. Чтобы избежать проблем с программно-аппаратными лицензиями 1С:

Соблюдение этих правил обеспечит стабильную работу КОРП-функционала и предотвратит внезапные деградации производительности вашей базы данных.

← На главную