Как грамотно настроить лицензирование 1С в виртуальной среде и предотвратить слет лицензий

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

При работе 1С:Предприятие в виртуальных средах системные администраторы часто сталкиваются с проблемой «слета» программных лицензий. Это происходит из-за того, что программная защита 1С жестко привязывается к аппаратным характеристикам сервера. В виртуальной инфраструктуре параметры могут меняться динамически: миграция между нодами (vMotion/Live Migration), изменение объема оперативной памяти или количества ядер процессора приводят к тому, что система защиты воспринимает сервер как «новый» и аннулирует лицензию. Разберем подробно, как выстроить надежную архитектуру лицензирования.

Анализ причин деактивации программных лицензий

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

  1. Имя компьютера и UUID виртуальной машины. Если при перемещении между физическими серверами гипервизор изменяет UUID (например, при некорректном копировании ВМ вместо перемещения), лицензия мгновенно становится невалидной.
  2. Сетевые параметры. Важно зафиксировать статический MAC-адрес в настройках виртуального сетевого адаптера. Динамические MAC-адреса — одна из самых частых причин проблем.
  3. Конфигурация процессора и памяти. Платформа 1С допускает лишь незначительные отклонения. Если вы используете технологию Dynamic Memory (динамическая память), скачки доступного объема ОЗУ могут быть восприняты защитой как замена оборудования.
  4. Версия операционной системы. Установка крупных обновлений ОС, меняющих версию ядра, также может повлиять на идентификатор среды.

Решение 1: Выделенный сервер лицензирования в кластере 1С

Рассмотрим наиболее правильный с точки зрения архитектуры 1С 8.3 способ — использование сервиса лицензирования. В современных версиях платформы кластер серверов позволяет гибко распределять роли между рабочими серверами.

Разберем по шагам, как настроить выделенную роль лицензирования:

  1. Выделим отдельный сервер (виртуальный или физический) с максимально стабильными параметрами.
  2. В консоли администрирования кластеров 1С создадим требования назначения функциональности.
  3. Для выбранного сервера установим тип объекта Сервис лицензирования.
  4. Укажем способ применения: Назначать. Для всех остальных серверов кластера установим этот же сервис в значение Не назначать.

Выясним причину, почему это эффективно: при такой настройке все программные лицензии активируются только на этом конкретном сервере. Даже если рабочие серверы с базами данных (rphost) будут мигрировать или менять параметры, они будут обращаться за лицензией к выделенному «менеджеру лицензий», параметры которого неизменны. Однако помните, что данный сервис раздает лицензии только внутри своего кластера.

Решение 2: Гибридная привязка программной лицензии к ключу HASP

Малоизвестный, но крайне эффективный метод — использование физического ключа HASP в качестве «якоря» для программных лицензий. В этом случае при активации программной лицензии вы выбираете привязку не к параметрам компьютера, а к серийному номеру аппаратного ключа (например, ключа на 1 пользователя или ключа основной поставки).

Проанализируем плюсы этого подхода:

Для реализации этого метода в виртуальной среде потребуется стабильный проброс USB-устройств. Рассмотрим использование специализированных USB-over-IP концентраторов. Такие устройства позволяют подключать ключи по сети, и виртуальная машина видит их как локально подключенные устройства, независимо от того, на каком физическом хосте она запущена в данный момент.

Особенности работы с HASP License Manager

Если в вашей инфраструктуре используются аппаратные многопользовательские ключи, важно правильно настроить HASP LM. В отличие от программных лицензий, которые сервер 1С выдает на каждый сеанс (каждое открытое окно), HASP LM выдает лицензию на рабочее место (один компьютер может открыть много баз, используя одну лицензию).

Чтобы сервер лицензий корректно находил ключи, проанализируем настройки файла nnhasp.ini. Рекомендуется явно указывать IP-адрес сервера, где установлен ключ, чтобы избежать проблем с широковещательными запросами в разных подсетях:


[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.100 ; Адрес вашего сервера лицензий
NH_TCPIP_METHOD = TCP
NH_USE_BROADCAST = Disabled

Приоритизация лицензий через nprofi.xml

В ситуациях, когда в сети одновременно присутствуют и программные, и аппаратные лицензии, полезно настроить приоритет их получения. Это делается через файл nprofi.xml. Рассмотрим пример настройки, где мы указываем системе сначала искать программные лицензии, а затем обращаться к аппаратным ключам:


<Settings>
    <Property name="SelectionPriority" value="Software, Hardware"/>
</Settings>

Этот файл позволяет избежать ситуации, когда «дорогие» многопользовательские лицензии с HASP-ключа разбираются пользователями, которым достаточно обычных программных лицензий.

Рекомендации по управлению пин-кодами

При использовании программных лицензий важно помнить о резервных пин-кодах. Каждое изменение параметров сервера заставляет вас тратить один пин-код из комплекта. Когда они закончатся, получение новых в Центре лицензирования потребует официального обоснования причин частой смены оборудования.

Важные моменты при активации:

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

← На главную