При администрировании систем «1С:Предприятие» часто возникает ситуация, когда после переноса виртуальной машины в другой дата-центр или после плановой модернизации серверного оборудования (замены процессора, изменения объема оперативной памяти) система продолжает работать как ни в чем не бывало. Однако эта стабильность обманчива: спустя несколько часов или даже суток 1С внезапно блокирует работу пользователей, требуя ввести новый PIN-код. В этой статье мы проанализируем, почему это происходит, и разберем по шагам, как заставить систему запросить лицензию немедленно, чтобы выполнить активацию в плановом режиме, не дожидаясь аварийной остановки бизнеса.
Многие администраторы задаются вопросом: если параметры оборудования изменились, почему проверка не срабатывает сразу? Давайте выясним причину этого явления. Механизм защиты программных лицензий 1С обладает определенной «инерционностью» по нескольким причинам:
ragent) считывает данные о лицензиях при запуске. Если во время работы сервера произошли изменения (например, в среде виртуализации «на лету» добавили памяти), система может продолжать использовать текущий сеанс лицензирования до перезапуска службы или до наступления определенного внутреннего события проверки.Рассмотрим ситуацию, когда нам необходимо исключить этот период ожидания и активировать новый PIN-код немедленно.
Прежде чем переходить к активным действиям, проанализируем, какие именно изменения заставляют лицензию «слететь». Программная лицензия привязывается к ключевым характеристикам компьютера. Лицензия станет недействительной, если изменятся:
Важно помнить: если вы используете виртуализацию, то миграция между хостами с разными поколениями процессоров гарантированно приведет к недействительности лицензии.
Чтобы заставить 1С сразу запросить активацию, нам необходимо удалить все следы старой лицензии. Рассмотрим подробнее этот алгоритм.
Шаг 1. Остановка службы сервера 1С
Перед манипуляциями с файлами лицензий обязательно нужно остановить службу сервера приложений, иначе файлы могут быть заблокированы процессом rmngr или rphost. В консоли управления службами (services.msc) найдем службу Агент сервера 1С:Предприятия 8.3 и остановим её.
Шаг 2. Очистка файлов лицензий (файлы .lic)
Нам необходимо найти, где хранятся файлы с расширением .lic. Обычно они располагаются по следующим путям:
C:\ProgramData\1C\licenses/var/1C/licenses%AppData%\1C\1cv8\confРекомендуется не удалять файлы безвозвратно, а переместить их в архивную папку. Как только система перестанет видеть старые файлы .lic, она не сможет подтвердить правомерность использования продукта.
Шаг 3. Работа со служебным файлом 1cv8conn.pfl
Это критически важный момент, о котором часто забывают. Файл 1cv8conn.pfl является связующим звеном. В нем хранится информация о том, какие лицензии использовались ранее. Если его оставить, система может выдавать ошибки несоответствия или пытаться восстановить старую привязку из кэша. Находится он обычно в папке C:\ProgramData\1C\1cv8\conf (или аналогичной в Linux).
Удалим или переименуем этот файл. После этого «память» системы о прошлых активациях будет полностью очищена.
Шаг 4. Запуск службы и активация
Теперь запустим службу сервера 1С обратно. При первой же попытке входа в информационную базу через толстый или тонкий клиент система не обнаружит действующих лицензий и немедленно откроет окно помощника активации. Здесь мы сможем ввести новый резервный PIN-код.
Если мы хотим точно убедиться, видит ли система изменения оборудования до того, как она заблокирует вход, мы можем посмотреть на пример настройки технологического журнала. Нам интересно событие LIC.
Создадим файл logcfg.xml со следующим содержанием:
<config xmlns="http://v8.1c.ru/7.4/getconfig/">
<log location="C:\LOGS\LIC" history="24">
<event>
<eq property="Name" value="LIC"/>
</event>
<property name="All"/>
</log>
</config>
В логах события LIC будет четко зафиксировано, когда система обнаружила несоответствие параметров оборудования (hardware hash) и файла лицензии. Это поможет проанализировать ситуацию без гадания на кофейной гуще.
В современных версиях платформы (8.3.18+) для работы с лицензиями в составе License Tools поставляется утилита ring. Она позволяет управлять лицензиями через консоль. Рассмотрим, как это помогает в нашей задаче.
С помощью команды ring license list мы можем увидеть список всех установленных лицензий, а команда ring license validate позволит принудительно запустить проверку валидности. Если вы предпочитаете автоматизацию, использование этой утилиты — лучший способ контролировать состояние защиты программного обеспечения.
Обратим внимание на риски, связанные с безопасностью лицензий. При активации новой лицензии поверх старой на том же сервере, старая лицензия должна автоматически пометиться как невалидная. Однако, если старый сервер (до миграции) продолжает работать в сети с тем же файлом лицензии, это может привести к серьезным последствиям.
Центр лицензирования 1С отслеживает использование одного и того же PIN-кода на разных конфигурациях оборудования. Если будет зафиксировано одновременное обращение к серверу обновлений с двух разных машин под одним PIN-кодом, этот код может быть заблокирован без права восстановления (попадет в «черный список»). Поэтому:
.lic со старого сервера сразу после успешного переноса.Для того чтобы процедура переезда в новый дата-центр не обернулась сюрпризом в виде неработающей базы в середине рабочего дня, мы рекомендуем действовать проактивно. Сразу после миграции остановите службу 1С, очистите папку licenses и удалите файл 1cv8conn.pfl. Это гарантирует, что система запросит новую лицензию немедленно, и вы сможете спокойно ввести резервный PIN-код, обеспечив бесперебойную работу пользователей.