docker和虚拟机的区别包 OVF和OVA的区别

虚拟机包 OVF和OVA的区别_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
虚拟机包 OVF和OVA的区别
&&虚拟机包 OVF和OVA的区别
你可能喜欢用户名:tasnrh
文章数:189
评论数:21
访问量:114200
注册日期:
阅读量:1297
阅读量:3317
阅读量:581958
阅读量:466522
51CTO推荐博文
&&相信大家对OVF都不会陌生,本文将介绍OVF文件格式的一些技术实现。OVF全称是OpenVirtual Format,中文全称为开放虚拟化格式,是一种针对虚拟设备(或者可以允许软件运行的虚拟机)打包和发布的开放标准。这个标准被描述为一个“针对于虚拟机打包和发布的一种开源、安全、便携、高效率且可扩展的文件格式”。并且这个标准不依托任何特定的Hypervisor或处理器架构。打包和发布所使用的OVF包(英语:OVFPackage)可以用来包含一个或多个虚拟系统并且每一个都可以单独解耦成一个虚拟机。OVF文件结构OVF包(在这里我们为了方便,统一使用英文原意,称其为OVF包)结构如下图:650) this.width=650;" src="/mmbiz_png/5Bu9f7HF3NwEnmTOyyDPc6lB3vx1038FyUKtpt1q2AnfDVp7S4Do0bibZpvqVoGM7WKRuqAbkwllHOwTtkjZO3w/0?wx_fmt=png" style="margin:0padding:0height:" alt="0?wx_fmt=png" />OVF包结构的组成部分一般包含如下组件:一个以.ovf 为扩展名的OVF描述文件;可选的以.mf为扩展名的清单文件;可选的.cert为扩展名的证书文件;可选的磁盘镜像文件;可选的附加的资源文件,例如ISO镜像。描述文件、清单文件、证书文件应使用.ovf、.mf、.cert作为文件扩展名。其中,使用VMDK格式和VHDX格式的磁盘文件,后面我们看到,还有省略号,这表示OVF支持多种磁盘格式。OVF包的这些组件出了第一个以.ovf 为扩展名的OVF描述文件外,其余组件都是可选的。因此,OVF包是自由灵活的,其大致上可以组合为两种封装模式:单一文件封装;一组文件封装。一个OVF包如果存储在单一文件中,则以TAR格式存储,该文件的扩展名就是.ova(开放虚拟器件或应用)。而如果以一组文件的模式提供,那么就是上述标准的OVF包结构,包含了以.ovf 为扩展名的OVF描述文件、以.mf为扩展名的清单文件以及磁盘镜像文件等组成的文件组。单一文件封装单一文件封装的模式下,其就表现为一个.ova为扩展名的文件。该封装模式是将所要的必要的信息都封装到一个文件里面。OVA文件采用.tar文件扩展名,包含了一个OVF 包中所有文件类型。这样OVA单一的文件格式使得它非常便携。由于OVF包存储为单一文件,OVF描述文件中的所有文件引用应是相对路径引用的并且应指向TAR中包含的文件。压缩包中可以包含相对目录,但是相对路径的引用不应包括“..”。一般情况下,即使在开始时就已经找到所请求的文件,TAR解压缩工具须扫描整个压缩包,因为TAR中可追加替代文件而不必修改档案的其他部分。对于OVF TAR文件,不允许在档案文件中存有副本,而且档案文件中的文件应按照以下顺序排列:1)&&& OVF描述文件2)&&& OVF清单文件(可选)3)&&& OVF证书文件(可选)4)&&& 其余文件顺序应和Reference段(References定义了文件引用的规则)所列的顺序相同。需要注意的是国际化的外部字符串资源文件应位于Reference段的最前面。5)&&& OVF清单文件(可选)6)&&& OVF证书文件(可选)需要注意的是证书文件是可选的。若未提供证书文件,清单文件也是可选的。若提供了清单文件或证书文件,那么他们都放置在OVF描述文件后面,或者均放置在档案文件的末端。部署时,文件的顺序约束能确保从OVF TAR文件中抽取OVF描述文件而不必扫描整个档案文件。制作时,文件的顺序约束确保一个OVF TAR文件容易动态生成。该约束不妨碍使用标准的TAR包工具生成OVF TAR文件。一组文件封装一组文件存储分发的情况下,其ovf压缩包解压之后,所释放出来的就是一组文件,里面包含了标准OVF包所需要的各个文件:比如描述文件、清单文件、证书文件以及关键的磁盘镜像文件等。举个例子来说,我下载了Citrix NetScaler VPX 11,那么在我的电脑解压之后,其释放出来的文件就如下图所示:650) this.width=650;" src="/mmbiz_png/5Bu9f7HF3NwEnmTOyyDPc6lB3vx1038FVCYaJzclLF6NtwAST4czkjVGPrDLDWMtHXQZbsOjqOEH0kHEjIMVtg/0?wx_fmt=png" style="margin:0padding:0height:" alt="0?wx_fmt=png" />我们在导入该OVF包的时候,虚拟机或者说虚拟化层所能够识别的是.ovf文件为扩展名的描述文件。接下来我们简要来说明OVF包结构的这些组件:OVF描述文件所有关于包及其内容的元数据都存储在OVF描述文件中。这是一个用于编码信息的、可扩展的XML文档,例如产品详细信息、虚拟硬件需求和许可信息。OVF描述文件是OVF包的重点核心文件。OVF描述文件在OVF文件格式中起到了举足轻重的作用,他的存在是保证了镜像文件vmdk,资源文件iso与虚拟机domain配置之间的正确对应,作用就如同vmware中的vmx格式、以及Xen、kvm中的xml 配置文件。OVF描述文件里面定义了很多细节,我们会在后面进行详细讲解。&清单文件一个OVF包中的清单文件包含了OVF包中各个文件的SHA-1值(SHA (Secure Hash Algorithm,译作安全散列算法) 是美国国家安全局 (NSA) 设计,美国国家标准与技术研究院(NIST) 发布的一系列密码散列函数。正式名称为 SHA 的家族第一个成员发布于1993年。两年之后,SHA-1,SHA 的后续版本诞生)。清单文件以.mf为扩展名,它与.ovf文件同名(只是后缀扩展名不同),并且和.ovf文件是同一子族的文件。若OVF提供了清单文件,OVF包的使用者会通过计算各个文件实际的SHA-1值,并和清单文件所列的值进行比较来校验它们的正确性。清单文件的格式如下所示:manifest_file = *( file_digest )file_digest&&= algorithm "(" file_name ")" "=" spdigest nlalgorithm&&&&= "SHA1"digest&&&&&& &= 40( hex-digit ) ; 160-bit digest in 40-digithexadecimal&hex-digit&&&&= "0" | "1" | "2" | "3" |"4" | "5" | "6" | "7" | "8" |"9" | "a" | "b" | "c" | "d" |"e" | "f"&&sp&&&&&&&&&&&= %x20nl&&&&&&&&&&&= %x0A下面是一个清单文件的部分内容的示例:SHA1(package.ovf)= 237de026fb285bda95SHA1(vmdisk1.vmdk)= 393a66df214e192ffbfedbcc9e1c3&也就是说,在OVF清单文件中,其存储了OVF包中各个文件的SHA-1值。证书文件一个OVF包的签名可以通过对其清单文件签名来实现。清单文件的SHA-1值存储在以.cert为扩展名的证书文件中,该证书文件还包括64位编码的X.509证书。.cert文件应和.ovf文件具有相同的基本文件名,并且作为.ovf文件的同族文件。一个OVF包的使用者应校验签名并验证证书文件。当清单文件和证书文件存在时,这些文件不会出现在OVF描述文件的Reference部分(后续描述)。这是为了保证OVF描述文件不依赖该OVF包是否有清单文件或者是否被签名。在OVF包中增加清单文件或者证书文件可以在后续阶段决定。OVF包中的其它文件可以使用文件扩展名.mf和.cert,但不能占用同子族的URL或者路径名,否则会被解析为包清单文件或者证书文件。&磁盘镜像文件和资源这两种文件属于同一类,在OVF中都是资源,主要就是具体的镜像资源。不同的区别是vmdk以及vhdx等文件内容主要是用户操作系统OS的内容,而iso是光驱一类的内容。OVF不绑定任何特定的磁盘格式,只是为OVF提供一个磁盘格式的URI,以此来给出一个明确的用于解析该磁盘格式的规范。OVF格式中的磁盘是静态且唯一,以便软件读取一个OVF包时可将该URI作为关键标识来确定磁盘格式。因此OVF才会被称为通用的开发虚拟化格式被所有的虚拟化所支持。&本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)博客访问: 2381251
博文数量: 524
注册时间:
ITPUB论坛APP
ITPUB论坛APP
APP发帖 享双倍积分
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: 云计算与虚拟化
虚拟机包 OVF和OVA的区别
From:/ovf-ova.html
今天有个网友咨询我,虚拟机包 OVF(Open Virtualization Format:开放虚拟化格式 )和OVA(Open Virtualization Appliance:开放虚拟化设备)的区别是什么?我想整理一下把他们的区别共享出来,方便大家今后学习。
一、什么是OVF文件
开源虚拟化格式OVF文件是一种开源的文件规范,它描述了一个开源、安全、有效、可拓展的便携式虚拟打包以及软件分布格式,它一般有几个部分组成,分别是ovf文件、mf文件、cert文件、vmdk文件和iso文件。
二、OVF文件工作原理以及各组件的作用
简单来说,OVF文件可以抽象看做一个由规定的几个不同类型的文件所组成的文件包,这个文件包可作为以后不同虚拟机之间一个标准可靠的虚拟文件格式,实现不同虚拟机之间的通用性。每个类型的文件都有各自的作用,相辅相成。
下面我们逐一做个介绍:
1)ovf 文件:
ovf文件在OVF文件格式中起到了举足轻重的作用,他的存在是保证了镜像文件vmdk,资源文件iso与虚拟机domain配置之间的正确对应,作用就如同vmware中的vmx格式、以及Xen、kvm中的xml 配置文件。
b.内容详细分析
我们以一个ovftool生成的ovf为例通过对内容的研究可知。
前两行是对ovf文件的一些基本信息作简要说明主要内容包括了xml的版本,编码规范以及创建文件时的一些基本信息:
<?xml&version="1.0"encoding="UTF-8"?> &&
在基本信息之后,会有一个Envelope类型的说明,主要是规定了OVF文件所用规范的一些基本定义位置以及基本变量内容的声明。比如这里xmlns:vmw内容就是对应后面的vmw:
<Envelope&vmw:buildId="build-467744"xmlns="http://schemas.dmtf.org/ovf/envelope/1"&xmlns:cim="http://schemas.dmtf.org/wbem/wscim/1/common"xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1"&xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData"xmlns:vmw="/schema/ovf"xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> &&
一般来说,以上的内容只跟我们所用ovf格式的具体版本和提供商有关,在版本相同的情况下(也就是使用工具相同的情况下)以上内容并不会有什么区别。真正控制ovf文件工作的内容是后面部分,它和具体虚机配置紧密相关,在vmware中主要是靠vmx文件进行转换。
主要内容包括:
1)References类型
&&&&&&&&&&&&&&&&<Fileovf:compression="gzip"&ovf:href="Winxp2-disk1.vmdk.gz"ovf:id="file1"&ovf:size=""/> &&
<Fileovf:compression="gzip"&ovf:href="Winxp2-file1.iso.gz"ovf:id="file2"&ovf:size=""/> &&
&&&&&&&&&&
以上两句声明了两个镜像分别对应OVF文件包中的vmdk镜像文件以及iso资源文件并用file1,file2予以区别。
2)DiskSection类型
&&&&&&&&&&&&&Virtual&diskinformation &&
&&&&&&&&&&&&&<Diskovf:capacity="40"&ovf:capacityAllocationUnits="byte&*&2^30"ovf:diskId="vmdisk1"&ovf:fileRef="file1"ovf:format="/interfaces/specifications/vmdk.html#streamOptimized"ovf:populatedSize=""/> &&
DiskSection>&&
在声明了vmdk文件为file1之后通过对DiskSection的配置,确定让vmdk作为虚机的硬盘镜像。
3)网络配置模块NetworkSection
&&&&&&&&&&&&&&&&Thelist&of&logical&networks &&
&&&&&&&&&&&&&&&&&&<Network&ovf:name="bridged"> &&
&&&&&&&&&&&&&&&&&The&bridgednetwork &&
&&&&&&&&&&&&&&&& &&
&&&&&&&&&&
4)与虚机机内容相关的配置模块
<VirtualSystemovf:id="vm"> &&
&&&&A&virtualmachine &&
&&&&Windows&XPProfessional &&
&&&&<OperatingSystemSectionovf:id="67"&vmw:osType="winXPProGuest"> &&
&&&&&&The&kind&ofinstalled&guest&operating&system &&
&&&&&&Virtual&hardwarerequirements &&
&&&&&&&Virtual&Hardware&Family &&
&&&&&&&0 &&
&&&&&&&Windows&XPProfessional &&
&&&&&&&&vmx-07 &&
&&&&&&&hertz&*&10^6 &&
&&&&&&&Number&of&Virtual&CPUs &&
&&&&&&&&1virtual&CPU(s) &&
&&&&&&&1 &&
&&&&&&&3 &&
&&&&&&&1 &&
&&&&<vmw:Configovf:required="false"&vmw:key="cpuHotAddEnabled"&vmw:value="false"/> &&
上述文档信息主要是对各种vmx中的信息进行归类,比如说VirtualSystem声明了hypervisor环境为vmware,同时声明的还有虚拟机的domain,系统环境、各种CPU配置等。
mf文件主要是一些文件SHA的集合,他主要起到的作用是防止镜像文件被非法用户篡改,通过对实例的比对我们可以得出,mf文件中各个文件的SHA值是对该文件的整个文件内容进行的内容摘要。
b.实例内容如下:
SHA1(winxp_2.ovf)=87a7ef2d0d130d58b37d2de15260 &&
SHA1(winxp_2-disk1.vmdk.gz)=597f3effb12be92bb95b1 &&
SHA1(winxp_2-file1.iso.gz)=d59d519daefe08c21aa86cf96655&&
3).Cert文件
a.详细介绍
从对mf文件的分析我们知道了,mf文件主要作用是为了验证各种虚机相关配置是否被恶意篡改,但是如何保证mf文件本身的合法性呢?于是我们需要.Cert文件来加以补充。Cert文件主要分为2个部分,一部分是mf文件的摘要,而另一部分是合法证书的证书内容。通过证书的验证来实现验证mf文件合法性的验证,进一步证明整个OVF文件包的合法性。Cert证书的生成主要依赖PKI,可以通过openssl来实现。
4).vmdk文件和iso文件
这两种文件属于同一类,在OVF中都是资源类,主要就是具体的镜像资源。不同的区别是vmdk文件内容主要是用户操作系统OS的内容,而iso是光驱一类的内容。
三、虚拟机包 OVF和OVA的区别
OVF(Open Virtualization Format:开放虚拟化格式 )和OVA(Open Virtualization Appliance:开放虚拟化设备),两者包含所有用于部署虚拟机的必要信息。这两种包封装格式都是由DMTF(Distributed Management Task Force)所定义的。
两者之间的主要区别是在包的描述和封装。OVF包构造了必要的几个文件(具体见上描述),所有这些在定义和部署的虚拟机必须用到的。相比之下,OVA包是一个单一的文件,所有必要的信息都封装在里面。
OVF文件使用.ovf文件扩展名,同时一个OVF描述符,一个XML文件,用来描述打包的虚拟机。OVF还包含元数据和一个或更多的磁盘映像。或者,它也可能包含证书和其他附文件。
而OVA文件则采用.tar文件扩展名,包含了一个OVF 包中所有文件类型。这样OVA单一的文件格式使得它非常便携。
阅读(26403) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。

我要回帖

更多关于 虚拟机挂起和关机区别 的文章

 

随机推荐