记录我的一些生活写照、无聊的牢骚、内心世界的活动 注册 | 登陆

OVF 与 OVA 区别与转换

 OVF 与 OVA 区别与转换

使用场景
OVF 包包含一系列未压缩的文件,对于需要访问文件中各个磁盘映像的用户而言较为方便,而 OVA 包只是一个大型文件。尽管您可以压缩此文件,但它不像一系列文件(如 OVF)那样灵活 
OVA 更适用于适合只使用一个文件的特定应用场合(例如创建用于 Web 下载的软件包),这种情况下软件包更易于处理。与 OVF 相比,导出和导入 OVA 包所需的时间更长。
转换
OVA 转 OVF 很简单,使用 tar 解包就行
比如任意解包一个 OVA 文件后会出来 ovf vmdk mf 这三个文件,而且解包出来的顺序也是和 OVA 标准定义的那样,第一个必须未 .ovf 文件。这里我讲的是解包而不是解压,是因为 OVA 和 OVF 里包含的文件,最大的就是磁盘文件,而磁盘文件在导出的时候虚拟机已经进行了压缩,你可以使用 df 命令看看磁盘占用的空间,以及导出的磁盘占用的空间,你就会发现导出的磁盘文件大小远小于系统占用的空间。
XML/HTML代码
  1. tar -xvf Ubuntu1804.ova
  2. Ubuntu1804.ovf
  3. Ubuntu1804-disk1.vmdk
  4. Ubuntu1804.mf
OVF 转 OVA
按照 OVA 标准的格式,按顺序打包 OVF 包里的文件就行,注意 .ovf 文件一定要在第一个
XML/HTML代码
  1. tar -cf OP.ova Ubuntu1804.ovf Ubuntu1804-disk1.vmdk Ubuntu1804.mf
ESXi虚拟机导出为OVF模板
主要是为了备份整个虚拟机,通过ESXI图形界面上的导出ovf功能发现不太靠谱,有时能用,有时不能用,能用的时候有时也不太正常;Web Client导出。之前的版本不知道能不能正常导出,ESXI7导出下载会自动中断,只能换下一个方法。
第一步:去vmware官网下载ovf tool工具
最新版本:VMware-ovftool-4.4.1-16812187-win.x86_64
软件下载地址:https://www.aliyundrive.com/s/hYn6SBWtRvp
下载下来之后,一路默认安装,记得把安装路径给记住,一会要用。
第二步:使用ovf tool 工具
通过命令行打开ovf tool的安装路径,然后明确ESXI 主机的IP地址,我这里的环境是192.168.1.254,然后再明确一下VM(就是你将要导出的虚拟机的名字),我这里环境是Debian11,我想要备份到D盘,最后一步就是进行备份了:
XML/HTML代码
  1. cd C:\Program Files\VMware\VMware OVF Tool
  2. ovftool vi://root:@192.168.1.254/Debian11 D:\Debian11.ova
输入ESXI 的root密码就会开始运行了,慢慢等待完成。
也可以带密码输入直接导出ova文件
XML/HTML代码
  1. ovftool vi://root:password@192.168.1.254/Debian11 D:\Debian11.ova
注意:
1.vm虚拟机要关闭电源
2.ESXI 不要打开维护模式,如果打开维护模式也不能通过ovf tool 进行操作的,会报错
3.其实导出成ovf的大小是虚拟机实际的大小,而不是其逻辑大小,这一点需要注意。
XML/HTML代码
  1. ovftool.exe  --sourceType=OVA  -n=VM_TEST -ds=Datastorage "c:\tools\Win2019SE.ova" vi://root:"P@ssw0rd"@vms01.com.hk
通过 OVFTOOL 部署虚拟机
XML/HTML代码
  1. ovftool --sourceType=OVA --acceptAllEulas --X:skipContentLength --disableVerification --noSSLVerify -ds=DataStore -n=NEWVM --net:"network=VM Network" "D:\tmp\OVA_import\a-large-ova-file.ova" vi://root:"P@ssw0rd"@10.10.10.254
XML/HTML代码
  1. 选项                   结论        描述
  2. ovftool               不适用   调用 OVF 工具的命令。
  3. --sourceType          OVA     指定源文件的类型。在本例中,它是 OVA 文件。
  4. --acceptAllEulas      不适用   跳过最终用户许可协议 (EULA) 接受提示。
  5. --X:skipContentLength 不适用   上传期间跳过内容长度检查。
  6. --disableVerification 不适用   禁用 SSL 证书验证。
  7. --noSSLVerify         不适用    禁用 SSL 证书验证。
  8. -ds                   DataStore 指定目标数据存储的名称。
  9. -n                    NEWVM    指定新虚拟机的名称。
  10. --net          "network=VM Network"    指定虚拟机将连接到的网络的名称。
  11. "D:\tmp\OVA_import\a-large-ova-file.ova"    不适用  指定要导入的 OVA 文件的路径。
  12. vi://root:"P@ssw0rd"@10.10.10.254   不适用 指定新虚拟机的目标位置。
  13. DataStore注意: 、NEWVM、VM Network和目标位置的值可能因具体环境和要求而异。
多网卡:--net:"data=VM Network" --net:"mgmt=VM Network 2"
XML/HTML代码
  1. C:\Program Files\VMware\VMware OVF Tool>ovftool  --sourceType=OVA --acceptAllEulas --X:skipContentLength --disableVerification --noSSLVerify -ds=DataStore -n=NEWVM --net:"data=VM Network" --net:"mgmt=VM Network 2" "D:\tmp\OVA_import\a-large-ova-file.ova" vi://root:"P@ssw0rd"@10.10.10.254
总结:
XML/HTML代码
  1. #导出
  2. ovftool vi://root:password@192.168.1.254/Debian12 D:\Debian12.ova
  3. #导入
  4. ovftool --sourceType=OVA -n=Debian12 -ds=Datastorage "D:\Debian12.ova" vi://root:"password"@192.168.1.254
注:导入参数 -n是虚拟机名称  -ds是存储名称 " "可以要也可以不要,如果密码中有:最好加上,不会出错。

« 上一篇 | 下一篇 »

发表评论

评论内容 (必填):