Stisknutím tlačítka "Enter" přeskočíte na obsah

Workstation 14 – import VM error

Nedávno jsem potřeboval testovat specifickou konfiguraci, a tak jsem si jako obvykle udělal kopii produkčního VM s tím, že si jej spustím ve VMware Workstation Pro 14. Jaké však bylo překvapení, když na mě při importu vyskočila hláška “Invalid target disk adapter type: pvscsi”:

Oprava je poměrně jednoduchá, skládá se ze dvou částí.

1. Oprava konfigurace

Pokud exportované VM máme ve formátu *.ova, tak před opravou musíme soubor rozbalit. Jedná se o jednoduchý archiv, který se dá rozbalit např. pomocí 7-Zip (windows) nebo tar (linux). Poté získáme jednotlivé soubory s obrazem disku *.vmdk (Virtual Machine Disk), konfigurační soubor *.ovf (Open Virtualization Format) a soubor s kontrolními součty *.mf (Manifest).

Otevřeme si konfigurační soubor *.ovf ve svém oblíbeném textovém editoru (jedná se o jednoduché XML, které popisuje konfiguraci VM) a najdeme řetězec, který popisuje typ řadiče disku. V našem případě hledáme Paravirtual SCSI (PVSCSI), v konfiguraci označen jako “VirtualSCSI” :

<Item>
  <rasd:Address>0</rasd:Address>
  <rasd:Description>SCSI Controller</rasd:Description>
  <rasd:ElementName>SCSI Controller 1</rasd:ElementName>
  <rasd:InstanceID>3</rasd:InstanceID>
  <rasd:ResourceSubType>VirtualSCSI</rasd:ResourceSubType>
  <rasd:ResourceType>6</rasd:ResourceType>
  <vmw:Config ovf:required="false" vmw:key="slotInfo.pciSlotNumber" vmw:value="192"/>
</Item>

nahradíme jej za LSI LOGIC SAS, “lsilogic”:

<Item>
  <rasd:Address>0</rasd:Address>
  <rasd:Description>SCSI Controller</rasd:Description>
  <rasd:ElementName>SCSI Controller 1</rasd:ElementName>
  <rasd:InstanceID>3</rasd:InstanceID>
  <rasd:ResourceSubType>lsilogic</rasd:ResourceSubType>
  <rasd:ResourceType>6</rasd:ResourceType>
  <vmw:Config ovf:required="false" vmw:key="slotInfo.pciSlotNumber" vmw:value="192"/>
</Item>

poté konfiguraci uložíme.

V této chvíli by nám ale VM stále nešlo importovat, jelikož při uložení nové konfigurace se změnil kontrolní součet *.ovf.

2. Oprava kontrolního součtu

Máme dvě možnosti, jak provést opravu:

  • Buď spočítáme nový kontrolní součet, např. pomocí “openssl” a nahradíme původní *.mf soubor (postup uvádím níže).
  • Nebo *.mf soubor jednoduše smažeme, VMware Workstation poté absenci *.mf ignoruje a bez problémů pokračuje v importu.

Tím máme opravu hotovou a VM bez problémů importujeme.

 

Kdybyste někdy z jakéhokoliv důvodu potřebovali spočítat kontrolní součet, tak zde uvádím postup. Otevřete si *.mf v textovém editoru, výpis bude vypadat nějak takto:

SHA256(FW_Mikrotik_Test-1.vmdk)= 61c0482e5452b51773497bbc17bacd657e73fdc62df030d2e7eb53a5f4c38409
SHA256(FW_Mikrotik_Test.ovf)= 10e281bfd5abd6e2e69f93f77595715459a1a3693a42aa1491b6f811e9ade5f4

Na začátku řádku najdete informaci, jaký typ kontrolního součtu je použit. Pak použijte nějaký nástroj, který umí daný typ kontrolního součtu spočítat. V mém případě je to SHA256, který umí openssl (windows i linux).

martin@testPC:~/Plocha/VMware/Copy_02$ ls -l
celkem 70020
-rwxrwxrwx 1 martin martin      193 pro 22 11:50 FW_Mikrotik_Test.mf
-rwxrwxrwx 1 martin martin     6816 pro 30 16:42 FW_Mikrotik_Test.ovf
-rwxrwxrwx 1 martin martin 71687680 pro 22 11:50 FW_Mikrotik_Test-1.vmdk
martin@testPC:~/Plocha/VMware/Copy_02$ openssl sha256 *.vmdk *.ovf > *.mf

Pomocí jednoduchého příkazu jsem spočítal kontrolní součty pro všechny *.vmdk a *.ovf soubory a uložil je do existujícího *.mf