Как предотвратить блокировку доступа к базам 1С на КОРП сервере из-за локальных ПРОФ лицензий?

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

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

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

Суть проблемы: блокировка КОРП сервера локальной ПРОФ лицензией

Представим сценарий: у нас развернут сервер 1С:Предприятия с КОРП лицензиями (например, несколько ключей USB КОРП на 100 пользователей). Доступ к информационным базам осуществляется через тонкий клиент, возможно, с использованием веб-сервера Apache. Внезапно, после подключения одного из пользователей с локальной ПРОФ лицензией, все последующие попытки входа в базу завершаются ошибкой: "Операция не может быть выполнена с текущим составом лицензий...". При этом даже администратор не может получить доступ к конфигуратору или другим режимам работы с базой.

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

Официальная позиция 1С о взаимодействии лицензий ПРОФ и КОРП

Мы должны понимать, что фирма "1С" с 11 февраля 2019 года технически разделила функционал платформы на ПРОФ и КОРП. Расширенные возможности сервера теперь доступны только при наличии лицензий уровня КОРП.

Согласно документации, подключение пользователей с лицензиями уровня ПРОФ к КОРП серверу допускается, но с определенными ограничениями. Рассмотрим пример, приведенный в документации 1С (ITS):

  1. На компьютер с сервером «1С:Предприятия» установлена серверная лицензия КОРП и клиентская лицензия КОРП на 50 пользователей.
  2. Данная конфигурация обеспечивает произвольное количество клиентских подключений, если каждое клиентское подключение обладает лицензией уровня КОРП.
  3. Подключение к серверу клиентского приложения с лицензией ПРОФ будет возможно в том случае, если после подключения сервер станет обслуживать сеансы не более 1,1 * 50 = 55 уникальных пользователей информационной базы.

Таким образом, пользователь с лицензией ПРОФ сможет получить доступ к информационной базе только в том случае, если в момент подключения количество уникальных пользователей кластера серверов (считая стартующий сеанс) не превышает 110% от общего числа имеющихся клиентских лицензий уровня КОРП. Например, если у нас есть два ключа по 100 пользователей, то всего доступно 200 КОРП лицензий, и, соответственно, до 200 * 1.1 = 220 пользователей может быть обслужено, включая ПРОФ.

Важный нюанс: Лицензионное соглашение 1С, как правило, указывает, что использование в одной информационной базе лицензий "1С:Предприятия 8 ПРОФ" совместно с лицензиями "1С:Предприятия 8 КОРП" не допускается для использования всех функций сервера уровня КОРП. Это означает, что для полноценного использования всех возможностей КОРП необходимо, чтобы все клиентские и серверные лицензии были уровня КОРП. После перехода на КОРП все ПРОФ лицензии также должны быть обновлены до КОРП.

Аномальное поведение: полная блокировка доступа

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

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

Диагностика проблемы

Для того чтобы убедиться, что проблема действительно связана с локальной ПРОФ лицензией, мы можем выполнить следующие шаги:

  1. Мониторинг активных сеансов: Воспользуемся консолью администрирования сервера 1С:Предприятия. В ней мы можем просмотреть список активных сеансов и для каждого сеанса увидеть, какая именно лицензия используется (локальная, сетевая, ПРОФ, КОРП). Это позволит нам точно идентифицировать "виновника" – пользователя, который подключился с локальной ПРОФ лицензией.
  2. Проверка типа лицензии: Убедитесь, что проблемный пользователь действительно использует локальную ПРОФ лицензию, а не лицензию, выданную через HASP LM или сервер 1С. Важно помнить, что HASP LM (Hasp License Manager) сам по себе не различает лицензии 1С на ПРОФ и КОРП. Он лишь предоставляет доступ к аппаратным ключам HASP. Сервер 1С или модуль веб-сервера отвечают за подсчет и выдачу лицензий, если база используется в клиент-серверном варианте.

Временное решение: завершение проблемного сеанса

Как мы уже выяснили, для восстановления работоспособности системы после возникновения блокировки, нам придется предпринять экстренные меры:

  1. Откроем консоль администрирования сервера 1С:Предприятия.
  2. Найдем активный сеанс пользователя, который использует локальную ПРОФ лицензию.
  3. Принудительно завершим этот сеанс.

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

Долгосрочные рекомендации и предотвращение проблемы

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

1. Исключение использования локальных ключей на клиентских машинах

Мы можем настроить тонкий клиент так, чтобы он игнорировал наличие локальных ключей защиты. Это можно сделать с помощью параметра запуска /UseHwLicenses-.

Как это работает:

  1. Найдем ярлык запуска 1С:Предприятия на клиентской машине.
  2. Откроем свойства ярлыка.
  3. В поле "Объект" или "Рабочая папка" (в зависимости от операционной системы и версии клиента) добавим параметр /UseHwLicenses- после пути к исполняемому файлу 1С.

Пример:

"C:\Program Files\1cv8\8.3.17.1851\bin\1cv8c.exe" /UseHwLicenses-

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

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

2. Обновление всех лицензий до КОРП

Самый надежный и соответствующий лицензионному соглашению способ – это обновить все используемые лицензии до уровня КОРП. Если все клиенты будут использовать КОРП лицензии, то проблема с ПРОФ-лицензиями просто исчезнет.

Преимущества:

  1. Полное соответствие лицензионному соглашению: Исключает риски некорректного использования ПО.
  2. Доступ ко всем КОРП-возможностям: Гарантирует использование всех расширенных функций сервера 1С:Предприятия КОРП.
  3. Устранение проблемы с блокировкой: Если все лицензии будут КОРП, то конфликт с ПРОФ лицензиями будет исключен.

3. Обращение в техническую поддержку 1С

Учитывая, что полная блокировка доступа является аномальным и критическим поведением, настоятельно рекомендуем обратиться в техническую поддержку фирмы "1С". Опишите детально ситуацию, укажите версию платформы (8.3.17.1851 в данном случае), количество и тип лицензий. Вероятно, это известный или новый баг, который требует исправления в будущих версиях платформы.

4. Управление потреблением ресурсов и блокировка сеансов

Для централизованного управления сеансами и временного запрета входа в информационную базу мы можем использовать консоль администрирования серверов 1С:

  1. В свойствах информационной базы установите флаг "Блокировка начала сеансов включена".
  2. Вы можете также установить время блокировки и код разрешения. Это позволит администраторам войти в базу, даже если она заблокирована для обычных пользователей.

Этот метод может быть полезен в случаях, когда нам необходимо быстро "выгнать" всех пользователей для обслуживания или выявить проблемного пользователя, а затем временно заблокировать базу до его устранения.

Ограничения ПРОФ лицензий и расширенные возможности КОРП

Мы должны помнить, что ПРОФ лицензии имеют свои ограничения, которые вступили в силу с 11 февраля 2019 года:

Если клиент с ПРОФ лицензией пытается подключиться, когда количество сеансов превышает 500 или используется более 12 ядер (и лицензия не была обновлена), он получит ошибку. Ранее многие пользователи ПРОФ могли использовать КОРП-функциональность без явных технических ограничений, но теперь они переключаются на настройки по умолчанию.

КОРП лицензии предоставляют значительно расширенные возможности, такие как:

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

Заключение

Проблема блокировки доступа к базам на КОРП сервере 1С из-за подключения пользователя с локальной ПРОФ лицензией является серьезным аномальным поведением платформы. Хотя официальные правила допускают частичное взаимодействие ПРОФ и КОРП лицензий, полная блокировка всех пользователей, включая администраторов, указывает на необходимость вмешательства разработчиков 1С.

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

← На главную