一、什么是OVF文件
开源虚拟化格式OVF (不同于小写OVF )文件是开源文件规范,提供开源、安全、高效、可扩展的便携式虚拟包和软件分发通常由OVF文件、mf文件、cert文件、vmdk文件和ission文件几个部分组成
二、OVF文件工作原理以及各组件的作用
简单来说,OVF文件可以抽象为由几个规定的不同类型的文件组成的包。 该软件包作为未来不同虚拟机之间的标准、可靠的虚拟文件格式,实现不同虚拟机之间的通用性。 每种类型的文件都在其中发挥自己的作用。
让我逐一介绍:
1)ovf 文件:
a .前言
ovf文件与vmware的vmx格式、Xen和kvm的xml配置文件一样,在ovf文件格式中起着重要的作用,以确保镜像文件vmdk、资源文件iso和虚拟机域配置之间的正确对应。
b .内容详细分析
以某ovftool生成的ovf为例,全文看附录,可以从内容的研究中看出。
前两行简要介绍了ovf文件的基本信息。 主要内容是创建xml版本、编码规范和文件时的基本信息。
? XML version=' 1.0 ' encoding=' utf-8 '?
! - generatedbyvmwareovftool2.1.0(build-467744 ),ut ctime :2011-10-08t 0433602936032.179193 z -
基本信息后面是Envelope类型的说明,用于规定OVF文件中使用的规范的基本定义位置和基本变量内容的声明。 例如,这里xmlns:vmw的内容对应于以后的vmw。
envelope vmw 3360 build id=' build-467744 ' xmlns=' http://schemas.DMTF.org/OVF/envelope/1 ' xmlns 3360 CIM='
/Envelope
一般来说,以上内容仅与您使用的ovf格式的具体版本和提供程序相关,如果版本相同,即工具相同,则以上内容没有区别。 实际上,后面的部分控制ovf文件的工作,它与特定的虚拟机配置密切相关,在vmware中主要通过vmx文件进行转换。
主要内容如下。
1 )引用类型
参考资料
file OVF : compression=' gzip ' OVF : href=' win xp2-disk1. vmdk.gz ' OVF : id=' file1' OVF 3360 size=' 573899
file OVF : compression=' gzip ' OVF : href=' win xp2-file1. iso.gz ' OVF : id=' file2' OVF 3360 size=' 21490:
/References
以上两个语句声明两个镜像分别对应于OVF程序包中的vmdk镜像文件和iso资源文件,并在文件1和文件2中进行区分。
2 )磁盘扇区类型
磁盘安全
信息显示信息/信息
disko VF : capacity=' 40 ' OVF : capacityallocationunits=' byte *2^ 30 ' OVF : disk id=' VM disk1' OVF 3360文件
#streamOptimized"ovf:populatedSize="1275461632"/></DiskSection>
在声明了vmdk文件为file1之后通过对DiskSection的配置,确定让vmdk作为虚机的硬盘镜像。
3)网络配置模块NetworkSection
<NetworkSection>
<Info>Thelist of logical networks</Info>
<Network ovf:name="bridged">
<Description>The bridgednetwork</Description>
</Network>
</NetworkSection>
4)与虚机机内容相关的配置模块
<VirtualSystemovf:id="vm">
<Info>A virtualmachine</Info>
<Name>Windows XPProfessional</Name>
<OperatingSystemSectionovf:id="67" vmw:osType="winXPProGuest">
<Info>The kind ofinstalled guest operating system</Info>
</OperatingSystemSection>
<VirtualHardwareSection>
<Info>Virtual hardwarerequirements</Info>
<System>
<vssd:ElementName>Virtual Hardware Family</vssd:ElementName>
<vssd:InstanceID>0</vssd:InstanceID>
<vssd:VirtualSystemIdentifier>Windows XPProfessional</vssd:VirtualSystemIdentifier>
<vssd:VirtualSystemType>vmx-07</vssd:VirtualSystemType>
</System>
<Item>
<rasd:AllocationUnits>hertz * 10^6</rasd:AllocationUnits>
<rasd:Description>Number of Virtual CPUs</rasd:Description>
<rasd:ElementName>1virtual CPU(s)</rasd:ElementName>
<rasd:InstanceID>1</rasd:InstanceID>
<rasd:ResourceType>3</rasd:ResourceType>
<rasd:VirtualQuantity>1</rasd:VirtualQuantity>
</Item>
<vmw:Configovf:required="false" vmw:key="cpuHotAddEnabled" vmw:value="false"/>
</VirtualHardwareSection>
</VirtualSystem>
上述文档信息主要是对各种vmx中的信息进行归类,比如说VirtualSystem声明了hypervisor环境为vmware,同时声明的还有虚拟机的domain,系统环境、各种CPU配置等。
2)mf文件
a.简介
mf文件主要是一些文件SHA的集合,他主要起到的作用是防止镜像文件被非法用户篡改,通过对实例的比对我们可以得出,mf文件中各个文件的SHA值是对该文件的整个文件内容进行的内容摘要。
b.实例内容如下:
SHA1(winxp_2.ovf)=87a7ef2d0d130d58b96905377ae3637d2de15260
SHA1(winxp_2-disk1.vmdk.gz)=597f3effb12b77898f9dc2e92b836211c30b95b1
SHA1(winxp_2-file1.iso.gz)=d59d519da9663c7245678efe08c21aa86cf96655
3).Cert文件
a.详细介绍
从对mf文件的分析我们知道了,mf文件主要作用是为了验证各种虚机相关配置是否被恶意篡改,但是如何保证mf文件本身的合法性呢?于是我们需要.Cert文件来加以补充。Cert文件主要分为2个部分,一部分是mf文件的摘要,而另一部分是合法证书的证书内容。通过证书的验证来实现验证mf文件合法性的验证,进一步证明整个OVF文件包的合法性。Cert证书的生成主要依赖PKI,可以通过openssl来实现。
4)vmdk文件和iso文件
这两种文件属于同一类,在OVF中都是资源类,主要就是具体的镜像资源。不同的区别是vmdk文件内容主要是guestOS的内容,而iso是光驱一类的内容。
三、与OVF有关的工具介绍以及ovf研究现状
虽然OVF是一个跨平台的文件格式标准,它的设计初衷是为了规范各种不同虚机之间的镜像格式,但是由于出现的时间较短以及其他各方面的原因,使得他的推广和研发进度并不尽如人意,就在市场和实用的基础上,只有vmware一家公司已经有了比较成熟的工具——ovftool,现在我们能到手的文档中很大一部分都是基于这个ovftool工具来实现的,在开源软件方向来看,IBM也有相关的项目open-ovf,但是网上对它的介绍近乎没有,我们所能获取的唯一一个可以使用的版本是基于opensuse,而对这个工具使用除了简易的操作手册(详见附录2)以外也没有其他类似说明。
出处:https://www.cnblogs.com/qzqdy/p/8066873.html