Рассмотрим распространенную ситуацию в крупных инфраструктурах 1С: в сети установлено несколько сетевых аппаратных ключей защиты HASP (например, 4 ключа по 100 лицензий), однако пользователи периодически сталкиваются с ошибкой «Не найдена лицензия для использования программы». При этом сетевая утилита мониторинга видит все ключи, а суммарный лимит лицензий значительно превышает реальное количество работающих пользователей.
Проанализируем причины возникновения этой проблемы и разберем по шагам все доступные способы настройки системы для корректного использования всех купленных лицензий.
Главная причина кроется в особенностях работы платформы «1С:Предприятие» при включенной опции «Разрешить выдачу лицензий сервером» в свойствах информационной базы:
ORGL8. Если сервер 1С самостоятельно занимается раздачей лицензий клиентским сеансам, он опрашивает сеть и выбирает строго один ключ одной серии. То есть из четырех имеющихся ключей на 100 лицензий сервер выберет только один, а остальные три ключа той же серии ORGL8 проигнорирует. В результате сервер сможет раздать максимум 100 лицензий.Разберем подробнее варианты решения данной проблемы.
Если отключить централизованную выдачу лицензий сервером 1С, клиентские приложения начнут запрашивать лицензии у менеджеров лицензий напрямую по сети. Это позволит использовать все ключи и переключит алгоритм подсчета на схему «1 ПК = 1 лицензия».
Разберем по шагам, как выполнить эту настройку:
nethasp.ini (он располагается в каталоге bin установленной платформы 1С).HASP License Manager, отключив широковещательный опрос (broadcast):
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10, 192.168.1.11, 192.168.1.12, 192.168.1.13
NH_TCPIP_METHOD = TCP
NH_USE_BROADCAST = Disabled
Важно: явное указание протокола TCP вместо UDP предотвращает потерю сетевых пакетов в нагруженных сетях, что существенно повышает стабильность получения лицензий клиентами.
Обратите внимание: данный способ не подходит, если в системе активно используются веб-клиенты или подключения через тонкий клиент с использованием веб-сервера. Веб-сервер всегда запрашивает лицензии только через сервер приложений 1С.
Аппаратные ключи защиты имеют свойство удерживать лицензии за отключившимися ПК при некорректном разрыве связи или сетевых сбоях. По умолчанию менеджер лицензий может удерживать такую сессию до 36 часов.
Для предотвращения «зависания» лицензий выполните следующие действия:
nhsrv.ini.NHS_USER_SESSION, чтобы отвалившиеся подключения закрывались автоматически (например, установите лимит в минутном эквиваленте).Чтобы сервер 1С мог корректно раздавать все лицензии самостоятельно, можно изменить конфигурацию самих ключей:
ORGL8) и приобрести один ключ на 300 пользователей (серия ORG8A).ORGL8 (на 5, 10, 20, 50 или 100 пользователей);ORG8A (на 300 пользователей);ORG8B (на 500 пользователей).ORGL8) и один ключ на 300 пользователей (серия ORG8A), установленные даже на одном сервере, сервер 1С сможем суммировать их и раздать все 400 лицензий.Если требуется сохранить текущие физические ключи по 100 лицензий и при этом оставить выдачу лицензий на стороне сервера 1С, проанализируем вариант с масштабированием кластера:
В такой конфигурации каждый рабочий сервер кластера будет опрашивать локально подключенный к нему ключ и успешно передавать лицензии центральному серверу кластера.