Может ли выделенный Сервер лицензирования раздавать серверные лицензии в 1С:Предприятии 8.3?

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

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

Основы работы Сервиса лицензирования

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

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

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

Таким образом, ответ на основной вопрос — да, выделенный сервер лицензирования может и должен раздавать серверные лицензии, если они представлены в виде программных ключей (пин-кодов).

Пошаговая настройка выделенного сервера лицензирования

Рассмотрим процесс настройки системы для работы в таком режиме. Предположим, у нас есть основной сервер приложений (Server-App), где крутятся базы, и мы хотим добавить второй сервер (Server-Lic), который будет отвечать только за лицензии.

Шаг 1. Регистрация сервера в кластере.

Сначала нам необходимо добавить новый рабочий сервер в консоли администрирования 1С. После добавления Server-Lic в ветку «Рабочие серверы», он по умолчанию будет пытаться брать на себя любые задачи кластера. Нам нужно это ограничить.

Шаг 2. Настройка требований функциональности.

Это самый важный этап. Нам нужно жестко определить, кто раздает лицензии, а кто — нет. Проанализируем настройки для обоих серверов:

Для основного сервера (Server-App), где лицензий быть не должно, создаем правило:

Для выделенного сервера лицензирования (Server-Lic) создаем правила:

  1. Для сервиса лицензирования:
    • Тип требования: Назначать
    • Объект требования: Сервис лицензирования
    • Действие: Назначать
  2. Чтобы этот сервер не брал на себя лишнюю нагрузку (рабочие процессы баз данных):
    • Тип требования: Назначать
    • Объект требования: Клиентское соединение с информационной базой
    • Действие: Не назначать

После применения этих настроек (кнопка «Применить» в консоли), кластер перераспределит роли. Теперь сервис лицензирования будет активен только на Server-Lic.

Особенности размещения файлов лицензий

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

Важно помнить про права доступа. По умолчанию служба ragent (Агент сервера 1С:Предприятие) запускается от имени пользователя USR1CV8 или LocalService. Проверьте, что файлы лицензий находятся в профиле именно этого пользователя. Обычно пути выглядят следующим образом:

C:\ProgramData\1C\1cv8\conf (общая папка для всех пользователей)

или в профиле конкретного пользователя:

%APPDATA%\1C\1cv8\conf

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

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

Разберем ситуацию с USB-ключами (HASP). Здесь кроется важное ограничение технологии 1С. Встроенный Сервис лицензирования предназначен для работы только с программными лицензиями.

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

Преимущества использования выделенного сервера для виртуализации

Рассмотрим, почему системные администраторы стремятся к такой архитектуре. В современных дата-центрах большинство серверов 1С работают в виртуальной среде (VMware, Hyper-V, KVM). Программные лицензии 1С крайне чувствительны к изменению параметров виртуальной машины (количество ядер, объем RAM, ID сетевой карты).

Выделив один небольшой сервер под лицензирование, мы получаем следующие выгоды:

Отказоустойчивость и риски

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

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

Пример настройки требований функциональности через код (командную строку)

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


rac server --host=localhost requirement add --cluster=uuid-кластера 
--server=uuid-сервера --service=LicensingService --type=DonotAssign

Где LicensingService — это внутреннее имя объекта «Сервис лицензирования», а DonotAssign соответствует действию «Не назначать».

Заключение

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

← На главную