Solidworks: режим ліцензії активації не підтримується у цьому віртуальному середовищі (Qemu-KVM)


12

Питання насправді не в Solidworks , тому, будь ласка, продовжуйте читати.

Вся ідея віртуалізації - бути апаратним незалежним. Перед нашими очима створюється зовсім новий рівень залежності - прикріплення до гіпервізора.

Наскільки я знаю, пошук способів вирішити цю проблему - це не порушення ліцензії Solidworks та місцевого законодавства в моїй країні.

Мій клієнт і я хочу активувати продукти Solidworks на віртуальній машині KVM. З якихось дивних причин (Hyper-V та VMware повинні бути добре перевірені :) вони (розробники) PDM Solidworks 2015 не хочуть, щоб їх продукція була активована (остання версія 2014 року працювала чудово) на Qemu-KVM.

http://www.solidworks.com/sw/support/11168_ENU_HTML.htm http://www.solidworks.com/sw/support/11168_ENU_HTML.htm

Я використовую:

налаштування

Як ви бачите, це VM на основі KVM із встановленням Windows 2012 та Solidworks PDM.

Питання : Що ще вони можуть перевірити, якщо я запускаю свій VM в Qemu-KVM, крім перевірки:

  • MAC-адреса адаптера Ethernet VM,
  • Мітки драйверів пристрою,
  • Модель процесора,
  • Таблиці ACPI.

Я виключаю вищезгадані речі протягом наступних кількох годин, але хотів би дізнатися, чи є у вас інші ідеї.

Рішення :

Виявляється, вони підтверджують дві речі:

  1. Як правильно вказав Майкл Хемптон, є -cpu,kvm=offваріант

відключити CPUID 0x40000000 аркуша.

  1. Столи ACPI на гостях.

Відповідні частини параметрів командного рядка qemu:

-cpu host,kvm=off -smbios type=0,vendor=LENOVO,version=FBKTB4AUS,date=07/01/2015,release=1.180 -smbios type=1,manufacturer=LENOVO,product=30AH001GPB,version=ThinkStation P300,serial=S4M88119,uuid=cecf333d-6603-e511-97d5-6c0b843f98ba,sku=LENOVO_MT_30AH,family=P300

Синтаксис файлу конфігураційного файлу Libvirtd:

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
# Please notice there is xmlns definition in <domain> tag. Without it 
# <qemu:commandline> and <qemu:arg> tags won't work.
  <name>acm-server</name>
  <uuid>d0e14081-b4a0-23b5-ae39-110a686b0e55</uuid>
  <memory unit='KiB'>81920000</memory>
  <currentMemory unit='KiB'>81920000</currentMemory>
  <vcpu placement='static'>4</vcpu>
  <os>
    <type arch='x86_64' machine='pc-1.1'>hvm</type>
    <boot dev='hd'/>
    <bootmenu enable='yes'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
# Please notice there is no CPU definition on the top.
  <qemu:commandline>
    <qemu:arg value='-cpu'/>
    <qemu:arg value='host,kvm=off'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=0,vendor=LENOVO,version=FBKTB4AUS,date=07/01/2015,release=1.180'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=1,manufacturer=LENOVO,product=30AH001GPB,version=ThinkStation P300,serial=S4M88119,uuid=cecf333d-6603-e511-97d5-6c0b843f98ba,sku=LENOVO_MT_30AH,family=P3'/>
  </qemu:commandline>
</domain>

Як доказ, зараз він хоче активувати: з рубанням

Оновлення 21.04.2017р. DS Justice зазначив, що також може бути актуальним режим диска Qemu (я використовував virtio в цьому прикладі).


Цей сайт призначений для професійних сисадмінів, які за своєю суттю зацікавлені у підтримці / підтримці рішень, ми дійсно дуже стараємось працювати "в межах лінії".
Chopper3

8
Поки щось не є стандартним рішенням, це не означає, що воно непідтримується, як ви бачите, що воно є. Ви справді не бачите тут проблеми? Вони змушують когось вибирати комерційні інструменти та ховатися за - тому що це добре перевірено. Це нісенітниця, коли справа стосується вибору гіпервізора. Для нижньої ОС - так, але не для програми.
Міхал Соколовський

Якщо клієнтів, які платять достатньо, надсилають запит на SolidWorks для підтримки KVM, вони будуть змушені це робити. Це вже сталося, коли Oracle випустив OEL і спробував заблокувати встановлення на RHEL, лише питання тиску та потенціалу перевезення вашого бізнесу в інше місце.
діасний

Вони вже зробили. Вони підтримують це, наприклад, вони мали завдання встановити ліцензію сьогодні.
Міхал Соколовський

1
Для мене це не спрацювало з віртуальним завантажувальним диском IDE, імовірно, через опис диска AHCI, що містить слово "QEMU". Змінив завантажувальний диск на VirtIO, як показано на екрані, і я золотий. Спасибі!
Осінь

Відповіді:


13

Більшість сучасних гіпервізорів, які працюють на апаратному забезпеченні Intel, використовують CPUID, залишаючи 0x40000000 та наступні. передавати інформацію про гіпервізора від господаря до гостя.

KVM , Xen , VMware і Hyper-V використовують цей метод.

Це на додаток до прапора гіпервізора, встановленого у листі CPUID 0x1, який вказує на те, що машина є віртуальною машиною.

Отже, для програми, яка може викликати інструкцію CPUID, було б банально визначити, чи працює вона під одним із цих гіпервізорів.

Останні версії KVM включають в себе параметр командного рядка , щоб відключити лист CPUID 0x40000000, -cpu kvm=off.


1
І цей метод вже виявився ефективним проти драйверів NVIDIA, що блокують KVM VM також на наступний час.
діасний

5

Офіційний спосіб активації сервера Solidworks на KVM - це подати заявку на "Виключення ліцензії на активацію для SolidWorks". Ми робимо це через реселлера, але, можливо, це можна зробити безпосередньо через підтримку Solidworks.

Solidworks надсилає файл ліцензії, який завантажує Solidworks Manager Manager через Додаткові параметри вкладки Адміністрація сервера.

Зважаючи на те, що останні два роки на те, що Solidworks надсилає файл ліцензії, пройшло більше двох тижнів, було б непогано, щоб вони не були чорним списком KVM.

У Solidworks відкрито "Запит на покращення" із заголовком: "Надайте підтримку SNL-сервера для VM KVM Qemu Libvirt." ER # 1-9482749288 Я знайшов це, увійшовши на портал Solidworks, знайшовши посилання Запит на покращення та ввівши KVM.

Будь ласка, залиште коментар до цього запиту на покращення! Сподіваємось, вони вирішать, що KVM є законним середовищем для віртуалізації.


AWS використовує KVM!
FreeSoftwareServers

1
@FreeSoftwareServers AWS лише нещодавно перейшов на KVM для деяких типів машин. Там все ще багато Ксена.
Майкл Хемптон

Правда, просто сказати, що це - a legitimate virtualization environment.
FreeSoftwareServers

Не кажи це мені, а скажи це Solidworks! :)
lickdragon

5

Я просто хотів поділитися своїм досвідом і тут, якщо інші потрапляють у подібну ситуацію (намагаються встановити солідарні роботи на virtualbox VM)

Моя спроба налаштування:

xubuntu 16.04 хост ОС, VirtualBox, Windows 10 та Solidworks 2015. Я бачив ту саму помилку, про яку йшлося вище.

Рішення:

Зрештою, я знайшов рішення - використовувати hidevm.batскрипт, включений до тріщини Solidsquad, для обману Solidworks думати, що він не працює в VM. ви можете використовувати .bat файл, навіть якщо у вас є законна ліцензія (як я сподіваюся, що ви це зробите). .bat призначений для користувачів, які працюють Solidworks всередині VM VirtualBox, а також Windows як хост-ОС, однак якщо ви, як і я, намагаєтеся запустити Linux як хост ОС, ви все одно можете відкрити файл .bat, виберіть виберіть відповідні команди, відрегулюйте їх для linux та запустіть їх. модифікованими відповідними командами є:

VMNAME=[whatever your VM name is]
rand9="abcdefghi" #any 9 character string
rand20="abdcefghijklmnopqrst" #any 20 character string
rand8="abcdefgh" #any 8 character string

VBoxManage setextradata $VMNAME "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVendor" "American Megatrends Inc"
VBoxManage setextradata $VMNAME "VBoxInternal/Devices/pcbios/0/Config/DmiBIOSVersion" "2.1.0"
VBoxManage setextradata $VMNAME "VBoxInternal/Devices/pcbios/0/Config/DmiSystemVendor" "ASUSTek Computer"

VBoxManage setextradata $VMNAME "VBoxInternal/Devices/pcbios/0/Config/DmiSystemSerial" $rand9

VBoxManage setextradata $VMNAME "VBoxInternal/Devices/ahci/0/Config/Port0/SerialNumber" $rand20

VBoxManage setextradata $VMNAME "VBoxInternal/Devices/ahci/0/Config/Port0/FirmwareRevision" $rand8
VBoxManage setextradata $VMNAME "VBoxInternal/Devices/ahci/0/Config/Port0/ModelNumber" "SEAGATE ST3750525AS"

У разі , якщо віртуальна машина налаштована на використання EFI прошивки вам необхідно замінити pcbiosна efiв ключах. Див. 9.12. Налаштування інформації про BIOS DMI .


Це не вдалося для мене. Можливо, тому, що моя система працює з UEFI.
киб

Але я знайшов рішення в документах VBox $ 9.12. > Якщо ваш VM налаштований на використання вбудованого програмного забезпечення EFI, вам потрібно замінити pcbiosїх efiу ключах. Я пропоную відредагувати повідомлення.
киб

4

'/>відсутні в EOL, <qemu:arg value='type=1,manufacturer=LENOVOось ось повна модифікація конфігурації libvirt:

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
 (...)

... Please notice there is no CPU definition on the top.
   <qemu:commandline>
     <qemu:arg value='-cpu'/>
     <qemu:arg value='host,kvm=off'/>
     <qemu:arg value='-smbios'/>
     <qemu:arg value='type=0,vendor=LENOVO,version=FBKTB4AUS,date=07/01/2015,release=1.180'/>
     <qemu:arg value='-smbios'/>
     <qemu:arg value='type=1,manufacturer=LENOVO,product=30AH001GPB,version=ThinkStation P300,serial=S4M88119,uuid=cecf333d-6603-e511-97d5-6c0b843f98ba,sku=LENOVO_MT_30AH,family=P3'/>
   </qemu:commandline>
 (...)

Дякую за вашу відповідь, це допомогло мені зробити моє, я просто видалив непотрібний код.
FreeSoftwareServers

1

Я подумав, що поділюсь своїм методом, який приховував VM від Windows / Task MGR (У ньому також є менш зайві речі та їх легше читати). Я не намагався активувати Solidworks, але IMO цей потік стосується приховування вашого запуску у віртуальній машині, і, можливо, його слід редагувати як таке. Все одно ...

Додайте наступне до свого domain.xml і обов’язково видаліть розділ процесора

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
#Regaular Stuff
#No CPU Type Set
 <features>
    <acpi/>
    <apic/>
    <kvm>
      <hidden state='on'/>
    </kvm>
    <vmport state='off'/>
  </features>
#Add to Bottom of Domain.xml
  </devices>
  <qemu:commandline>
    <qemu:arg value='-cpu'/>
    <qemu:arg value='host,hv_time,kvm=off,hv_vendor_id=null,-hypervisor'/>
  </qemu:commandline>
</domain>

Увімкніть і вимкніть VM і протестуйте!


1
У мене SolidWorks працює над qemu на Ubuntu 19.04 з цією конфігурацією, smbiosаргументами та VirtIO як драйвер як для дисків, так і для Ethernet.
Авамандер

1
@Avamander Це приголомшливо, як я сказав, що навіть не працював із SolidWorks, але схоже, що я допоміг вирішити питання ОП! Я забуваю над тим, над чим працював, але це змусило мене працювати і для чогось іншого, я думаю, що це було пов’язане з іграми, не запускало б гру в VM. Мої
відеомагнітофони

@Avamander Мені просто цікаво, ти пробував без smbiosаргументів?
FreeSoftwareServers

Я не спробував без кованого smbios.
Авамандер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.