Как организовать сервер лицензирования 1С на Windows для работы с сервером на Linux и сохранить программные лицензии без переактивации

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

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

Механизм работы сервера лицензирования в 1С

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

Если на вашем старом Windows-сервере уже были активированы лицензии в файловом режиме, они обычно располагаются в каталоге C:\ProgramData\1C\licenses\. При установке серверной части 1С на эту же машину, система автоматически просканирует данную директорию. Выясним причину, по которой переактивация не требуется: программная лицензия «привязывается» к параметрам железа и ОС. Если вы не меняете конфигурацию Windows-сервера, а просто устанавливаете на него роль сервера 1С, контрольная сумма (Hardware ID) остается прежней, и файлы лицензий остаются валидными.

Совместное использование лицензий: файловые базы и сервер 1С

Рассмотрим сценарий, когда вам нужно одновременно поддерживать работу старых файловых баз и новых баз на Linux-сервере (с PostgreSQL). Обратим внимание на важный нюанс: способ получения лицензии в этих режимах различается.

  1. Файловый режим: Лицензию запрашивает само клиентское приложение (толстый или тонкий клиент). Если клиент запущен непосредственно на том же сервере, где лежат лицензии (например, в терминальной сессии), он увидит файл лицензии в ProgramData и «заберет» ее себе. Если же клиент запускается на удаленном рабочем месте, он не сможет просто так «дотянуться» до файлов лицензий на сервере.
  2. Клиент-серверный режим: Здесь лицензию клиенту выдает сервер 1С. В нашем случае сервер на Linux будет обращаться к серверу на Windows (менеджеру лицензий), забирать лицензию из общего пула и отдавать ее сеансу пользователя.

Таким образом, проанализируем ситуацию: старые файловые базы продолжат работать в терминальном режиме на Windows-сервере, а новый сервер на Linux сможет «заимствовать» свободные лицензии с этой же машины через сетевое взаимодействие.

Настройка кластера и требования функциональности

Чтобы Linux-сервер «увидел» лицензии на Windows-машине, необходимо правильно настроить кластер 1С. Рассмотрим подробнее этот процесс:

Во-первых, оба сервера (и Linux, и Windows) должны иметь одинаковую версию платформы 1С:Предприятие. Различие даже в последних цифрах сборки (например, 8.3.23.1000 и 8.3.23.1100) может привести к нестабильной работе кластера. Посмотрим на алгоритм действий:

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

Разберем по шагам, что это дает: теперь кластер точно знает, что за выдачу лицензий отвечает именно Windows-машина, и не будет пытаться искать их локально на Linux.

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

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

В клиент-серверном режиме (если выдачей занимается сервер 1С) лицензия тратится на каждый сеанс. Если пользователь запустит три разные базы, сервер заберет из пула 3 лицензии. Это нужно учитывать при планировании нагрузки на ваш сервер лицензирования.

Сетевые настройки и безопасность

Для того чтобы сервер на Linux мог успешно взаимодействовать с менеджером лицензий на Windows, необходимо настроить Firewall. Проанализируем необходимые порты. По умолчанию 1С использует следующие TCP-порты:

Важный совет: убедитесь, что учетная запись, от имени которой запущена служба 1С на Windows (обычно USR1CV8), имеет полные права на папку C:\ProgramData\1C\licenses\. Система должна иметь возможность не только читать, но и обновлять служебные файлы в процессе проверки лицензионной чистоты.

Риски виртуализации

Если ваш Windows-сервер является виртуальной машиной, рассмотрим риски потери активации. Программные лицензии крайне чувствительны к изменению параметров виртуальной среды. Постараемся избежать проблем, соблюдая следующие правила:

  1. Зафиксируйте количество ядер процессора и объем оперативной памяти (не используйте динамическую память).
  2. Установите статический MAC-адрес для сетевого адаптера.
  3. Избегайте миграции виртуальной машины между хостами с разными поколениями процессоров, если это может изменить видимый изнутри ОС идентификатор оборудования.

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

← На главную