Как настроить приоритет использования аппаратных лицензий HASP перед программными в 1С?

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

При эксплуатации крупных информационных систем на базе 1С:Предприятие часто возникает ситуация "смешанного" парка лицензий. Например, в организации могут одновременно присутствовать старые аппаратные ключи (USB HASP) на 100 пользователей и новые программные лицензии. Одной из ключевых задач системного администратора в этом случае является настройка системы таким образом, чтобы в первую очередь расходовались аппаратные лицензии, и только при их исчерпании — программные. Рассмотрим подробнее, как это реализовать и почему это важно для экономии ресурсов.

Зачем нужен приоритет аппаратных ключей?

Прежде чем мы перейдем к техническим настройкам, разберем экономическую и техническую логику процесса. Основное различие заключается в способе подсчета лицензий. Сетевая аппаратная лицензия (HASP) выдается на рабочее место (на IP-адрес или RDP-сессию). Это означает, что если пользователь в рамках одной терминальной сессии откроет пять различных информационных баз, он израсходует всего одну аппаратную лицензию.

В то же время программная лицензия, если она выдается сервером 1С:Предприятия, чаще всего расходуется на каждый запуск сеанса. В приведенном выше примере пользователь потратит пять программных лицензий. Таким образом, приоритизация аппаратных ключей позволяет существенно экономить общий пул доступных лицензий, особенно в средах с использованием терминальных серверов (RDP).

Алгоритм поиска лицензий платформой 1С

Для правильной настройки системы нам необходимо понимать внутренний алгоритм, по которому платформа ищет лицензию. Проанализируем последовательность действий системы при запуске клиентского приложения:

  1. Локальный USB-ключ: Поиск ключа, вставленного непосредственно в компьютер пользователя.
  2. Сетевой аппаратный ключ: Поиск многопользовательских ключей через HASP License Manager в локальной сети.
  3. Локальная программная лицензия: Поиск файлов с расширением .lic в профиле пользователя или в общих папках компьютера.
  4. Лицензия от сервера 1С:Предприятия: Если клиент не нашел лицензию самостоятельно, он обращается к серверу. Сервер сначала пытается раздать свои программные лицензии, а затем ищет аппаратные ключи, доступные непосредственно ему.

Наша задача — заставить систему максимально эффективно отработать первые два пункта до перехода к программным лицензиям.

Настройка клиента через параметры запуска

Самый простой и эффективный способ управления приоритетом — использование специальных ключей запуска. Рассмотрим основной параметр /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-ключей будет включен для всех информационных баз, запускаемых через общую стартовую программу.

Тонкая настройка через nethasp.ini

Часто поиск аппаратных лицензий в сети занимает много времени из-за опроса всех доступных сегментов сети (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, что значительно повышает шансы на успешное получение аппаратной лицензии до того, как сработает тайм-аут и начнется поиск программных файлов.

Настройка на стороне сервера 1С:Предприятия

Если в вашей инфраструктуре используется серверный кластер, важно учитывать роль "Сервера лицензирования". Выясним причину, по которой сервер может игнорировать аппаратные ключи. По умолчанию, если в консоли администрирования кластера для информационной базы включен параметр "Разрешить выдачу лицензий сервером", сервер будет в первую очередь предлагать программные лицензии, установленные на нем.

Рассмотрим два сценария настройки сервера:

  1. Полное делегирование клиенту: Если выключить параметр "Разрешить выдачу лицензий сервером", то клиентские приложения будут обязаны найти лицензию самостоятельно. В этом случае связка /UseHwLicenses+ и настроенный nethasp.ini заставят всех пользователей сначала "выбрать" 100 лицензий с аппаратного ключа, и только те, кому не хватило, смогут использовать программные лицензии (если они установлены локально).
  2. Приоритет на сервере: Если вы хотите, чтобы именно сервер раздавал лицензии, но предпочитал аппаратный ключ, рекомендуется физически установить USB-ключ в сервер и убедиться, что на данном сервере (или узле кластера, выполняющем роль лицензирования) не активированы лишние программные лицензии. Программные лицензии лучше перенести на другой рабочий сервер кластера.

Важные нюансы при смешивании лицензий

При реализации "микса" из 100 аппаратных и, например, 50 программных лицензий, следует помнить о технических ограничениях:

Таким образом, комбинируя параметры командной строки 1С, точную настройку файла nethasp.ini и грамотное распределение ролей в кластере 1С, можно добиться стабильного приоритета аппаратных ключей над программными, что обеспечит оптимальное использование ресурсов лицензирования в организации.

← На главную