Debian

將 VMWare vmdk 導出為 OVA 文件/OVF 格式

  • February 27, 2018

我在 VMWare Fusion 10 中有一個 Debian 9 的 VMWare 主映像,以 MacOS High Sierra 作為主機。

有一天,我不得不將它導入另一種虛擬化技術;今天我不得不將它導入到 VMWare ESX 5.x。我不得不通過網路複製它。

由於我必須通過網路進行操作,因為我的映像有很多可用空間,而且由於舊 VMWare 不支持我的 vmdk 的硬體版本,所以我選擇將我的 vmdk 映像轉換為 OVF 格式。

.OVA 文件的優點之一是它比我的 vmdk 小得多。

怎麼做?

雖然 VMWare Fusion 中沒有用於將 VM 導出為 .OVA 文件的菜單,但我在本文中了解到有一個命令行實用程序可用於此操作。如何在適用於 OS X 的 VMware Fusion 中以 OVA 格式導出 VM

要將 VMWare 映像導出為 OVF 格式,執行了以下步驟:

  • 停止/關閉 Debian 9 VM;
  • 執行行命令:

/Applications/VMware Fusion.app/Contents/Library/VMware OVF Tool/ovftool --acceptAllEulas /Users/ruiribeiro/Documents/Virtual\ Machines.localized/Debian\ 9.x\ 64-bit.vmwarevm/Debian\ 9.x\ 64-bit.vmx ~/Desktop/Debian9.ova

或者如果導入以導入 vSphere,因為它只接受 SHA1 簽名,執行方式為(請參閱The OVF package is invalid and cannot be deploy" error when deploying the OVA (2151537)):

/Applications/VMware Fusion.app/Contents/Library/VMware OVF Tool/ovftool --acceptAllEulas --shaAlgorithm=SHA1 /Users/ruiribeiro/Documents/Virtual\ Machines.localized/Debian\ 9.x\ 64-bit.vmwarevm/Debian\ 9.x\ 64-bit.vmx ~/Desktop/Debian9.ova

然後由於硬體版本太新,並且出現錯誤,我遵循並改進了此過程OVF Template Deployment Error on Older Versions of VMware ESXi

  • 創建了一個目錄
mkdir debian9 ; cd debian9
  • 在那裡解壓.ova文件:
tar -xvf ../Debian9.ova 
  • 編輯了Debian9.ovf文件,將VM VMWare硬體版本從:
<vssd:VirtualSystemType>vmx-14</vssd:VirtualSystemType>

<vssd:VirtualSystemType>vmx-10</vssd:VirtualSystemType>
  • 刪除了校驗和文件:
rm Debian9.mf
  • 除了刪除之外Debian9.mf,您還可以(重新)計算文件的 SHA256 或 SHA1 簽名,並使用新的校驗Debian9.ovf和進行編輯:Debian9.mf
$ cat Debian9.mf 
SHA256(Debian9.ovf)= 4e480ce67ea0a1e85ef46dec922f60901c7ae59a8810a21e7f94e172bf70aa69
SHA256(Debian9-disk1.vmdk)= 9e590d846ccad59fe4e3cad5ca5c3dd4f30723ab69bdccf9b7400a5f79dc3078

openssl sha256 Debian9.mf | awk '{print $2}'

openssl sha1 Debian9.mf   | awk '{print $2}'

或者,sha256sum安裝:

sha256sum Debian9.mf

sha1sum Debian9.mf
  • 創建了一個 tar 文件
tar -cvf Debian9.tar Debian9.ovf Debian9-disk1.vmdk 

# if in Linux
tar -cvf Debian9.tar Debian9.ovf Debian9-disk1.vmdk  --owner=64 --group=64
bsdtar -cvf Debian9.ova  --format=pax @Debian9.tar

從它們開始,您可以將其導入其他系統。

另請參閱OVF?卵子?虛擬機?– 文件格式和虛擬化工具

請參閱相關問題:MacOS 中沒有 sha256sum

引用自:https://unix.stackexchange.com/questions/426810