При эксплуатации крупных информационных систем на базе 1С:Предприятие часто возникает ситуация "смешанного" парка лицензий. Например, в организации могут одновременно присутствовать старые аппаратные ключи (USB HASP) на 100 пользователей и новые программные лицензии. Одной из ключевых задач системного администратора в этом случае является настройка системы таким образом, чтобы в первую очередь расходовались аппаратные лицензии, и только при их исчерпании — программные. Рассмотрим подробнее, как это реализовать и почему это важно для экономии ресурсов.
Прежде чем мы перейдем к техническим настройкам, разберем экономическую и техническую логику процесса. Основное различие заключается в способе подсчета лицензий. Сетевая аппаратная лицензия (HASP) выдается на рабочее место (на IP-адрес или RDP-сессию). Это означает, что если пользователь в рамках одной терминальной сессии откроет пять различных информационных баз, он израсходует всего одну аппаратную лицензию.
В то же время программная лицензия, если она выдается сервером 1С:Предприятия, чаще всего расходуется на каждый запуск сеанса. В приведенном выше примере пользователь потратит пять программных лицензий. Таким образом, приоритизация аппаратных ключей позволяет существенно экономить общий пул доступных лицензий, особенно в средах с использованием терминальных серверов (RDP).
Для правильной настройки системы нам необходимо понимать внутренний алгоритм, по которому платформа ищет лицензию. Проанализируем последовательность действий системы при запуске клиентского приложения:
.lic в профиле пользователя или в общих папках компьютера.Наша задача — заставить систему максимально эффективно отработать первые два пункта до перехода к программным лицензиям.
Самый простой и эффективный способ управления приоритетом — использование специальных ключей запуска. Рассмотрим основной параметр /UseHwLicenses.
Если мы добавим в строку запуска информационной базы или в параметры запуска ярлыка ключ /UseHwLicenses+, мы принудительно заставим систему сначала искать аппаратный ключ.
Параметр может принимать следующие значения:
/UseHwLicenses+ — поиск аппаратного ключа выполняется в приоритетном порядке./UseHwLicenses- — поиск аппаратного ключа не выполняется вовсе (используются только программные лицензии).Также этот параметр можно прописать глобально для всех баз в конфигурационном файле 1cestart.cfg, который обычно располагается в папке %AppData%\1C\1CEStart. Разберем пример содержимого этого файла:
InstalledLocation=C:\Program Files\1cv8
CommonCfgLocation=C:\Program Files\1cv8\common\1cescmn.cfg
UseHWLicenses=1
DefaultVersion=8.3.22.1709
Установка UseHWLicenses=1 гарантирует, что поиск USB-ключей будет включен для всех информационных баз, запускаемых через общую стартовую программу.
Часто поиск аппаратных лицензий в сети занимает много времени из-за опроса всех доступных сегментов сети (broadcast-запросы). Это может приводить к тому, что система "сдается" и переходит к поиску программных лицензий раньше времени. Чтобы этого избежать, проанализируем настройку файла nethasp.ini.
Этот файл обычно находится в папке conf внутри каталога установки платформы 1С. Для ускорения "захвата" аппаратной лицензии рекомендуется жестко указать адрес менеджера лицензий. Посмотрим на пример настройки секции TCP/IP:
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10 ; IP-адрес сервера с USB-ключом
NH_TCPIP_METHOD = TCP
NH_USE_BCAST = DISABLED ; Отключаем широковещательный поиск
Такая настройка заставляет клиент 1С мгновенно обращаться к конкретному серверу за ключом HASP, что значительно повышает шансы на успешное получение аппаратной лицензии до того, как сработает тайм-аут и начнется поиск программных файлов.
Если в вашей инфраструктуре используется серверный кластер, важно учитывать роль "Сервера лицензирования". Выясним причину, по которой сервер может игнорировать аппаратные ключи. По умолчанию, если в консоли администрирования кластера для информационной базы включен параметр "Разрешить выдачу лицензий сервером", сервер будет в первую очередь предлагать программные лицензии, установленные на нем.
Рассмотрим два сценария настройки сервера:
/UseHwLicenses+ и настроенный nethasp.ini заставят всех пользователей сначала "выбрать" 100 лицензий с аппаратного ключа, и только те, кому не хватило, смогут использовать программные лицензии (если они установлены локально).При реализации "микса" из 100 аппаратных и, например, 50 программных лицензий, следует помнить о технических ограничениях:
OR87A (на 100 пользователей) не будут работать вместе — система увидит только один. Если нужно расширить пул аппаратных лицензий, второй ключ должен быть другой серии или установлен на другом физическом сервере с отдельным HASP License Manager./UseHwLicenses+ на стороне клиента является обязательной, так как задержки сети могут мешать штатному поиску оборудования.Таким образом, комбинируя параметры командной строки 1С, точную настройку файла nethasp.ini и грамотное распределение ролей в кластере 1С, можно добиться стабильного приоритета аппаратных ключей над программными, что обеспечит оптимальное использование ресурсов лицензирования в организации.