由于我的 vSphere (6.5) 集群上有 EC2 元数据,因此我想将云映像导入其中,例如 Ubuntu 或 CoreOS。
但是对于 OpenStack,它们通常以 .qcow2 或 .img 格式出现(对于 CoreOS,我相信也是 qcow2)。
我尝试转换它们,但我不知道如何在 vSphere 中的虚拟机中使用它们。
qemu-img -f qcow2 -O vmdk in.qcow2 out.vmdk
vmkfstools -i in.vmdk -d thin out.vmdk
不起作用。我还尝试添加“-o compat6”和“-o adapter_type=lsilogic,subformat=streamOptimized,compat6”,但不起作用。如果我输入“-f raw”(或删除“-f”选项),效果也不会更好……
我最接近成功的方法就是尝试 CentOS Cloud Image 的原始映像,使用上面的说明进行转换(使用“raw”而不是“qcow2”),然后启动,但 Grub 会因上面的一些 XFS 错误而崩溃。无论如何,我更喜欢启动 qcow2 映像而不是原始映像,因为它们在 CloudInit 中更常见。
是否可以将这些 qcow2 图像转换为可工作且可启动的 vmdk?
谢谢
答案1
是的,这是可能的。使用 qemu-img 转换后执行以下步骤:
vmkfstools -i in_demo_mano.vmdk -d thin out_demo_mano.vmdk
如果文件较大,请耐心等待工具克隆磁盘:)