????????开源虚拟化格式OVF(Open Virtualization Format)文件是一种开源的文件规范,它描述了一个开源、安全、有效、可拓展的便携式虚拟打包以及软件分布格式。
OVF包结构的组成部分一般包含如下组件:
一个以.ovf 为扩展名的OVF描述文件;
可选的以.mf为扩展名的清单文件;
可选的.cert为扩展名的证书文件;
可选的磁盘镜像文件;
可选的附加的资源文件,例如ISO镜像。
描述文件、清单文件、证书文件应使用.ovf、.mf、.cert作为文件扩展名。
????????ovf文件在OVF文件格式中起到了举足轻重的作用,他的存在是保证了镜像文件vmdk,资源文件iso与虚拟机domain配置之间的正确对应,作用就如同vmware中的vmx格式、以及Xen、kvm中的xml 配置文件。
?????????mf文件主要是一些文件SHA的集合,他主要起到的作用是防止镜像文件被非法用户篡改,通过对实例的比对我们可以得出,mf文件中各个文件的SHA值是对该文件的整个文件内容进行的内容摘要。
????????从对mf文件的分析我们知道了,mf文件主要作用是为了验证各种虚机相关配置是否被恶意篡改,但是如何保证mf文件本身的合法性呢?于是我们需要.Cert文件来加以补充。Cert文件主要分为2个部分,一部分是mf文件的摘要,而另一部分是合法证书的证书内容。通过证书的验证来实现验证mf文件合法性的验证,进一步证明整个OVF文件包的合法性。Cert证书的生成主要依赖PKI,可以通过openssl来实现。
????????这两种文件属于同一类,在OVF中都是资源类,主要就是具体的镜像资源。不同的区别是vmdk文件内容主要是guestOS的内容,而iso是光驱一类的内容。
????????简单来说,OVF文件可以抽象看做一个由规定的几个不同类型的文件所组成的文件包,这个文件包可作为以后不同虚拟机之间一个标准可靠的虚拟文件格式,实现不同虚拟机之间的通用性。每个类型的文件都有各自的作用,相辅相成。
????????两者包含所有用于部署虚拟机的必要信息。这两种包封装格式都是由DMTF(Distributed Management Task Force)所定义的。
????????两者之间的主要区别是在包的描述和封装。OVF包构造了必要的几个文件,所有这些在定义和部署的虚拟机必须用到的。相比之下,OVA包是一个单一的文件,所有必要的信息都封装在里面。
????????OVF文件使用.ovf文件扩展名,同时一个OVF描述符,一个XML文件,用来描述打包的虚拟机。OVF还包含元数据和一个或更多的磁盘映像。或者,它也可能包含证书和其他附文件。
而OVA文件则采用.tar文件扩展名,包含了一个OVF 包中所有文件类型。这样OVA单一的文件格式使得它非常便携。