Почему сервер 1С требует несколько серверных лицензий при запуске разных конфигураций и как это исправить

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

Переход с аппаратных ключей защиты HASP на программные лицензии часто сопровождается неожиданным поведением системы. Одной из наиболее запутанных ситуаций является случай, когда сервер 1С:Предприятия начинает требовать несколько серверных лицензий для работы разных информационных баз или различных конфигураций в рамках одного кластера. Рассмотрим подробно, почему это происходит, как проанализировать ситуацию и какие настройки могут приводить к «утечке» или избыточному потреблению лицензий.

Разбор механизма работы «Сервера лицензирования»

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

Важно понимать следующие правила работы этого механизма:

  1. Изоляция лицензий: Сервер лицензирования выдает лицензии только для клиент-серверных баз. Если у вас в кластере есть базы, работающие в разных режимах или на разных версиях платформы, могут возникнуть конфликты.
  2. Типы лицензий: Не допускается смешивание лицензий уровня ПРОФ и КОРП на одном сервере лицензирования. Если одна из ваших конфигураций (например, новая Альфа-Авто 6) требует функционала КОРП или была активирована соответствующим ключом, сервер может заблокировать выдачу обычных ПРОФ-лицензий для других баз.
  3. Привязка к процессам: В консоли администрирования серверов 1С можно увидеть, что один рабочий процесс (процесс 1) потребляет две лицензии. Это может означать, что сервер выдал одну лицензию на сам процесс rphost, а вторую — на конкретную информационную базу, которая требует специфических условий запуска.

Влияние типа клиента: Толстый vs Тонкий

Разберем ситуацию, упомянутую в проблеме: ЗУП работает на тонком клиенте, а Альфа-Авто — на толстом. Это критический фактор для понимания логики лицензирования. Выясним причину, почему это важно:

Толстый клиент в клиент-серверном варианте ведет себя более «самостоятельно». При запуске он может сначала пытаться найти локальную лицензию (на клиентской машине или в сети через HASP), и только если не находит, обращается к серверу 1С. Если программная лицензия установлена на сервере «для всех пользователей» (путь C:\ProgramData\1C\licenses), сервер должен раздавать её централизованно.

Однако, если для толстого клиента не настроен корректно поиск лицензий или в файле conf.cfg указаны специфические параметры, может возникнуть ситуация, когда сервер считает каждый такой запуск отдельным требованием на серверную лицензию, особенно если конфигурации сильно различаются по требованиям к платформе.

Анализ проблем с привязкой к железу и виртуализации

Проанализируем техническую сторону программных лицензий. В отличие от USB-ключа, программная лицензия жестко привязана к параметрам сервера (имя, процессор, BIOS, сетевые карты, объем оперативной памяти). Рассмотрим, какие факторы на новом железе могут приводить к ошибке «Не обнаружено лицензии на запуск сервера»:

  1. Динамическая память: Если 1С развернута на виртуальной машине (например, Hyper-V) с включенной функцией Dynamic Memory, объем ОЗУ может меняться в процессе работы. Для 1С это выглядит как изменение характеристик компьютера, что делает текущую лицензию невалидной. В итоге сервер пытается «подтянуть» вторую имеющуюся лицензию, и когда они заканчиваются, работа останавливается.
  2. Остатки старых лицензий: При переносе данных со старого сервера могли сохраниться файлы с расширением .lic. Если система видит файл, который не соответствует текущему железу, и файл, который соответствует, может возникнуть конфликт при обращении к менеджеру лицензий.

Специфика отраслевых решений (Альфа-Авто и СЛК)

Конфигурации Альфа-Авто 5 и 6 используют собственную систему защиты — СЛК (Система Лицензирования Конфигураций). Рассмотрим, как это накладывается на лицензирование платформы 1С. Часто пользователи путают сообщение об отсутствии серверной лицензии 1С:Предприятие и лицензии на саму конфигурацию.

Посмотрим на возможный сценарий: Альфа-Авто 6 может требовать более новую версию СЛК. Если на сервере запущены разные версии драйверов защиты Рарус, они могут конфликтовать за порты. В некоторых случаях это приводит к тому, что рабочий процесс 1С падает или блокируется, а при перезапуске запрашивает новую серверную лицензию 1С, не успев освободить старую в менеджере лицензий кластера.

Настройка диагностики через Технологический журнал

Для того чтобы точно определить, какой процесс и почему запрашивает лишнюю лицензию, нам необходимо настроить Технологический журнал (ТЖ). Разберем по шагам, как это сделать. Создадим файл logcfg.xml в папке настроек 1С (обычно C:\Program Files\1C\1cv8\conf) со следующим содержимым:


<config xmlns="http://v8.1c.ru/7.4/config/logcfg">
  <log location="C:\LOGS\LIC" history="24">
    <event>
      <eq property="name" value="LIC"/>
    </event>
    <property name="all"/>
  </log>
</config>

Проанализируем полученные логи после возникновения ошибки. В событии LIC будет четко указано:

Известные проблемы платформы 8.3.22.2106

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

Рассмотрим рекомендации по устранению этой ситуации:

  1. Обновление: Рекомендуется обновить платформу до последних патчей ветки 8.3.22 или перейти на 8.3.23+, где механизмы работы с программными лицензиями были оптимизированы.
  2. Отказ от роли сервера лицензирования: Если кластер состоит из одного физического сервера, попробуйте отключить роль «Сервер лицензирования» в консоли администрирования. В этом случае лицензии будут подхватываться из стандартных папок C:\ProgramData\1C\licenses, что часто решает проблемы с их «удвоением».
  3. Права доступа: Убедитесь, что пользователь, под которым запущена служба 1C:Enterprise 8.3 Server Agent, имеет полные права (Full Control) на папку с лицензиями. Если прав недостаточно, сервер может считывать лицензию «через раз», что приводит к хаотичным запросам новых пин-кодов.

Итоги и последовательность действий

Подведем итог нашему анализу. Если ваш сервер 1С требует лишние лицензии, выполните следующие действия:

  1. Проверьте консоль администрирования: сколько рабочих процессов запущено и какие роли им назначены.
  2. Убедитесь, что на сервере не смешиваются лицензии ПРОФ и КОРП.
  3. Отключите динамическое распределение памяти в настройках виртуализации.
  4. Очистите папки с лицензиями от старых, неактуальных .lic файлов.
  5. Настройте Технологический журнал на событие LIC для детального мониторинга запросов.

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

← На главную