日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OVF文件考究

發布時間:2025/5/22 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OVF文件考究 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、什么是OVF文件

?????開源虛擬化格式OVF(不同于小寫的ovf)文件是一種開源的文件規范,它描述了一個開源、安全、有效、可拓展的便攜式虛擬打包以及軟件分布格式,它一般有幾個部分組成,分別是ovf文件、mf文件、cert文件、vmdk文件和iso文件。

二、OVF文件工作原理以及各組件的作用

?????? 簡單來說,OVF文件可以抽象看做一個由規定的幾個不同類型的文件所組成的文件包,這個文件包可作為以后不同虛擬機之間一個標準可靠的虛擬文件格式,實現不同虛擬機之間的通用性。它的每一個類型的文件都在其中起到自己獨特的作用。

下面我們逐一做個介紹:

???????1)ovf 文件:

a.簡介

ovf文件在OVF文件格式中起到了舉足輕重的作用,他的存在是保證了鏡像文件vmdk,資源文件iso與虛擬機domain配置之間的正確對應,作用就如同vmware中的vmx格式、以及Xen、kvm中的xml 配置文件。

b.內容詳細分析

我們以一個ovftool生成的ovf為例(全文看附錄)通過對內容的研究可知。

前兩行是對ovf文件的一些基本信息作簡要說明主要內容包括了xml的版本,編碼規范以及創建文件時的一些基本信息:

<?xml version="1.0"encoding="UTF-8"?>

<!--Generated by VMwareovftool 2.1.0 (build-467744), UTC time: 2011-10-08T04:29:32.179193Z-->

?

在基本信息之后,會有一個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="http://www.vmware.com/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">

</Envelope>

一般來說,以上的內容只跟我們所用ovf格式的具體版本和提供商有關,在版本相同的情況下(也就是使用工具相同的情況下)以上內容并不會有什么區別。真正控制ovf文件工作的內容是后面部分,它和具體虛機配置緊密相關,在vmware中主要是靠vmx文件進行轉換。

主要內容包括:

1)References類型

? ????? <References>

??? ??????????? <Fileovf:compression="gzip" ovf:href="Winxp2-disk1.vmdk.gz"ovf:id="file1" ovf:size="573898140"/>

<Fileovf:compression="gzip" ovf:href="Winxp2-file1.iso.gz"ovf:id="file2" ovf:size="214903055"/>

? ????? </References>

以上兩句聲明了兩個鏡像分別對應OVF文件包中的vmdk鏡像文件以及iso資源文件并用file1,file2予以區別。

2)DiskSection類型

? ????? <DiskSection>

??? ??????????? <Info>Virtual diskinformation</Info>

??? ??????????? <Diskovf:capacity="40" ovf:capacityAllocationUnits="byte * 2^30"ovf:diskId="vmdisk1" ovf:fileRef="file1"ovf:format="http://www.vmware.com/interfaces/specifications/vmdk.html#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)以外也沒有其他類似說明。

總的來說,對OVF的研究,國外也剛處于起步階段,實際中并沒有什么非常完善成熟的現成工具來借鑒。

轉載于:https://www.cnblogs.com/qzqdy/p/8066873.html

總結

以上是生活随笔為你收集整理的OVF文件考究的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。