Рассмотрим распространенную и крайне неприятную проблему, с которой сталкиваются системные администраторы при работе с виртуализацией: внезапный сбой программных лицензий 1С:Предприятие после выполнения плановых работ по обслуживанию виртуальной машины в среде VMware, Hyper-V или VirtualBox.
Типичный сценарий: администратор увеличивает объем дискового пространства на виртуальном сервере (например, для хранения резервных копий или базы данных SQL), успешно расширяет раздел в операционной системе, но при следующей попытке пользователей подключиться к базе 1С выдает критическую ошибку: «Не найдена лицензия. Не обнаружен ключ защиты программы или полученная программная лицензия!».
В этой статье мы подробно проанализируем причины такого поведения системы защиты, разберем по шагам процесс правильной реактивации лицензий и рассмотрим надежные архитектурные методы, которые позволят навсегда предотвратить подобные сбои в будущем.
Для начала проанализируем технологическую основу привязки программных лицензий 1С (файлов с расширением .lic). При первичной активации программного продукта система защиты 1С собирает информацию о ключевых аппаратных характеристиках компьютера и формирует уникальный цифровой отпечаток (хеш-сумму). Этот отпечаток записывается в файл лицензии.
При каждом запуске платформа повторно опрашивает оборудование сервера и сверяет текущие параметры с теми, что зафиксированы в файле лицензии. Если выявляются несоответствия по ключевым пунктам, файл лицензии блокируется, и платформа считает его недействительным.
В число ключевых параметров компьютера входят:
Давайте обратимся к логу ошибки программного лицензирования из нашего примера:
После получения лицензии удалены:
DISK_1: VMware Virtual disk SCSI Disk Device, SCSI\DISK&VEN_VMWARE&PROD_VIRTUAL_DISK\5&1982005&0&000100, 512, 63, 6527, 255, 1664385, 104856255, 53686402560
В текущей конфигурации компьютера имеются:
DISK_0: VMware Virtual disk SCSI Disk Device, SCSI\DISK&VEN_VMWARE&PROD_VIRTUAL_DISK\5&1982005&0&000200, 512, 63, 10443, 255, 2662965, 167766795, 85896599040
Обратите внимание на цифры в конце описания дисков. Это параметры геометрии накопителя: размер сектора, количество секторов на дорожке, количество цилиндров, головок и суммарный объем диска в байтах. Для системы защиты 1С изменение размера виртуального диска (даже на несколько гигабайт) или изменение его виртуального адреса на SCSI-контроллере эквивалентно физическому удалению старого накопителя и установке совершенно другого физического устройства. В результате привязка нарушается, и все файлы лицензий, в которых фигурировал данный диск, становятся невалидными.
Важный нюанс: как видно из лога, в данном случае "слетела" не серверная лицензия, а именно клиентские многопользовательские лицензии (файлы 20190910115849.lic, 20200330103251.lic, 20210129085437.lic). Они находились на сервере приложений 1С и раздавались клиентам рабочими процессами.
Если сбой уже произошел, единственным способом вернуть систему в рабочее состояние является повторная активация лицензий с использованием резервных пин-кодов. Рассмотрим этот процесс по шагам.
Шаг 1. Подготовка регистрационных данных. Для успешной активации вам потребуются точно такие же сведения об организации, которые вводились при самой первой активации продукта (наименование, ИНН, КПП, адрес, ФИО ответственного лица). Любое несовпадение хотя бы в одном символе приведет к отказу Центра лицензирования 1С в выдаче новой лицензии.
Шаг 2. Запуск конфигуратора. Откройте конфигуратор любой базы данных от имени администратора. Перейдите в меню Сервис — Получение лицензии (или запустите базу в режиме предприятия, и при возникновении ошибки отсутствия лицензии нажмите кнопку "Получить лицензию").
Шаг 3. Ввод пин-кодов. Введите регистрационный номер вашего программного продукта и активный пин-код, который использовался ранее. На следующем шаге система потребует ввести неиспользованный резервный пин-код из вашего комплекта.
Шаг 4. Указание параметров установки. В процессе активации система спросит, куда именно необходимо установить лицензию. Крайне важно нажать кнопку «Дополнительно» и убедиться, что выбран правильный режим:
Шаг 5. Запрос резервных пин-кодов (при необходимости). Если все штатные резервные пин-коды из коробки уже израсходованы, не нужно паниковать или покупать новые лицензии. Вам необходимо отправить письмо на адрес Центра лицензирования 1С: lic@1c.ru. В теме письма укажите: «Запрос резервного пин-кода для рег. номера [ваш_номер]». В самом письме укажите данные вашей организации (ИНН, наименование) и подробно опишите причину изменения конфигурации: «В связи с производственной необходимостью было выполнено плановое расширение дискового пространства на виртуальном сервере приложений». Центр лицензирования оперативно пришлет вам новые пин-коды.
Постоянно запрашивать новые пин-коды и заниматься реактивацией при каждом техническом обслуживании виртуального сервера — неэффективно. Рассмотрим четыре надежных метода, которые позволят защитить ваши лицензии от изменений параметров виртуальной машины.
Это самый простой и логичный способ, который должен использовать каждый системный администратор на этапе проектирования виртуальной инфраструктуры.
Выясним причину: почему мы меняем размер диска? Как правило, это связано с ростом базы данных SQL, накоплением логов транзакций или увеличением объема бэкапов. Чтобы эти операции не влияли на лицензии 1С, настроим дисковую подсистему следующим образом:
C:\ProgramData\1C\licenses). Параметры этого диска мы гарантированно никогда не будем изменять.tempdb и бэкапов создаем отдельные виртуальные диски (D, E, F), подключая их как независимые SCSI-устройства.Начиная с версии платформы 1С:Предприятие 8.3.12, разработчики добавили штатную возможность привязывать программные лицензии (файлы .lic) не к характеристикам компьютера, а к подключенному аппаратному USB-ключу защиты HASP.
Этот метод идеально подходит для виртуальных машин, так как полностью нивелирует любые изменения процессоров, оперативной памяти, сетевых плат и дисков.
Проанализируем особенности этого метода:
ORGL8 (красные), ORG8A, ORG8B или серверные ключи серии ENSR8 (фиолетовые).В крупных инфраструктурах с кластером серверов 1С правильным решением является развертывание выделенного сервера лицензирования. Это делается с помощью механизма требований назначения функциональности в кластере 1С.
Разберем этот процесс по шагам:
SRV-LIC.SRV-LIC.SRV-LIC создаем требование: «Сервис лицензирования — Назначать», а для всех остальных сервисов (сервис баз данных, сервис транзакций и т. д.) устанавливаем запрет на исполнение на этом сервере.В результате такой настройки тяжелая работа выполняется на мощных серверах приложений, конфигурацию которых (процессоры, память, диски) администраторы могут динамически масштабировать под текущую нагрузку. Сервис лицензирования при этом изолирован на статичной виртуальной машине SRV-LIC, ресурсы которой никогда не меняются, что гарантирует абсолютную стабильность работы всей лицензионной системы кластера.
Если ваши сервера 1С развернуты в виртуальной среде под управлением VMware vCenter, системным администраторам необходимо строго соблюдать два критически важных правила:
1. Использование технологии EVC (Enhanced vMotion Compatibility). При миграции виртуальной машины с сервером 1С между физическими хостами в кластере лицензия может мгновенно заблокироваться, если на хостах установлены процессоры разных поколений или моделей. Включение режима EVC на уровне кластера VMware принудительно приводит инструкции процессоров всех хостов к единому базовому уровню, что предотвращает ложное срабатывание защиты 1С при миграции vMotion.
2. Правильный выбор действия при перемещении ВМ. Если вы импортируете виртуальную машину из шаблона, восстанавливаете ее из бэкапа (например, через Veeam Backup) или переносите на другое хранилище, при первом запуске гипервизор VMware обязательно задаст вопрос в панели управления: «I moved it» (Я перенес ее) или «I copied it» (Я скопировал ее).
Всегда выбирайте вариант «I moved it»! В этом случае гипервизор сохранит оригинальный уникальный идентификатор виртуальной машины (UUID) и физические MAC-адреса виртуальных сетевых адаптеров. Выбор варианта «I copied it» сгенерирует новые UUID и MAC-адрес, что приведет к немедленному и полному аннулированию всех активированных на этой машине лицензий 1С.