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

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

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

Архитектура лицензирования в кластере серверов 1С

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

Когда пользователь запускает тонкий клиент, запрос сначала проходит через менеджер кластера. Если настройки безопасности позволяют подключение, менеджер перенаправляет сессию на свободный рабочий процесс. На этом этапе происходит проверка наличия доступных лицензий в хранилище HASP или программных ключей. Блокировка на этом уровне является наиболее эффективной.

Важно различать понятия "запрет подключения" и "отсутствие лицензий". Сервер может технически разрешать соединение, но не выдавать лицензию из-за лимитов. Однако наша задача — настроить систему так, чтобы выдача лицензий была принудительно остановлена административными методами, независимо от наличия ключей защиты.

⚠️ Внимание: Изменение настроек кластера влияет на всех пользователей, подключенных к данному экземпляру сервера. Убедитесь, что у вас есть консольный доступ к машине для экстренного отката изменений в случае критического сбоя.

💡

Перед внесением изменений в настройки кластера создайте точку восстановления системы или сделайте бэкап реестра, если вы работаете в среде Windows Server.

Настройка прав доступа через Консоль администрирования

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

В дереве объектов найдите нужную информационную базу. Контекстное меню позволяет перейти к свойствам базы данных. Здесь нас интересует вкладка, отвечающая за параметры запуска и безопасности. Именно здесь можно установить флаг, запрещающий начало сеансов. Это действие мгновенно остановит выдачу новых лицензий для данной базы.

Существует также возможность настройки прав на уровне пользователей. Если в базе используется файловый вариант или встроенная защита, можно отозвать права у конкретной роли. Однако в клиент-серверном варианте наиболее надежным методом является управление через менеджер кластера, так как это перехватывает запрос до обращения к самой базе данных.

☑️ Настройка запрета через консоль

Выполнено: 0 / 5

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

Блокировка через файл блокировки (lok1cv8.cf)

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

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

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

Метод блокировки Уровень применения Скорость срабатывания Сложность отката
Консоль 1С Кластер/База Мгновенно Низкая
Файл lok1cv8.cf Каталог базы Мгновенно Низкая
Остановка службы ОС / Сервис Зависит от сессий Средняя
Брандмауэр Сеть Мгновенно Высокая
Особенности работы файла блокировки

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

Управление сессиями и принудительный разрыв

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

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

Автоматизировать этот процесс можно с помощью утилиты командной строки rmngr или через скрипты PowerShell, обращающиеся к COM-объектам сервера. Это особенно удобно при настройке расписания ночных работ, когда необходимо гарантированно освободить все лицензии к определенному времени.

⚠️ Внимание: Принудительное завершение сессий во время проведения сложных транзакций (например, закрытия месяца или проведения документов большим пакетом) может привести к необходимости перепроведения документов или восстановления из резервной копии.

📊 Как вы обычно останавливаете работу пользователей перед обновлением?
Предупреждаю заранее и жду выхода
Использую файл блокировки
Останавливаю службу 1С
Принудительно рву сессии через консоль

Ограничение доступа на уровне сетевого экрана

Если требуется глобальный запрет доступа ко всему кластеру серверов, эффективным решением будет настройка правил в межсетевом экране (Firewall). Сервер 1С:Предприятие использует определенные порты для обмена данными между клиентом и сервером, а также между компонентами кластера.

По умолчанию используется диапазон портов, который можно зафиксировать в настройках кластера. Блокировка входящих соединений на порт 1540 (порт менеджера кластера) или на порты рабочих процессов предотвратит установление соединения на сетевом уровне. В этом случае клиент даже не сможет отправить запрос на получение лицензии.

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

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

💡

Комбинация методов (файл блокировки + настройка консоли) обеспечивает максимальную надежность запрета доступа, исключая человеческий фактор и случайные подключения.

Автоматизация процесса через планировщик заданий

Для регулярного выполнения процедур по запрету выдачи лицензий (например, в ночное время или в выходные) целесообразно использовать автоматизацию. В среде Windows для этого отлично подходит Планировщик заданий, а в Linux — демон cron.

Можно создать пакетный файл (.bat) или скрипт PowerShell, который будет последовательно выполнять необходимые команды: создавать файл блокировки, останавливать новые сеансы через консоль и, при необходимости, останавливать службу. Такой скрипт можно запускать по расписанию без участия человека.

Пример команды для остановки службы через PowerShell выглядит следующим образом:

Stop-Service -Name "1C:Enterprise 8.3 Server Agent" -Force

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

⚠️ Внимание: Интерфейс и названия служб могут отличаться в зависимости от версии платформы 1С:Предприятие и операционной системы. Всегда проверяйте точное имя службы в диспетчере задач перед созданием скрипта автоматизации.

Часто задаваемые вопросы (FAQ)

Что произойдет с пользователями, которые уже работают в базе, если я запрету выдачу лицензий?

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

Можно ли запретить выдачу лицензий только для конкретной группы пользователей?

Да, это возможно через настройки прав доступа в самой конфигурации 1С или через роли в консоли администрирования, если используется аутентификация 1С:Предприятия. Однако на уровне сервера (агента) блокировка обычно применяется ко всей информационной базе целиком.

Как быстро удалить файл блокировки lok1cv8.cf, если доступ нужно восстановить срочно?

Файл блокировки можно просто удалить через проводник Windows или командную строку (команда del). Доступ восстановится сразу же после удаления файла, перезапуск служб 1С для этого не требуется, если только файл не был заблокирован системой.

Влияет ли запрет выдачи лицензий на фоновые задания и регламентные операции?

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