將 VMWare vmdk 導出為 OVA 文件/OVF 格式
我在 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
- 將 GNU tar 轉換為 POSIX tar/ova 文件 - 請參閱如何將 tar 文件從 gnu 格式轉換為 pax 格式
bsdtar -cvf Debian9.ova --format=pax @Debian9.tar
從它們開始,您可以將其導入其他系統。
請參閱相關問題:MacOS 中沒有 sha256sum