Solidworks: etkinleştirme lisans modu bu sanal ortamda desteklenmiyor (Qemu-KVM)


12

Soru aslında Solidworks ile ilgili değil , bu yüzden lütfen okumaya devam edin.

Sanallaştırma fikri donanımdan bağımsız olmaktır. Gözlerimizden önce yepyeni bir bağımlılık seviyesi yaratılıyor - hipervizöre iliştirme.

Bildiğim kadarıyla bu sorunun geçici bir yolunu bulmak için arama yapmak ülkemdeki Solidworks lisansının ve yerel yasaların ihlali değildir.

Müşterim ve ben Solidworks ürünlerini KVM sanal makinede etkinleştirmek istiyoruz. Bazı garip nedenlerden dolayı (Hyper-V ve VMware'in iyi test edilmesi gerekiyordu :) Solidworks 2015 PDM'nin (geliştiricileri) ürünlerinin Qemu-KVM'de etkinleştirilmesini istemiyorlar (son 2014 sürümü gayet iyi çalışıyor).

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

Ben kullanıyorum:

kurmak

Gördüğünüz gibi Windows 2012 ve Solidworks PDM kurulumuna sahip KVM tabanlı VM.

Soru : Kontrol etmenin yanı sıra VM'imi Qemu-KVM'de çalıştırıp çalıştırmadığımı başka ne kontrol edebilirler:

  • VM'nin Ethernet adaptörünün MAC adresleri,
  • Aygıt sürücüsü etiketleri,
  • CPU modeli,
  • ACPI tabloları.

Önümüzdeki birkaç saat içinde yukarıda belirtilen şeyleri ekarte edeceğim, ancak başka fikirleriniz olup olmadığını bilmek istiyorum.

Çözüm :

İki şeyi doğruladıkları ortaya çıkıyor:

  1. Michael Hampton'un doğru şekilde işaret ettiği gibi, -cpu,kvm=offseçenek var

CPUID 0x40000000 yaprağını devre dışı bırakmak için.

  1. Konuklara ACPI masaları.

Qemu komut satırı parametrelerinin ilgili parçaları:

-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 yapılandırma dosyası sözdizimi:

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

Bir kanıt olarak, şimdi etkinleştirmek istiyor: kesmekle

Güncelleme 21.04.2017r. DS Justice, Qemu'nun (bu örnekte virtio kullandım) disk modunun da ilgili olabileceğini belirtti.


Bu site, doğal olarak destek / desteklenebilir çözümlerle ilgilenen profesyonel sistem yöneticileri içindir, 'satırlar içinde' çalışmak için çok çalışıyoruz.
Chopper3

8
Bir şey standart olmadığı sürece, çözüm, desteklenemez olduğu anlamına gelmez. Burada problemi gerçekten görmüyor musunuz? Birisini ticari araçlar seçmeye ve geride saklanmaya zorlarlar - çünkü iyi test edilmiştir. Hipervizör seçimi söz konusu olduğunda saçmalık. İşletim sisteminin altını çizmek için - evet, ancak bir uygulama için değil.
Michal Sokolowski

Yeterli ödeyen müşteri SolidWorks'ün KVM'yi desteklemesi için bir talep gönderirse, zorlanacaktır. Bu, Oracle'ın OEL'i serbest bırakması ve RHEL üzerindeki kurulumu engellemeye çalışması, sadece bir baskı ve işinizi başka bir yere götürme potansiyeli ile zaten oldu.
dyasny

Çoktan yaptılar. Bunu destekliyorlar, örneğin bugün lisansı yükleme görevi vardı.
Michal Sokolowski

1
Bu, muhtemelen "QEMU" sözcüğünü içeren AHCI disk açıklaması nedeniyle sanal bir IDE önyükleme diski ile işe yaramadı. Önyükleme diskimi ekran görüntünüzde gösterildiği gibi VirtIO olarak değiştirdim ve ben altınım. Teşekkürler!
Sonbahar

Yanıtlar:


13

Intel donanımında çalışan çoğu mevcut hipervizör CPUID, 0x40000000 et seq bırakır. hipervizör hakkında bilgiyi ev sahibinden konuğa aktarmak.

KVM , Xen , VMware ve Hyper-V bu yöntemi kullanır.

Bu, CPUID yaprağı 0x1'de ayarlanan ve makinenin sanal bir makine olduğunu gösteren hiper yönetici özellik bayrağına ek olarak yapılır.

Bu nedenle, bu hipervizörlerden birinin altında çalışıp çalışmadığını belirlemek için CPUID talimatını çağırabilen bir program için önemsizdir.

KVM'nin son sürümlerinde CPUID 0x40000000 yaprağını devre dışı bırakmak için bir komut satırı seçeneği bulunur-cpu kvm=off .


1
Ve bu yöntemin, KVM VM'lerini geçişte de engelleyen NVIDIA sürücülerine karşı zaten etkili olduğu kanıtlandı.
dyasny

5

KVM'de Solidworks sunucusunu etkinleştirmenin resmi yolu, "SolidWorks için Etkinleştirme Muafiyeti lisanslaması" için başvurmaktır. Bunu bayi aracılığıyla yapıyoruz, ancak muhtemelen doğrudan Solidworks desteği ile yapılabilir.

Solidworks, Solidworks License Manager'ın Sunucu Yönetimi sekmesinin Gelişmiş Seçenekleri üzerinden yüklediği bir lisans dosyası gönderir.

Son iki yılda Solidworks'ün lisans dosyasını göndermesinin 2 haftadan fazla sürdüğü göz önüne alındığında, KVM'yi kara listeye almamaları iyi olur.

Solidworks, "VM KVM Qemu Libvirt için SNL Sunucusu desteği sağlayın" başlıklı bir "Geliştirme İsteği" içerir. ER # 1-9482749288 Solidworks portalına giriş yaparak, Geliştirme İsteği bağlantısını bularak ve KVM yazarak buldum.

Lütfen bu Geliştirme İsteği için bir yorum bırakın! Umarım KVM'nin meşru bir sanallaştırma ortamı olduğuna karar verirler.


AWS KVM kullanıyor!
FreeSoftwareServers

1
@FreeSoftwareServers AWS, son zamanlarda bazı makine tipleri için KVM'ye geçti. Hala bir sürü Xen var.
Michael Hampton

Doğru, sadece bir olduğunu söylemek legitimate virtualization environment.
FreeSoftwareServers

Bana söyleme, Solidworks'e söyle! :)
lickdragon

5

Başkalarının da benzer bir durumda olması durumunda deneyimlerimi burada da paylaşmak istedim (bir sanal kutu VM'sine solidworks yüklemeye çalışırken)

Kurulum denemem:

xubuntu 16.04 ana işletim sistemi, VirtualBox, Windows 10 ve Solidworks 2015. Yukarıda tartışılan aynı hatayı görüyordum.

Çözüm:

Sonunda bulduğum çözüm hidevm.bat, Solidworks'ü bir VM'de çalışmadığını düşünmesi için kandırmak için Solidsquad çatlağında bulunan komut dosyasını kullanmaktı . meşru bir lisansınız olsa bile .bat dosyasını kullanabilirsiniz (umarım yaptığım gibi). .bat, Solidworks'ü bir VirtualBox VM içinde çalıştıran kullanıcılar içindir, Windows da ana işletim sistemi olarak çalışmaktadır, ancak benim gibi Linux'u ana işletim sistemi olarak çalıştırmaya çalışıyorsanız, yine de .bat dosyasını açıp, ilgili komutları verin, linux için ayarlayın ve çalıştırın. değiştirilmiş ilgili komutlar:

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"

Durumda sizin VM EFI değiştirmek gerekir firmware kullanmak üzere yapılandırılmış pcbiostarafından efianahtarlarında. Bkz. 9.12. BIOS DMI bilgilerinin yapılandırılması .


Bu benim için başarısız oldu. Sistemimin UEFI'de olması nedeniyle olabilir.
kyb

Ama 9.12 $ VBox belgelerinde çözüm buldum . > Durumunda VM EFI değiştirmek gerekir firmware kullanmak üzere yapılandırılmış pcbiostarafından efianahtarlarında. Mesajı düzenlemenizi öneririm.
kyb

4

'/><qemu:arg value='type=1,manufacturer=LENOVOEOL'de eksik, bu yüzden işte tam libvirt yapılandırma değişiklikleri:

<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>
 (...)

Cevabınız için teşekkür ederim, benimkini yapmama yardımcı oldu, sadece gereksiz kodu kaldırdım.
FreeSoftwareServers

1

VM'yi Windows / Task MGR'dan gizlemeye çalışan yöntemimi paylaşacağımı düşündüm (Ayrıca daha az gereksiz şeyler var ve okunması daha kolay). Solidworks'ü etkinleştirmeye çalışmıyordum ama IMO bu iş parçacığı bir VM'de çalışmanızı gizleme konusunda daha fazla ve belki de bu şekilde düzenlenmelidir. Neyse ...

Aşağıdakileri domain.xml dosyasına ekleyin ve CPU Bölümü'nü tamamen kaldırdığınızdan emin olun.

<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'yi kapatıp tekrar açın ve test edin!


1
SolidWorks'ü Ubuntu 19.04 üzerinde qemu üzerinde bu yapılandırma, smbiosargümanlar ve VirtIO ile hem diskler hem de ethernet sürücüsü olarak çalıştırabildim.
Avamander

1
@Avamander Bu, SolidWorks ile bile çalışmadığımı söylediğim gibi harika, ancak OP'nin sorusunu çözmemde bana yardımcı oldu! Ne üzerinde çalıştığımı unuttum, ama bu benim için başka bir şey için de işe yaradı, oyunla ilgili olduğunu düşünüyorum, bir sanal makinede oyun çalıştırmazdı.
VM'lerim

@Avamander Sadece merak ediyorum, smbiosargümanlar olmadan denedin mi?
FreeSoftwareServers

Sahte olmadan denemedim smbios.
Avamander
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.