Как настроить одновременную работу серверов 1С 8.2 и 8.3 с одной программной лицензией?

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

При совместном использовании серверов 1С:Предприятие версий 8.2 и 8.3 на одном физическом или виртуальном сервере часто возникает ошибка «Не обнаружена лицензия на запуск сервера». Ситуация усложняется, когда на сервер установлена единая программная лицензия, а службы серверов разнесены по разным сетевым портам (например, 1541 для 8.2 и 1741 для 8.3). Разберем причины возникновения этой проблемы и пошаговый алгоритм ее устранения.

Причины возникновения ошибки поиска лицензии

Проанализируем механику работы защиты 1С при параллельной работе двух платформ:

  1. Раздельные каталоги конфигурации по умолчанию. Платформа 8.2 ищет файлы лицензий в каталогах C:\ProgramData\1C\1Cv82\conf\, а платформа 8.3 — в C:\ProgramData\1C\1Cv8\conf\. Если файл лицензии находится только в каталоге версии 8.2, сервер 8.3 его не увидит без явного перенаправления.
  2. Некорректное размещение файла location.cfg. Файл перенаправления location.cfg должен располагаться исключительно в подпапке conf. Размещение его в корневом каталоге C:\ProgramData\1C\1Cv8\ полностью игнорируется службой 1С.
  3. Конфликт и блокировка файлов процессами служб. Процессы кластера (ragent, rmngr, rphost) кэшируют дескрипторы файлов лицензий и проверяют права на запись для установки файловых блокировок. Если одна служба стартовала первой и заблокировала файл или лицензия находится в каталоге конкретного пользователя операционной системы, второй сервер получит отказ.
  4. Наличие устаревших или дублирующих файлов лицензий. Если при повторной активации резервного пин-кода старый файл .lic остался в одном из опрашиваемых каталогов, платформа может первым прочитать деактивированный файл и прервать запуск до проверки актуального файла.
  5. Несовпадение разрядности служб. Программная лицензия на 32-разрядный сервер не позволяет запускать 64-разрядную службу. 64-разрядная лицензия универсальна и подходит для обеих разрядностей.

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

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

Шаг 1. Полная остановка служб 1С

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

Шаг 2. Создание резервной копии и очистка старых путей

Скопируем все существующие файлы *.lic в резервную папку на локальном диске. Затем удалим файлы лицензий из версионных и пользовательских каталогов, чтобы исключить конфликты:

  1. C:\ProgramData\1C\1Cv82\conf\
  2. C:\ProgramData\1C\1Cv8\conf\
  3. C:\Users\<Имя_Пользователя_Службы>\AppData\Local\1C\1Cv82\conf\
  4. C:\Users\<Имя_Пользователя_Службы>\AppData\Local\1C\1Cv8\conf\

Шаг 3. Размещение файлов в общем системном каталоге

Поместим все файлы программных лицензий (серверные и клиентские) в централизованный каталог:

C:\ProgramData\1C\licenses

Начиная с версий 8.2.15 и во всех релизах 8.3 данный каталог входит в стандартный список путей поиска лицензий обеих платформ. Использование файла location.cfg при таком размещении не требуется.

Шаг 4. Проверка прав доступа к каталогу (NTFS)

Убедимся, что учетная запись (например, USR1CV8 или USR1CV82), под которой запускаются службы агентов серверов 8.2 и 8.3, имеет полные права доступа («Чтение», «Запись», «Изменение») на папку C:\ProgramData\1C\licenses и все вложенные файлы.

Шаг 5. Запуск служб

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

Диагностика программных лицензий через Технологический журнал

Если после выполнения шагов сервер по-прежнему сообщает об отсутствии лицензии, настроим технологический журнал для выявления точной причины отказа. Создадим файл logcfg.xml в подкаталоге conf соответствующей версии платформы:


<config xmlns="http://v8.1c.ru/v8/tech-log">
    <log location="C:\1C_Logs\Lic" history="24">
        <event>
            <eq property="name" value="LIC"/>
        </event>
        <property name="all"/>
    </log>
</config>

Событие LIC фиксирует полный путь к опрашиваемым файлам *.lic, их регистрационные номера, номинал и причину отказа (ошибка привязки к параметрам оборудования, блокировка другим процессом или отсутствие прав на запись).

Рекомендации по обслуживанию программных лицензий

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