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

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

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

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

1. Программные лицензии 1С: комбинированные комплекты и ПИН-коды

При покупке программных лицензий на 5, 10 или 20 рабочих мест вы получаете так называемую комбинированную лицензию. В коробке (или в электронном письме поставки) всегда присутствуют два комплекта ПИН-кодов:

  1. Однопользовательские ПИН-коды (например, для комплекта на 10 мест будет предоставлено 10 отдельных ПИН-кодов).
  2. Многопользовательский ПИН-код (1 ПИН-код на все 10 рабочих мест).

Важнейшее правило активации: вы должны выбрать только один вариант использования. Если вы активируете хотя бы один однопользовательский ПИН-код из комплекта, многопользовательский ПИН-код навсегда аннулируется, и наоборот.

Рассмотрим, как выбор типа активации влияет на подсчет лицензий на терминальном сервере:

Для наглядности проанализируем разницу в таблице ниже:

Таблица 1. Расход программных лицензий в зависимости от способа активации на терминале

Способ активации Кто раздает лицензию Принцип подсчета Расход лицензий при запуске 3-х баз одним пользователем
Многопользовательская на терминале Клиентское приложение (локальный файл) На сессию RDP (на пользователя) 1 лицензия
Активация на сервере 1С (rphost) Служба сервера 1С:Предприятия На каждый сеанс (на каждую базу) 3 лицензии

2. Как управлять распределением лицензий: настройка базы данных

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

  1. Откроем утилиту Администрирование серверов 1С Предприятия.
  2. Перейдем в ветку Кластеры -> [Имя вашего кластера] -> Информационные базы.
  3. Найдем нужную базу, откроем ее свойства и найдем параметр «Развешать выдачу лицензий сервером 1С» (в зависимости от версии платформы формулировка может звучать как «Разрешить выдачу лицензий сервером 1С»).
  4. Если мы установим значение «Нет», то сервер 1С будет игнорировать собственные свободные лицензии при подключении к этой базе. Он потребует, чтобы клиентское приложение (запущенное на терминале) самостоятельно нашло себе лицензию (например, из локального многопользовательского файла лицензии на терминале). Это идеальный вариант для экономии лицензий, так как у пользователя спишется только одна лицензия на RDP-сессию.
  5. Если мы установим значение «Да», сервер 1С сначала попробует взять лицензию у запущенного клиента, а если у клиента её нет — выдаст лицензию из своего общего пула, активированного на сервере (списав при этом одну лицензию на сеанс).

Чтобы оперативно контролировать состояние подключений, откроем список «Сеансы» в консоли кластера. Обратим внимание на колонку «Лицензия». Если там написано Клиент, ... — значит, лицензию нашло само приложение на терминальном сервере, и она расходуется поюзерно. Если там значится Сервер, ... — лицензию выдал сервер 1С, и она расходуется посеансово.

3. Аппаратная защита HASP: особенности работы на терминалах

Существует распространенное заблуждение, будто современные операционные системы (начиная с Windows Server 2012) не поддерживают работу аппаратных ключей защиты Aladdin HASP. Выясним реальное положение дел.

Проблемы несовместимости действительно возникали, но исключительно со старыми версиями драйверов HASP, которые поставлялись в комплекте со старыми релизами платформы. Современный владелец бренда HASP — компания Thales (ранее SafeNet) — регулярно обновляет драйверы. Для стабильной работы достаточно скачать и установить последнюю версию драйвера Sentinel LDK Run-time (версии 8.x и выше). Ключи прекрасно распознаются на Windows Server 2016, 2019, 2022 и на актуальных дистрибутивах Linux.

Однако при работе с аппаратными ключами на терминальном сервере действуют жесткие технические правила:

Правило 1. Блокировка однопользовательских ключей в RDP. Физический однопользовательский USB-ключ (светло-синего или фиолетового цвета, маркировка H4 M1) физически блокируется драйвером при попытке обратиться к нему из терминальной сессии. Если вы воткнете такой ключ в сервер и зайдете по RDP, платформа выдаст ошибку «Ключ защиты не обнаружен». Это сделано для защиты от нелегального коллективного использования персонального ключа. Работать с ним на терминале можно только непосредственно в консольной сессии сервера (локально сидя за монитором) либо через системы удаленного управления рабочим столом, не создающие новые сессии (например, TeamViewer или AnyDesk).

Правило 2. Сетевые многопользовательские ключи (красные, маркировка NET). Сетевые ключи (на 5, 10, 20, 50, 100 и более пользователей) работают по сети через специальную службу-посредник — HASP License Manager (процесс nhsrvice.exe). Схема работы выглядит так:

  1. Ключ вставляется в любой компьютер в локальной сети (не обязательно в сервер 1С).
  2. На этом компьютере запускается служба HASP License Manager.
  3. Клиентское приложение на терминальном сервере отправляет широковещательный UDP-запрос по порту 475, находит службу License Manager и получает лицензию.
  4. Поскольку лицензию получает именно клиентское приложение на терминальном сервере, подсчет идет по пользователям (RDP-сессиям). Пользователь в терминале может открыть сколько угодно баз — спишется только 1 лицензия с HASP-ключа.

Правило 3. Ограничение на установку нескольких сетевых ключей на одном сервере. В один компьютер (или в одну виртуальную машину с пробросом USB) нельзя вставлять два сетевых ключа одной серии (например, два ключа серии ORGL8). Драйвер инициализирует только один из них (как правило, первый определившийся), а второй ключ будет полностью игнорироваться системой.

Как решить эту проблему, если вам нужно объединить лицензии (например, у вас есть два сетевых ключа на 10 и 20 пользователей)? Рассмотрим два пути решения:


[NH_COMMON]
NH_TCPIP = Enabled

[NH_TCPIP]
NH_SERVER_ADDR = 192.168.1.10, 192.168.1.11
NH_PORT_NUMBER = 475
NH_USE_BROADCAST = Disabled

В данном примере мы отключили лишний широковещательный поиск (NH_USE_BROADCAST = Disabled) и жестко прописали IP-адреса двух разных машин, в которые установлены наши ключи. Это значительно ускоряет запуск 1С и решает проблему конфликта одинаковых серий.

4. Лицензирование в виртуальных средах: решаем проблему «слетающих» лицензий

Современные ИТ-инфраструктуры практически всегда разворачиваются на виртуальных машинах (Hyper-V, VMware ESXi, Proxmox VE). Для программных лицензий это несет серьезный риск. Программная лицензия 1С осуществляет жесткую привязку к ключевым параметрам аппаратной конфигурации компьютера:

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

Чтобы избежать бесконечного расхода резервных ПИН-кодов и простоев в работе компании, применим профессиональное решение — настроим выделенный сервер лицензирования 1С в рамках кластера.

Разберем этот процесс по шагам:

  1. Создаем в нашей виртуальной инфраструктуре небольшую, максимально стабильную виртуальную машину (например, 1 ядро CPU, 2 ГБ RAM, ОС Windows или Linux). Задаем ей строго фиксированный MAC-адрес и отключаем любые функции динамического распределения памяти и миграции (DRS).
  2. Устанавливаем на эту машину серверную часть платформы «1С:Предприятие».
  3. В консоли администрирования нашего основного кластера 1С добавляем созданный сервер в качестве нового рабочего сервера кластера.
  4. Активируем все наши программные лицензии (и серверные, и многопользовательские клиентские) именно на этом выделенном сервере.
  5. Теперь настроим **Требования назначения функциональности**, чтобы гарантировать, что этот сервер не будет брать на себя тяжелые вычислительные задачи (такие как работа с базами данных или фоновые задания), а будет заниматься только раздачей лицензий.

Для настройки требований назначения функциональности в консоли кластера выполним следующие действия:

  1. Перейдем в свойства нашего нового сервера лицензирования, найдем ветку Требования назначения функциональности.
  2. Добавим новое правило со следующими параметрами:
    • Объект требования: Сервис лицензирования
    • Тип требования: Назначать
    • Имя свойства: Оставляем пустым.
  3. Добавим второе правило, которое запретит все остальные виды деятельности на этом сервере:
    • Объект требования: Любой объект требования
    • Тип требования: Не назначать
    • Имя свойства: Оставляем пустым.
  4. Применим изменения (кнопка «Применить требования назначения» на уровне кластера).

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

5. Технические лимиты и ограничения лицензий уровней ПРОФ и КОРП

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

Проанализируем эти лимиты, чтобы избежать блокировки работы предприятия:

Если ваше предприятие перешагнуло эти лимиты, либо вам требуются расширенные функции управления кластером (такие как фоновое обновление конфигурации базы данных, динамическая балансировка нагрузки между серверами кластера, профили безопасности для защиты от опасного кода), вам необходимо приобрести лицензии уровня КОРП и выполнить апгрейд текущих лицензий ПРОФ.

6. Пошаговый чек-лист для развертывания 1С на терминале и SQL

Подведем итог и составим пошаговый алгоритм действий для правильной настройки среды:

  1. Шаг 1. Определяем тип лицензии. Если планируется работа в терминале RDP, приобретаем многопользовательскую программную лицензию или сетевой USB-ключ (красный).
  2. Шаг 2. Активация программной лицензии. Активируем многопользовательскую лицензию непосредственно на терминальном сервере в режиме «На этот компьютер». Файл лицензии должен сохраниться в общей папке C:\ProgramData\1C\licenses. Не активируйте её через консоль сервера 1С, если хотите избежать посеансового списания!
  3. Шаг 3. Настройка свойств ИБ. В консоли кластера 1С в свойствах вашей базы данных ставим параметр «Разрешить выдачу лицензий сервером 1С» в положение «Нет». Теперь запущенные сеансы RDP будут делить одну лицензию на пользователя, сколько бы баз он ни открыл.
  4. Шаг 4. Настройка аппаратных ключей (если используются). Устанавливаем актуальный драйвер Sentinel LDK. Если сетевых ключей несколько, разносим их по разным хостам сети и настраиваем пути поиска в файле nethasp.ini на терминальном сервере.
  5. Шаг 5. Защита от деактивации на виртуалках. Если используется виртуализация, выносим сервис лицензирования на отдельную мини-ВМ в рамках кластера и настраиваем требования назначения функциональности.

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

← На главную