Слетела лицензия 1С на Proxmox после обновления: пошаговое восстановление без реактивации

Краткое описание ситуации: обновили гипервизор, увеличили диск или перенесли VM на другое хранилище — и 1С выдает «Нарушены условия получения лицензии». В этой статье мы разберем, как вернуть лицензию к жизни, обманув систему защиты 1С через конфигурацию QEMU/KVM.

1. Причина «слёта» лицензии

Лицензия 1С (программная) привязывается к ключевым параметрам железа. Она прощает изменение одного параметра, но блокируется при изменении двух и более.

  • Что произошло у нас: Обновление Proxmox изменило дату/версию BIOS (изменение №1), а расширение диска изменило его размер байт-в-байт (изменение №2). Сумма этих изменений «убила» лицензию.

2. Как работает лицензирование 1С (Software Copy Protection)

1С собирает «цифровой отпечаток», куда входят:

  • BIOS: Дата выпуска и версия (очень чувствительны к обновлениям гипервизора).
  • DISK: Размер именно в байтах и Serial Number (например, QM00001).
  • Motherboard: UUID (задается в конфиге VM).
  • CPU: Модель, количество ядер и частота.
  • Network: MAC-адрес сетевой карты.

3. Как работает Proxmox в этом контексте

  • BIOS: Proxmox использует пакет edk2-ovmf. При его обновлении на хосте меняется дата BIOS, которую видит виртуалка.
  • Диск: При операциях с диском (resize) Proxmox может менять его геометрию. Кроме того, хранилища вроде ZFS навязывают кратность блоков (например, 8k/16k), что мешает выставить «кривой» размер диска, который был у 1С изначально.
  • Alignment: QEMU требует, чтобы размер файла был кратен 4096 байтам. Если лицензия 1С хочет «некратное» число, QEMU выдает ошибку write permission.

4. Действия для восстановления (Check-list)

Если лицензия слетела после обновления или миграции:

  1. Вычислить эталоны: С помощью ring license validate (или логов 1С) узнать, какие параметры (Expected) ждет система.
  2. Вернуть BIOS: Через строку args в конфигурации VM (/etc/pve/qemu-server/ID.conf) подменить дату и вендора:
    args: -smbios type=0,date="ММ/ДД/ГГГГ",vendor="..."
  3. Вернуть размер диска:
    • Использовать qemu-img resize --shrink для подгонки файла до байта.
    • Если QEMU не запускается (ошибка alignment), включить cache=writeback в настройках диска — это снимает ограничение на кратность размера.
  4. Зафиксировать ID: Проверить, чтобы uuid и MAC в конфиге совпадали с оригинальными.
  5. Пересканировать: Выполнить qm rescan --vmid ID, чтобы Proxmox принял изменения размера.

Итог: Вам удалось оживить лицензию даже без подмены BIOS, просто вернув размер диска байт-в-байт. Это значит, что 1С теперь видит только одно изменение (BIOS) и считает его допустимым.

Теперь у вас есть «чистый» эталон. Сохраните параметры Size и Serial диска — это ваш главный ключ к спокойствию.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.