В сетевой инфраструктуре 1С:Предприятия нередко возникает ситуация, когда на разных серверах установлены многопользовательские USB-ключи защиты HASP (например, один ключ на 100 лицензий, а второй на 5 лицензий). Администраторы часто сталкиваются с проблемой: клиенты успешно берут лицензии с одного сервера, но когда они заканчиваются, автоматического переключения на второй доступный ключ не происходит, и пользователи получают ошибку о нехватке лицензий. Разберем по шагам, почему возникает такое поведение, как правильно сконфигурировать менеджеры лицензий и какие существуют практические способы решения этой проблемы.
Для понимания сути проблемы выясним причину, по которой клиент 1С не переключается на второй ключ. Алгоритм сетевого драйвера HASP при опросе менеджеров лицензий (HASP License Manager) работает следующим образом:
nethasp.ini.Таким образом, аппаратные ключи одной серии не умеют динамически суммироваться или балансировать нагрузку «на лету» средствами клиентского драйвера, если клиенту явно доступны оба сервера лицензирования в рамках одного списка.
Если в одной локальной сети одновременно работают два менеджера лицензий HASP, каждому из них необходимо задать уникальное имя, чтобы исключить конфликты широковещательных пакетов. Имя задается в конфигурационном файле nhsrv.ini, который располагается в каталоге установки менеджера лицензий (по умолчанию C:\Program Files (x86)\Aladdin\HASP LM\) либо в системной папке Windows\System32, если менеджер установлен в качестве службы Windows.
Рассмотрим правила формирования имени менеджера лицензий:
На первом сервере (где установлен ключ на 100 лицензий) в файле nhsrv.ini пропишем:
[NHS_SERVER]
NHS_SERVERNAMES = LM1
На втором сервере (где установлен ключ на 5 лицензий) в файле nhsrv.ini укажем другое имя:
[NHS_SERVER]
NHS_SERVERNAMES = LM2
Важно: после внесения изменений в файл nhsrv.ini обязательно перезапустим службу HASP Loader на обоих серверах, чтобы новые имена вступили в силу.
Файл nethasp.ini управляет тем, как клиент 1С ищет лицензии по сети. Он должен располагаться в каталоге conf платформы. Для 32-разрядных версий клиента путь выглядит как C:\Program Files (x86)\1cv8\conf\nethasp.ini, а для 64-разрядных — C:\Program Files\1cv8\conf\nethasp.ini.
Чтобы избежать задержек при запуске и исключить неконтролируемый широковещательный опрос сети, отключим неиспользуемые протоколы и широковещание, явно указав параметры TCP/IP:
[NH_COMMON]
NH_TCPIP = Enabled
NH_IPX = Disabled
NH_NETBIOS = Disabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.0.1
NH_SERVER_NAME = LM1
NH_USE_BROADCAST = Disabled
NH_TCPIP_METHOD = TCP_OR_UDP
Обратим внимание на используемые параметры:
NH_TCPIP = Enabled включает работу протокола TCP/IP.NH_IPX = Disabled и NH_NETBIOS = Disabled исключают поиск по устаревшим сетевым протоколам.NH_USE_BROADCAST = Disabled запрещает широковещательный поиск по всей подсети, направляя запросы строго на указанный IP-адрес.475 (UDP и TCP). Проверим, чтобы данный порт не блокировался сетевыми экранами и брандмауэром Windows.Поскольку объединить два физических ключа в единый пул с автоматическим переполнением через nethasp.ini невозможно, рассмотрим рабочие практические сценарии организации лицензирования:
Вариант 1. Сегментация пользователей по серверам и файлам nethasp.ini
Разделим группы пользователей на уровне конфигурационных файлов. Например, если в компании используются два сервера терминалов, на первом терминальном сервере в nethasp.ini пропишем обращение исключительно к LM1 (ключ на 100 лицензий), а на втором терминальном сервере (или для отдельной выделенной группы рабочих станций) укажем обращение к LM2 (ключ на 5 лицензий). Это гарантирует, что каждая группа задействует свой выделенный пул без взаимных блокировок.
Вариант 2. Раздача клиентских лицензий через кластер серверов 1С
В свойствах каждой информационной базы в консоли администрирования серверов 1С:Предприятия присутствует параметр «Разрешить выдачу лицензий сервером 1С:Предприятия». Проанализируем различия двух схем:
Вариант 3. Апгрейд ключей защиты или переход на программные лицензии
Наиболее надежным и масштабируемым решением является консолидация пула лицензий:
Для контроля работы службы лицензирования и проверки видимости ключей в сети используем специализированную утилиту Aladdin Knowledge Systems Monitor (AKS Monitor). Запустив утилиту на рабочем месте пользователя, убедимся, что:
LM1 и LM2).475.