我期待在夜间构build过程中创build一个OVF文件。 我目前有这个过程创build一个qcow2图像,我使用qemu转换为vmdk。
qemu-img convert -f qcow2 ${image_name} -O vmdk ${image_name}.vmdk
我想要replace的过程是在ESx VM上运行所需映像的更新,并使用ovftool导出更新映像的ovf(这会将ovf,vmdk和mf下载到本机中)。 然后,我将EULA信息插入到ovf中,更新包含ovf和vmdk的sha1sum的清单(mf)。 我把mvf,vmdk和mf打包成一个ova,然后可以把它传递到VM和ESx。 这个过程起作用。
我希望在这里能够创build我的vmdk并生成一个ovf和mf文件,可以与我的vmdk一起使用。 然而,当我尝试将它加载到下面粘贴的VirtualBox中时,尝试创build的任何ova / ovf都会给我一个EOF错误。
Could not create the imported medium '/home/shayne/VirtualBox VMs/disk1.vmdk' (VERR_EOF). Result Code: VBOX_E_FILE_ERROR (0x80BB0004) Component: ApplianceWrap Interface: IAppliance {8398f026-4add-4474-5bc3-2f9f2140b23e}
我能够使用我生成的vmdk在VirtualBox中创build一个新的映像,所以我不怀疑这是问题。 我期望的唯一的线我需要改变从我的工作ovf生成一个现有的加载虚拟机将是以下。
将字段ovf:size更新为vmdk的新大小
<File ovf:href="disk1.vmdk" ovf:id="file1" ovf:size="3144482816"/>
更新字段ovf:格式为单片稀疏,这是我的vmdk的新格式。
<Disk ovf:capacity="8" ovf:capacityAllocationUnits="byte * 2^30" ovf:diskId="vmdisk1" ovf:fileRef="file1" ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html#streamOptimized"/>
任何帮助将不胜感激我可以使用从qcow2到ova的任何过程。