Как рассчитать и настроить клиентские лицензии 1С при работе через несколько терминальных серверов

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

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

Основные принципы подсчета лицензий: сеансы против хостов

Для начала разберем главный вопрос автора: сколько нужно лицензий — 35 (максимум в одной базе) или 150 (всего пользователей)? Правильный ответ: лицензии считаются по суммарному количеству одновременно работающих пользователей во всех базах. Если в один и тот же момент времени в систему заходят 150 человек, то вам потребуется 150 лицензий.

Однако существует технический нюанс, позволяющий существенно сэкономить. Проанализируем два режима подсчета:

  1. Подсчет по сеансам: Каждое открытое окно 1С (каждое подключение к базе) поглощает одну лицензию. Если один пользователь открыл три разные базы, он займет 3 лицензии.
  2. Подсчет по рабочим местам: Лицензия выдается на один терминальный сеанс или на один компьютер. Пользователь может открыть неограниченное количество баз в рамках своей сессии, расходуя всего 1 лицензию.

Выясним, как добиться второго варианта (расхода одной лицензии на пользователя) при использовании разных типов защиты.

Вариант 1: Программные лицензии на терминальном сервере

Если мы используем программные лицензии (пин-коды), то способ их активации напрямую влияет на логику расхода. Рассмотрим ситуацию, когда у нас три терминальных сервера.

Разберем по шагам правильную настройку:

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

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

C:\ProgramData\1C\licenses

В этом случае платформа при запуске 1С на терминале сначала найдет локальную лицензию. Поскольку лицензия привязана к самому терминальному серверу, она будет выдаваться на терминальную сессию Windows. Это позволит пользователю запускать несколько экземпляров 1С в режиме «1 лицензия на пользователя».

Вариант 2: Аппаратная защита (USB-ключи)

Многие администраторы до сих пор предпочитают аппаратные ключи HASP, так как они более гибкие в настройке для терминальных ферм. Проанализируем, почему этот вариант считается наиболее выгодным при наличии нескольких серверов.

Для работы сетевого USB-ключа используется специальная служба — HASP License Manager (менеджер лицензий). Рассмотрим алгоритм его работы:

  1. Ключ вставляется в один из серверов сети (или в специальный USB-хаб).
  2. На этом сервере запускается менеджер лицензий.
  3. На клиентских (терминальных) серверах в файле конфигурации nethasp.ini прописывается IP-адрес сервера с ключом.

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

Проблема использования нескольких терминальных серверов

Рассмотрим ситуацию автора: 3 терминальных сервера и 150 пользователей. Если мы купим один ключ на 150 пользователей и поставим его на один из серверов, нам придется настраивать доступ к нему со всех трех терминалов.

Проанализируем риски:

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

Технические ограничения уровней ПРОФ и КОРП

Выясним причину, по которой при 150 пользователях стоит обратить внимание на тип серверной лицензии. С 2019 года компания 1С ввела жесткие технические ограничения для лицензий уровня ПРОФ:

Если ваш сервер 1С:Предприятие имеет более 12 ядер (включая Hyper-Threading), то использование лицензии ПРОФ приведет к тому, что 1С просто «не увидит» остальные ядра, что снизит производительность при 150 пользователях.

Особенности работы в виртуальной среде

Посмотрим на ситуацию со стороны виртуализации. Если ваши терминальные серверы — это виртуальные машины (VM), то программные лицензии становятся «капризными». Программная лицензия привязывается к ключевым параметрам системы:

Если ваша виртуальная инфраструктура настроена на динамическое распределение ресурсов (например, VMware vMotion или динамическая память Hyper-V), программная лицензия может «слететь» при миграции сервера на другой узел. Рекомендация: при использовании программных лицензий в виртуальной среде необходимо фиксировать (резервировать) MAC-адреса и параметры CPU для каждой виртуальной машины.

Итоговый алгоритм действий для администратора

Подводя итог, проанализируем оптимальную последовательность действий для настройки системы на 150 пользователей:

  1. Определите тип лицензий: Если бюджет позволяет, выберите USB-ключи — они проще в переносе и не зависят от параметров железа. Если бюджет ограничен — берите программные.
  2. Выберите место активации:
    • Для экономии лицензий активируйте их на терминальных серверах (по 50 на каждый из трех).
    • В настройках каждой информационной базы в консоли администрирования установите параметр Разрешить выдачу лицензий сервером 1С = Нет. Это заставит клиента 1С искать лицензию самостоятельно на терминальном сервере.
  3. Настройте общие папки: Если используете программные лицензии, убедитесь, что они лежат в C:\ProgramData\1C\licenses на каждом терминале.
  4. Мониторинг: Используйте консоль администрирования серверов 1С. В разделе «Сеансы» колонка «Лицензия» покажет вам, откуда именно пользователь получил доступ (локально, от сервера или через сетевой ключ) и какой серийный номер у лицензии.

Такой подход позволит вам работать в рамках 150 лицензий, даже если каждый из 150 пользователей откроет по 3-4 разные базы одновременно.

← На главную