При администрировании информационных баз 1С:Предприятия системные администраторы часто сталкиваются с вопросом оптимизации клиентских лицензий. Одной из ключевых настроек информационной базы в консоли администрирования кластера серверов 1С является параметр «Разрешить выдачу лицензий сервером». Разберем детально, как этот параметр влияет на распределение лицензий, почему при установке значения «Нет» пользователи могут получать ошибку «Не найдена лицензия», и как правильно настроить совместную работу аппаратных USB-ключей (HASP) и программных лицензий.
Для понимания логики работы платформы проанализируем два принципиально разных механизма получения клиентской лицензии:
В этом режиме процесс кластера серверов rphost самостоятельно получает лицензии (из активированных на сервере программных файлов .lic или захватывая сетевые аппаратные ключи) и выделяет их клиентским подключениям. Главная особенность серверной раздачи заключается в том, что лицензии расходуются посеансно. Это означает, что если один и тот же пользователь на одном рабочем месте запустит три разные информационные базы или откроет конфигуратор параллельно с режимом предприятия, сервер спишет три отдельные лицензии.
В данном сценарии сервер 1С отказывается выдавать клиенту лицензию из пула сервера. Клиентское приложение обязано найти лицензию самостоятельно до подключения к базе. Клиент ищет локальные программные файлы лицензий на своем ПК, локальные USB-ключи HASP либо опрашивает сетевой менеджер лицензий HASP License Manager. При прямом получении лицензии клиентом действует правило: одна лицензия на один рабочий компьютер. Пользователь может открыть сколько угодно баз и сеансов на своем ПК, израсходовав всего одну клиентскую лицензию.
Выясним причину ситуации, когда после отключения параметра на сервере пользователи теряют доступ к базе с сообщением о нехватке лицензий:
Если многопользовательский комплект программных лицензий был активирован на сервере с использованием многопользовательского пин-кода, результирующий файл .lic привязан к параметрам серверного оборудования и физически доступен только серверным процессам. Клиентские компьютеры не имеют прямого доступа к файловой системе сервера. Когда мы устанавливаем значение «Разрешить выдачу лицензий сервером — Нет», сервер блокирует раздачу этого файла клиентам. Если на рабочей станции нет собственного файла лицензии или доступа к HASP, запуск блокируется.
Когда на предприятии используется аппаратный ключ HASP, при значении «Нет» клиентский компьютер обращается к службе HASP License Manager по сети. Если между клиентской машиной и сервером лицензирования закрыты порты (по умолчанию UDP/TCP 475), отключен широковещательный поиск (broadcast) или исчерпан лимит свободных слотов на самом ключе, клиент не сможет забрать лицензию напрямую.
Если на одном физическом сервере запущены и кластер серверов 1С, и менеджер лицензий HASP, служба 1С может первой занять все доступные лицензии на USB-ключе для обслуживания баз, где включена раздача сервером. В результате клиентским ПК свободных лицензий на ключе просто не остается.
Рассмотрим по шагам практические варианты настройки инфраструктуры для эффективного использования лицензий.
Если мы хотим, чтобы клиентские толстые или тонкие клиенты гарантированно находили сетевой аппаратный ключ HASP на выделенном сервере, необходимо исключить нестабильный широковещательный поиск и прописать прямой адрес сервера лицензирования. Разберем настройку файла nethasp.ini, который располагается в каталоге bin\conf установленной платформы 1С:
nethasp.ini в текстовом редакторе.[NH_COMMON] и [NH_TCPIP].
[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10
NH_USE_BROADCAST = Disabled
NH_TCPIP_METHOD = TCP
Параметр NH_USE_BROADCAST = Disabled предотвратит широковещательный опрос подсети и направит запросы напрямую на хост 192.168.1.10.
Проанализируем сценарий совмещения баз в кластере, если в организации есть и аппаратный ключ HASP, и программный многопользовательский пул:
nethasp.ini.Чтобы сервер 1С не расходовал аппаратный HASP посеансно, а отдавал его целиком клиентам, настроим запрет использования HASP серверными процессами. Для этого при запуске службы сервера 1С (или в файле конфигурации conf.cfg) используется параметр:
DisableHASP=1
Либо ключ запуска службы сервера -disable_hasp. В таком случае сервер 1С будет работать только с активированными программными файлами лицензий, а сетевой аппаратный ключ HASP останется полностью в распоряжении локальных компьютеров пользователей.
Если аппаратный ключ отсутствует, но требуется режим «одна лицензия на компьютер», программный комплект нельзя активировать на сервере одним многопользовательским пин-кодом. Разберем порядок действий:
.lic будут сохранены в общедоступном локальном каталоге %PROGRAMDATA%\1C\1Cv8\conf\.