Что делать, если сервер лицензий 1С периодически перестает выдавать лицензии?

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

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

Шаг 1. Сбор диагностических данных

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

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

2. Технологический журнал (ТЖ). Для глубокого анализа настроим сбор логов события LEVENT. Для этого в каталоге conf сервера 1С создадим файл logcfg.xml со следующим содержанием:


<config xmlns="http://v8.1c.ru/7.4/config/logcfg">
  <log location="C:\LOGS\LICENSE" history="72">
    <event>
      <eq property="Name" value="LEVENT"/>
    </event>
    <property name="all"/>
  </log>
</config>

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

Шаг 2. Поиск и устранение дубликатов лицензий

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

Проанализируем каталоги, где могут храниться лицензии:

Важный нюанс: Имена файлов лицензий выглядят как временные метки (например, 202310121530.lic). Чтобы понять, какой файл за что отвечает, откроем их текстовым редактором. В конце файлов, полученных на современных платформах, часто содержится информация о продукте. Если же файл не читается, воспользуемся утилитой ring из комплекта поставки 1С для идентификации лицензий.

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

Шаг 3. Оптимизация работы в виртуальной среде

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

  1. Динамическая память (Dynamic Memory). Если объем оперативной памяти виртуальной машины меняется «на лету», 1С может решить, что сервер изменился, и аннулировать привязку лицензии. Рекомендуем жестко зарезервировать (Static RAM) весь объем памяти для сервера лицензий.
  2. Динамическое распределение ядер процессора. Аналогично памяти, изменение количества доступных ядер или миграция ВМ между хостами с разными процессорами приводит к «отваливанию» лицензий. Установим привязку к конкретному узлу или убедимся в идентичности процессоров в кластере виртуализации.
  3. Сетевые интерфейсы. Если у сервера несколько IP-адресов, менеджер лицензий может начать отвечать по интерфейсу, который недоступен клиентам. Пропишем в файле hosts на рабочих станциях и сервере приложений четкое соответствие имени сервера лицензий и его основного IP-адреса.

Шаг 4. Борьба с «фантомными» сеансами и кэшем

Иногда возникает парадокс: утром при 90 сеансах лицензий не хватает, а днем при 150 — всё работает. Это признак «подвисших» или «спящих» сеансов. Разберем, как с этим бороться:

Очистка служебных файлов. Помимо файлов .lic, в папке C:\ProgramData\1C\1cv8\conf (или аналогичных) скапливаются файлы 1cv8conn.pfl, 1cv8connN.pfl и логи .lgp. Выясним, что файл 1cv8conn.pfl отвечает за связь между компонентами кластера. Если он поврежден или содержит устаревшие данные о путях к серверу лицензий, возникнут задержки. Рекомендуем остановить службу 1С и очистить эту папку, оставив только актуальные файлы лицензий.

Настройка кластера. В консоли администрирования 1С проверим параметры кластера:

Шаг 5. Отключение поиска HASP-ключей

Даже если у вас используются только программные лицензии, платформа 1С по умолчанию пытается найти аппаратные ключи HASP. В моменты пиковой нагрузки (утром) эти запросы в сеть могут создавать задержки и вызывать тайм-ауты. Проанализируем файл nnhasp.ini. Рекомендуем явно отключить поиск сетевых ключей, если они не используются:


[NH_COMMON]
NH_TCPIP = Disabled
NH_IPX = Disabled
NH_NETBIOS = Disabled

Или, если ключи все же есть, укажите конкретный IP-адрес сервера с ключом в параметре NH_SERVER_ADDR, чтобы исключить широковещательные запросы по всей сети.

Резюме решения

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

← На главную