При администрировании серверов 1С системные администраторы периодически сталкиваются с парадоксальной ситуацией: в консоли кластера или в «Мониторе лицензий» отображается, что к программной лицензии на 50 мест подключено 60, 80 или даже больше пользователей. При этом пользователи не жалуются на проблемы со входом, а в технологическом журнале фиксируются массовые ошибки вида LicenseBaseImpl.cpp с сообщением о превышении максимального количества пользователей. Проанализируем, почему возникает такое поведение платформы и как правильно настроить систему.
Выясним основные технические причины, из-за которых количество активных сеансов может превышать число рабочих мест, указанное в файле программной лицензии:
.lic), а также используются сетевые ключи HASP, платформа будет суммировать доступные рабочие места. Если администратор проверяет счетчик по одному конкретному файлу лицензии, то итоговое число работающих пользователей легко превысит лимит этого отдельного файла.Если программная лицензия выдается клиентским приложением (например, при работе в терминальном сервере RDP или непосредственно с ПК пользователя), одна лицензия закрепляется за рабочим местом. В рамках одной терминальной сессии или одного ПК пользователь может открыть неограниченное количество информационных баз и сеансов 1С, расходуя всего одну физическую лицензию. Однако в консоли администрирования сервера 1С каждый запущенный сеанс будет отображаться отдельно и связываться с данным файлом лицензии, что и создает видимость «перерасхода».
Если же лицензии выдаются сервером 1С:Предприятия, то на каждый запущенный сеанс (каждое открытое окно) расходуется отдельная лицензия.
Рассмотрим причину появления в технологическом журнале многочисленных записей вида:
src\LicenseBaseImpl.cpp: Ошибка программного лицензирования Превышено максимальное количество пользователей, разрешенное файлом программной лицензии
Данная запись является штатным поведением платформы при наличии нескольких лицензионных файлов .lic. Процесс проверки лицензий происходит поочередно:
.lic все места уже заняты, платформа фиксирует исключение LicenseBaseImpl.cpp в технологическом журнале и переходит к проверке следующего файла лицензии или аппаратного ключа HASP.Проанализируем шаги, которые необходимо выполнить для наведения порядка с программными лицензиями.
Откроем любое клиентское приложение 1С, перейдем в меню «Справка — О программе» и детально изучим раздел «Лицензия». Убедимся, какие именно файлы лицензий и аппаратные ключи видит платформа. Проверим каталоги с лицензиями (C:\ProgramData\1C\licenses, C:\Program Files\1cv82\conf или пути к профилям пользователей) и удалим недействительные, продублированные или устаревшие файлы .lic.
Откроем консоль администрирования кластера серверов 1С и зайдем в свойства информационной базы. Найдем параметр «Разрешить выдачу лицензий сервером 1С:Предприятия»:
Чтобы файлы технологического журнала не разрастались из-за штатных сообщений о поиске свободных лицензий, настроим файл конфигурации ТЖ logcfg.xml. Добавим фильтрацию для событий EXCP, исключающую логирование ошибок по методу src\LicenseBaseImpl.cpp.