-
操作场景 OVA(Open Virtualization Appliance:开放虚拟化设备)是一个单一的压缩文件,其中包含了OVF文件包中的所有文件,即OVF的一种压缩模式,后缀为.ova。OVF(Open Virtualization Format:开放虚拟化格式)是一个文件夹,其中包含的文件是定义和部署虚拟机时必须用到的。OVF一般包含三种文件类型,分别为.ovf文件、.mf文件、.vmdk文件。 .ovf是一个XML描述符,定义了虚拟机的元数据信息,如名称、硬件要求,并且包含了OVF文件包中其他文件的参考信息。 .mf文件是一些文件SHA的集合,目的是为了防止镜像文件被非法篡改。 .vmdk文件包含了虚拟磁盘资源,OVF包中可以包含多个.vmdk文件,用来创建不同的磁盘镜像。 本文介绍将OVF、OVA文件导入云平台的操作方法。
-
操作步骤 手动提取OVF或OVA模板中的可用文件(.vmdk文件),使用控制台的外部镜像文件创建系统盘镜像或数据盘镜像的方式进行导入。 下述内容以OVF或OVA模板中只有一个vmdk文件为例,若存在多个vmdk文件(假设为3个,1个系统盘文件,2个数据盘文件),请分别将其上传至OBS桶,注册为系统盘镜像和数据盘镜像。 虚拟机为Windows操作系统 如果选择导出OVF模板并存储于C盘OvfLib文件夹,定义模板名称为MyVm,导出完成后生成的文件夹内容如下。其中.vmdk文件可以上传至云平台。 ├C
│ ├OvfLib
│ ├MyVm
│ ├MyVm.ovf
│ ├MyVm.mf
│ ├MyVm-disk1.vmdk 如果选择导出OVA格式,定义模板名称为MyVm,则会创建C:\MyVm.ova文件。解压后得到的.vmdk文件可以上传至云平台。 当前云平台支持导入vhd、vmdk、qcow2、raw、vhdx、qcow、vdi、qed、zvhd或zvhd2等格式镜像文件创建私有镜像。 详细指导请参见“通过外部镜像文件创建系统盘镜像”或“通过外部镜像文件创建数据盘镜像”。 虚拟机为Linux操作系统 如果选择导出OVF模板,请将生成后的文件夹中的.vmdk文件上传至云平台。 如果选择导出OVA模板,定义模板名称为MyVm,请执行以下操作。 执行如下命令,用file命令查看OVA文件。 file MyVm.ova 回显如下: MyVm.ova: POSIX tar archive (GNU) 使用tar命令可以看到,其中包含了两个文件: $tar tf MyVm.ova
MyVm.ovf
MyVm.vmdk 执行如下命令,解压OVA文件压缩包。 tar xvf MyVm.ova 解压后的文件夹包含如下文件: MyVm.ovf
MyVm.vmdk 其中,vmdk格式的镜像文件可以上传至云平台。 当前云平台支持导入vhd、vmdk、qcow2、raw、vhdx、qcow、vdi、qed、zvhd或zvhd2等格式镜像文件创建私有镜像。 详细指导请参见“通过外部镜像文件创建系统盘镜像”或“通过外部镜像文件创建数据盘镜像”。
-
为什么VHD格式的镜像上传失败,任务中心查看报错为外部镜像文件的系统盘容量大于用户设置的系统磁盘容量? 如果用户通过外部镜像文件注册私有镜像失败,且在任务中心查看错误信息为外部镜像文件的系统盘容量大于用户设置的系统磁盘容量。此问题通常有两种情况: 用户设置的系统盘大小小于原来平台虚拟机的系统盘大小,请重新确认原镜像文件的系统盘大小并重新注册。 用户使用的vhd格式是通过qemu-img或者其他类似工具转换生成,产生的vhd格式的实际虚拟磁盘大小(virtual size)和用户原虚拟机系统盘大小不一致,具体原因参考:https://bugs.launchpad.net/qemu/+bug/1490611 此情况下可以通过qemu-img工具的qemu-img info命令检查处理。 [xxxx@xxxxx test]$ qemu-img info 2g.vhdimage: 2g.vhdfile format: vpcvirtual size: 2.0G (2147991552 bytes)disk size: 8.0Kcluster_size: 2097152 计算virtual size的bytes换算成以G为单位的值是否为整数值。如上所示,2147991552 bytes通过换算得到大小约为2.0004G,大于2G,因此上传时需要设置系统盘大小大于2G的值。 父主题: 镜像导入类