Почему слетает программная лицензия 1С на виртуальной машине VMware и как это исправить?

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

Проблема «слета» программных лицензий 1С на виртуальных машинах (VM) — одна из самых досадных задач для системного администратора. Ситуация осложняется тем, что внешне конфигурация сервера не меняется: никто не добавлял память, не расширял диски и не перемещал машину между хостами, однако после обычной перезагрузки система защиты 1С сообщает об изменении параметров оборудования. Разберем детально, почему это происходит в среде VMware ESXi и как стабилизировать систему раз и навсегда.

Анализ причин изменения идентификаторов оборудования

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

  1. Изменение UUID и MAC-адреса: Это самые критичные параметры. Даже если вы просто ответили «I copied it» при запуске перемещенной машины, VMware генерирует новый UUID, что мгновенно «убивает» лицензию.
  2. Динамическое распределение ресурсов: Функции vMotion или DRS могут перемещать машину между узлами кластера с разными поколениями процессоров.
  3. Представление дисковой подсистемы: Использование «тонких» дисков или изменение очередности инициализации SCSI-контроллеров воспринимается системой защиты как замена диска.
  4. Hot-Add функции: Включенная возможность «горячего» добавления памяти или ядер процессора меняет структуру виртуальной материнской платы.

Рассмотрим пошагово методы фиксации этих параметров.

Шаг 1. Фиксация UUID и параметров конфигурации VMX

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

Откроем настройки виртуальной машины (Edit Settings) и перейдем в раздел VM Options -> Advanced -> Edit Configuration. Нам необходимо убедиться в наличии и правильности следующих параметров:


uuid.action = "keep"
uuid.bios = "56 4d 22 be 34 3f 00 00-00 00 00 00 00 00 00 00"

Параметр uuid.action = "keep" принудительно заставляет гипервизор сохранять текущий UUID BIOS при перемещении или копировании папки с машиной, не задавая лишних вопросов пользователю. Это первый и важнейший рубеж защиты нашей лицензии.

Шаг 2. Настройка статического MAC-адреса

Сетевой интерфейс является для 1С одним из «якорных» устройств. По умолчанию VMware часто назначает MAC-адрес в режиме Automatic. Проанализируем ситуацию: при пересоздании адаптера или изменении настроек сети адрес может измениться, что приведет к слету лицензии. Рассмотрим, как это исправить:

  1. Зайдем в настройки сетевого адаптера виртуальной машины.
  2. Переведем режим назначения MAC-адреса из Automatic в Manual.
  3. Зафиксируем текущий адрес. Рекомендуется использовать диапазон адресов, зарезервированный за VMware (00:50:56:XX:XX:XX), чтобы избежать конфликтов в сети.

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

Шаг 3. Стабилизация дисковой подсистемы

В тексте ошибки часто можно увидеть, что 1С «видит» удаление старых дисков и добавление новых, хотя физически файлы vmdk остались прежними. Разберем, как стабилизировать представление дисков:

Во-первых, рекомендуется использовать диски типа Thick Provision Eager Zeroed (толстые диски с немедленным обнулением) для системного раздела. «Тонкие» диски (Thin Provision) могут изменять свои метаданные при расширении на физическом хранилище, что иногда некорректно интерпретируется драйверами ОС как изменение геометрии диска.

Во-вторых, обратим внимание на виртуальные контроллеры. Если у вас несколько дисков, распределите их по портам строго последовательно (0:0, 0:1, 0:2) на одном контроллере. Посмотрим на пример: если системный диск находится на SCSI 0:0, а диск с данными на SCSI 0:3, при определенных обновлениях VMware Tools порядок инициализации может измениться. Старайтесь держать их «плотно» друг к другу.

Шаг 4. Отключение функций Hot-Add

Функции CPU Hot Add и Memory Hot Plug позволяют добавлять ресурсы без выключения сервера. Однако само наличие этой возможности модифицирует ACPI-таблицы виртуального BIOS. Проанализируем ситуацию: 1С воспринимает это как изменение характеристик материнской платы. Выясним решение:

Зайдем в Edit Settings -> VM Options -> RAM/CPU Hot Plug и убедимся, что галочки Enable сняты. Если вам действительно нужно добавить память, лучше выключить сервер, изменить параметры и заново активировать лицензию один раз, чем рисковать внезапным слетом в рабочее время. Для предварительного расчета необходимых параметров виртуальной машины можно воспользоваться калькулятором расчета аппаратных ресурсов для 1С.

Шаг 5. Работа с VMware Tools и версией оборудования

Обновление VMware Tools обновляет драйверы виртуальных устройств (например, pvscsi или vmxnet3). Система защиты 1С фиксирует версию драйвера. Если вы обновили «Тулзы», будьте готовы к тому, что лицензию придется активировать повторно.

Также не рекомендуется обновлять Hardware Compatibility (версию оборудования ВМ) без веской причины. Прыжок с версии 11 на 15 меняет чипсет виртуальной машины, что гарантированно приведет к недействительности лицензии.

Шаг 6. Использование сервера лицензирования 1С

Если ваша инфраструктура подразумевает частые миграции (vMotion), использование кластеров и динамическое управление ресурсами, классическая привязка к параметрам ВМ становится «бомбой замедленного действия». В платформе 1С:Предприятие (начиная с 8.3.5) предусмотрено штатное решение — Сервер лицензирования.

Разберем этот механизм подробнее:

  1. Создается небольшая, максимально стабильная виртуальная машина (или используется выделенный физический ПК).
  2. На этой машине активируются все программные лицензии.
  3. В настройках основной рабочей базы (в консоли администрирования серверов 1С) указываются параметры этого сервера лицензирования.

В этом случае рабочие серверы 1С могут мигрировать, менять объем памяти или процессоров — они просто обращаются по сети к стабильному серверу за лицензией. Сама лицензия при этом «не видит» изменений на рабочих узлах. Для настройки параметров кластера и управления серверами можно использовать консоль администрирования кластера серверов 1С.

Шаг 7. Аппаратный ключ как альтернатива

Рассмотрим еще один радикальный, но эффективный способ. Если программные лицензии доставляют слишком много хлопот в вашей виртуальной среде, рассмотрите переход на USB-ключи (HASP).

Для работы с ними в VMware существует механизм USB Passthrough. Вы вставляете ключ в физический хост и «пробрасываете» его в конкретную виртуальную машину. Однако более надежным методом является использование сетевых USB-концентраторов (например, AnywhereUSB). Это позволяет не привязывать ключ к конкретному физическому серверу и сохраняет возможность vMotion для виртуальной машины с 1С.

Резюме: для стабильной работы программной лицензии 1С на VMware необходимо в первую очередь зафиксировать uuid.bios, установить статический MAC-адрес и отключить функции Hot-Add. Если же инфраструктура слишком динамична, единственным надежным выходом будет вынос лицензий на отдельный сервер лицензирования или использование аппаратных ключей защиты.

← На главную