web-dev-qa-db-fra.com

SolidWorks: Le mode de licence d'activation n'est pas pris en charge dans cet environnement virtuel (QEMU-KVM)

La question n'est pas autour de SolidWorks en réalité, alors veuillez continuer à lire.

Toute l'idée de la virtualisation est d'être indépendante du matériel. Avant nos yeux, un tout nouveau niveau de dépendance n'est créé - apposer à l'hyperviseur.

Pour autant que je sache la recherche d'une solution de contournement de ce problème, ce n'est pas une violation de la licence SolidWorks et de la législation locale dans mon pays.

Mon client et je souhaite activer SolidWorks Products sur KVM machine virtuelle. Pour certaines raisons étranges (Hyper-V et VMware sont censées être bien testées :) Ils (développeurs) de SolidWorks 2015 PDM ne veulent pas que leurs produits soient activés (la dernière version de 2014 a fonctionné tout simplement bien) sur QEMU-KVM.

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

J'utilise:

setup

Comme vous pouvez le constater, il est basé sur KVM VM avec l'installation de Windows 2012 et PDM SolidWorks.

Question: Que peuvent-ils vérifier si je cours mon VM à QEMU-KVM en plus de vérifier:

  • Adresse MAC (ES) de l'adaptateur Ethernet de VM,
  • Étiquettes de pilote de périphérique,
  • Modèle de la CPU,
  • Tables ACPI.

Je vais exclure les choses mentionnées ci-dessus dans les prochaines heures, mais j'aimerais savoir si vous avez d'autres idées.

solution:

Il s'avère qu'ils valident deux choses:

  1. Comme Michael Hampton pointa correctement, il y a une option -cpu,kvm=off

désactiver la feuille CPUID 0x40000000.

  1. Tables ACPI sur l'invité.

Pièces pertinentes des paramètres de ligne de commande 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

Syntaxe de fichier de configuration 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>

Comme une preuve, il veut maintenant activer: with hack

Mise à jour 21.04.2017R. DS Justice a mentionné que QEMU (j'ai utilisé Virtio dans cet exemple) Le mode disque peut également être pertinent.

12

La plupart des hyperviseurs actuels qui fonctionnent sur le matériel Intel utilisent des feuilles CPUID 0x40000000 et SEQ. passer des informations sur l'hyperviseur de l'hôte à l'invité.

KVM , xen , VMware et hyper-v Toutes utilisent tout méthode.

Ceci est en plus à l'indicateur de fonctionnalité de l'hyperviseur défini dans la feuille CPUID 0x1, indiquant que la machine est une machine virtuelle.

Il est donc trivial pour un programme pouvant appeler l'instruction CPUID afin de déterminer si elle fonctionne sous l'un de ces hyperviseurs.

Versions récentes de KVM incluent une option de ligne de commande pour désactiver la feuille CPUID 0x40000000, -cpu kvm=off.

13
Michael Hampton

La manière officielle d'activer SolidWorks Server sur KVM est de demander une "licence d'activation exonérée pour SolidWorks". Nous faisons cela à travers le revendeur, mais peut-être peut-être être fait directement à travers SolidWorks Support.

SolidWorks envoie un fichier de licence que SolidWorks License Manager charge via les options avancées de l'onglet Administration du serveur.

Étant donné que les deux dernières années ont pris plus de 2 semaines pour SolidWorks pour envoyer le dossier de licence, il serait agréable de ne pas les ne pas blacklist KVM.

SolidWorks a une "demande d'amélioration" ouverte avec le titre: "Fournissez la prise en charge du serveur SNL pour VM _ KVM qemu libvirt." ER # 1-9482749288 Je l'ai trouvé en vous connectant au portail SolidWorks, en trouvant le lien de demande d'amélioration et en tapant KVM.

S'il vous plaît laissez un commentaire sur cette demande d'amélioration! J'espère qu'ils décideront KVM est un environnement de virtualisation légitime.

5
lickdragon

'/> manquant sur eol <qemu:arg value='type=1,manufacturer=LENOVO Voici donc les modifications complètes de configuration 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>
 (...)
4
THOBAD007

Je pensais que je partageais ma méthode qui a fonctionné pour masquer VM à partir de Windows/Task Mgr (il a également moins de choses inutiles et est plus facile à lire). Je n'essayais pas d'activer SolidWorks mais imo Ce fil est plus sur la cachette de votre course dans un VM et peut-être être édité comme tel. De toute façon ...

Ajoutez les éléments suivants à votre domaine.xml et assurez-vous de compléter la section CPU

<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>

TURN VM OFF et Retour sur et testez!

1