一、什麼是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"?>
在基本資訊之後,會有乙個envelope型別的說明,主要是規定了ovf檔案所用規範的一些基本定義位置以及基本變數內容的宣告。比如這裡xmlns:vmw內容就是對應後面的vmw:
一般來說,以上的內容只跟我們所用ovf格式的具體版本和提供商有關,在版本相同的情況下(也就是使用工具相同的情況下)以上內容並不會有什麼區別。真正控制ovf檔案工作的內容是後面部分,它和具體虛機配置緊密相關,在vmware中主要是靠vmx檔案進行轉換。
主要內容包括:
1)references型別
以上兩句宣告了兩個映象分別對應ovf檔案包中的vmdk映象檔案以及iso資源檔案並用file1,file2予以區別。
2)disksection型別
virtual diskinformation
在宣告了vmdk檔案為file1之後通過對disksection的配置,確定讓vmdk作為虛機的硬碟映象。
3)網路配置模組networksection
thelist of logical networks
the bridgednetwork
4)與虛機機內容相關的配置模組
a virtualmachine
windows xpprofessional
the kind ofinstalled guest operating system
virtual hardwarerequirements
virtual hardware family
0windows xpprofessional
vmx-07
hertz * 10^6
number of virtual cpus
1virtual cpu(s)13
1
上述文件資訊主要是對各種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)以外也沒有其他類似說明。
出處:
201943 ovf 檔案的匯出和匯入
剛接觸了一種高科技。通過 在a地的虛擬機器集群中 匯出 ovf 檔案 然後 根據 ovf 檔案,直接在 b地的 虛擬機器集群中 恢復出 此前的虛擬機器 匯出 在虛擬機關機的情況下,右鍵 該 虛擬機器 模板 匯出 ovf 模板 匯入 ovf 檔案 儲存到 b 地 終端 虛擬機器主機等都可以 在b地的虛...
HPP檔案簡介
hpp其實質就是將.cpp的實現 混入.h標頭檔案當中,定義與實現都包含在同一檔案,則該類的呼叫者只需要include該hpp檔案即可,無需再將cpp加入到project中進行編譯。hpp將實現 直接編譯到呼叫者的obj檔案中,不再生成單獨的obj,採用hpp將大幅度減少呼叫project中的cpp...
YAML檔案簡介
使用空格 space 縮排表示分層,不同層次之間的縮排可以使用不同的空格數目,但是同層元素一定左對齊,即前面空格數目相同 不能使用 tab,各個系統 tab對應的 space 數目可能不同,導致層次混亂 表示注釋,只能單行注釋,從 開始處到行尾 破折號後面跟乙個空格 a dash and space...