Как расходуются лицензии 1С на сервере терминалов и рабочих станциях?

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

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

Два ключевых режима подсчета лицензий: «На сессию» и «На соединение»

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

Сценарий 1: Лицензии раздает сервер «1С:Предприятия» (Режим «На соединение»)

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

Проанализируем эту ситуацию на примере: если один и тот же пользователь, находясь внутри своей терминальной сессии (или за обычным рабочим ПК), запускает одновременно конфигурацию «Бухгалтерия предприятия», «Зарплата и управление персоналом» и «Управление торговлей», то сервер приложений «1С» спишет из общего пула ровно три лицензии. Тип клиента при этом значения не имеет — тонкий клиент и толстый клиент расходуют лицензии абсолютно одинаково.

Сценарий 2: Лицензии активированы локально на терминальном сервере (Режим «На сессию»)

Если многопользовательская программная лицензия активирована непосредственно на сервере терминалов (в режиме активации «На этот компьютер» для всех пользователей), то раздачей лицензий управляет сам терминальный сервер. В этом случае работает более экономичное правило: одна терминальная сессия (RDP-сессия) = одна лицензия.

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

Алгоритм поиска лицензии платформой «1С:Предприятие 8»

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

  1. Проверка файла подключений: Платформа анализирует служебный файл 1cv8conn.pfl на предмет информации о последнем успешном подключении.
  2. Поиск локальных программных лицензий: Система проверяет наличие файлов с расширением .lic в локальных каталогах компьютера (или в общедоступных папках терминального сервера).
  3. Поиск локального USB-ключа: Проверяется наличие физического однопользовательского HASP-ключа, вставленного непосредственно в USB-порт компьютера.
  4. Поиск сетевого USB-ключа: Платформа обращается к сети через утилиту HASP License Manager (настройки этого поиска регулируются конфигурационным файлом nethasp.ini).
  5. Запрос у сервера «1С:Предприятия»: Если база клиент-серверная и на сервере разрешена раздача лицензий, клиент запрашивает лицензию у кластера серверов «1С».
  6. Запрос у веб-сервера: Используется при работе через веб-клиент.

Выяснив этот алгоритм, мы можем сделать важный вывод: если вы хотите экономить лицензии в терминальном режиме, необходимо настроить систему так, чтобы платформа находила лицензии на шаге 2 (локально на RDS) и не доходила до шага 5 (запрос к серверу «1С»). Для этого на сервере приложений «1С» в свойствах баз следует отключить параметр «Разрешить выдачу лицензий сервером 1С».

Особенности совместного использования программных ключей и HASP

Часто в организациях одновременно присутствуют и аппаратные USB-ключи, и новые программные лицензии. При их совмещении нужно учитывать важные технические ограничения:

Ограничение по установке одинаковых USB-ключей: На один физический компьютер или одну виртуальную машину невозможно установить два многопользовательских USB-ключа одного номинала (например, два ключа по 10 пользователей). Драйвер защиты HASP увидит только один из них, а второй будет игнорироваться. Чтобы использовать оба ключа, их придется разносить на разные физические компьютеры в локальной сети и запускать на каждом свой собственный HASP License Manager.

С программными лицензиями таких проблем нет. Вы можете активировать на одном сервере файлы лицензий любых номиналов (например, ключ на 5, на 10 и на 20 пользователей), и платформа корректно просуммирует их общую емкость.

Смешивание типов лицензий: Если сервер «1С» настроен на раздачу лицензий, он может забирать свободные лицензии как со своих программных файлов, так и с доступных сетевых USB-ключей через менеджер лицензий. Однако помните: как только сервер «1С» забирает лицензию с USB-ключа для выдачи удаленному клиенту, она автоматически переходит в режим работы «одно подключение = одна лицензия».

Проблемы виртуализации и стабильности программных лицензий

Программная лицензия «1С» жестко привязывается к ключевым параметрам аппаратной части компьютера (материнская плата, процессоры, объем оперативной памяти, сетевые адаптеры, сетевое имя, UUID операционной системы и т.д.). Любое изменение этих параметров приводит к тому, что лицензия «слетает» и требует повторной активации с помощью резервного пин-кода.

При развертывании серверов «1С» или серверов терминалов в виртуальной среде (Hyper-V, VMware, Proxmox) это создает серьезные риски:

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

Практические нюансы работы программных лицензий на RDS

При локальной активации программных лицензий на сервере терминалов (RDS) для правильной работы пользователей необходимо соблюдать следующие правила:

Права доступа к файлам лицензий: Чтобы любой пользователь терминала мог воспользоваться активированной лицензией, файлы с расширением .lic должны находиться в каталоге, к которому у всех пользователей есть права на чтение. В операционных системах Windows таким каталогом является папка: C:\ProgramData\1C\licenses. Если активировать лицензию в профиле администратора (например, в папке C:\Users\Администратор\AppData\Local\1C\...), то обычные пользователи запустить «1С» не смогут.

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

Пошаговый план настройки комбинированной системы (на примере автора темы)

Проанализируем исходную задачу автора темы: имеется терминальный сервер (на котором работают бухгалтеры с большим количеством открытых баз) и рабочие места локальной сети, подключающиеся напрямую. В наличии есть программные лицензии (25 штук) и USB-ключ HASP (на 10 пользователей).

Рассмотрим оптимальный вариант настройки такой архитектуры:

  1. Настройка терминального сервера (RDS): На сервере терминалов мы рекомендуем использовать аппаратный USB-ключ на 10 пользователей. Бухгалтеры, работающие в терминальных сессиях, будут получать лицензии локально от этого ключа. Поскольку подсчет идет «на сессию», до 10 пользователей смогут одновременно запускать неограниченное количество любых баз данных (Бухгалтерия, ЗУП, УТ), расходуя всего по одной лицензии на человека.
  2. Настройка серверов «1С» и SQL: На сервере приложений «1С» активируем многопользовательские программные лицензии (номиналом 20 и 5 пользователей). В свойствах баз данных на сервере обязательно включаем флаг «Разрешить выдачу лицензий сервером 1С».
  3. Настройка рабочих мест локальной сети: Пользователи, работающие за своими физическими ПК вне терминала, запускают тонкие клиенты напрямую. Они будут получать лицензии от сервера «1С» из пула программных лицензий (25 штук). При такой схеме каждый запуск базы с ПК будет тратить одну лицензию. Если пользователю с физического ПК нужно открыть три базы одновременно, он заберет три программные лицензии.
  4. Использование однопользовательских ключей на ПК: Для активных пользователей локальной сети, которым регулярно требуется запускать множество разных баз одновременно, целесообразно установить индивидуальные однопользовательские программные лицензии непосредственно на их рабочие компьютеры (используя однопользовательские пин-коды из комплектов). Это позволит им запускать любое количество баз локально, тратя всего одну лицензию на свой ПК и не нагружая общий серверный пул.
← На главную