自定义开放虚拟格式 (OVF)

Custom Open Virtual Format (OVF)

众所周知,OVF 是用于导出虚拟设备的开放虚拟格式,它在许多方面都有帮助且可靠。我从 wiki Open Virtualization Format. Hypervisors like VMware bare-metal hypervisor, Virtualbox, Hyprer-V, has provided their tools for converting VM to OVF/OVA formats. Got to know from below helpful links VMware, Hyper-v,VirtualBox.

开始了解 OVF

但是,如果我只有某个虚拟机的 VHD、VHDX、VDI、VMDK 文件,我该如何自定义 OVF? VMDK 和导出的 OVF 中的 VMDK 之间有什么区别吗? 有没有什么程序化的方法可以让我轻松做到这一点?

谢谢

VMware OVF 包由稀疏磁盘组成。我在 VirtualBox 的帮助下完成了简单的方法,VirtualBox 为您提供了磁盘转换的命令行选项,因此您可以获得目标格式的磁盘,然后创建包,包由 .OVF 文件和 .MF 文件以及一个文件夹中的磁盘组成.

.MF File consist of SHA1 check-sum of all files in package

.OVF consist of deployment configuration i.e Controller, Disks, RAM, CPU etc.

无需研究所有内容,只需以 OVF 格式导出一些 VM,然后参考 .OVF 并根据需要进行更改并更新 .MF 文件

中的校验和
how can i do the custom OVF?

VMWare OVF 文件只是一个 .xml 文件。它包含有关资源的信息,例如磁盘文件 .vmdk、cd/disk 文件 .iso、内存、vCPU、网络适配器、虚拟磁盘大小和主机配置参数。

作为参考,您可以从主机上已经 created/running 的任何 VM 导出 ovf 文件。

Does there any difference between VMDK and VMDK from exported OVF?

我们可以从主机导出 VMDK 而不是从 OVF(.ovf 只是文件)。我认为导出的 VMDK 和 VMDK 是一样的。因为从导出的 VMDK 也可以用于 bring-up 主机上的 VM。

Is there any programmatic approach by using which i can do this easily?

您可以使用任何编程语言更新 ovf 文件。但我更喜欢选择python和library

我更喜欢使用 .OVA 而不是 .OVF 文件。 .OVA 基本上是 .VMDK、.OVF、.MF(.OVA 中所有文件的加密文件 tar(可选))、.iso(可选)等的 tar

如果您将 .OVF 文件用于 bring-up 个实例,您需要将提供的所有信息文件保存在同一目录中,例如 .VMDK、.iso 等。可能会丢失文件或放置在不同的目录。