天天看點

幹貨:虛拟機相容性和檔案格式詳解

如果想要在多hypervisor環境當中實作良好的虛拟機相容性,那麼深入了解虛拟機檔案和磁盤格式是十分重要的。

如果管理者在工作當中隻需要管理一種虛拟化平台,那麼就沒有必要使用多種虛拟化檔案格式。相同廠商hypervisor能夠支援現有檔案格式,即便将hypervisor更新到新版本,之前的檔案依然能夠正常工作。

但是如果管理者需要在一種hypervisor環境當中使用另外一種hypervisor平台建立的虛拟機,那麼情況就完全不同了。不同hypervisor建立的虛拟化檔案格式是完全不相容的。為了實作跨hypervisor的虛拟機相容性,首先需要了解不同格式之間的差別,之後對比不同虛拟化檔案和磁盤格式之間的缺點和優點。

不同檔案類型和檔案格式

為了存儲虛拟機,管理者必須至少使用兩種不同類型的檔案。硬碟檔案用來存儲虛拟機需要使用的所有檔案以及虛拟機描述檔案。為了将虛拟機從一個hypervisor平台順利遷移到另外一個平台當中,必須確定目标hypervisor能夠同時支援兩種檔案格式。但是實際操作過程并沒有這麼簡單,因為不同hypervisor所支援的特性也不相同。是以,如果你是一名希望最大程度上確定虛拟機相容性的管理者,那麼必須使用兩種平台都能夠支援的特性。

磁盤檔案和描述檔案格式

在制定虛拟機相容性政策的時候,首先需要決定的就是希望實作哪些功能。當然,源磁盤格式在目标hypervisor平台上應該是可用的。對于hypervisor來說,有很多種磁盤格式可供選擇,每種磁盤格式都能夠提供相應特性,這種情況使得保持相容性十分困難。比如,管理者想要為虛拟機制作快照,那麼最好虛拟機原生就支援這種特性。

常見的磁盤格式包括:

raw::這并非是一種真正的磁盤格式,而是代表虛拟機所使用的原始鏡像。它并不存儲中繼資料,是以可以作為保證虛拟機相容性的候選方案。然而,也正因為它不存儲中繼資料,是以不能支援某些進階特性,比如快照和壓縮等。

vmdk(virtual machine disk)檔案:它是vmware環境當中預設使用的磁盤格式。它支援多種不同特性,包括thin provisioning和thick provisioning,還有一些進階特性,比如支援叢集環境。

vhd(virtual hard disk):這是微軟預設采用的檔案格式,和vmdk類似,它也支援多種不同特性,能夠在資料中心環境當中實作高效存儲和使用。

qcow2:這是qemu所采用的預設磁盤格式,qemu是一種開源hypervisor。由于linux kvm也使用qemu,是以qcow2格式經常被用在kvm環境當中。它能夠高效使用存儲,允許管理者在需要磁盤空間的時候按需進行配置設定,也就是所謂的copy on write(cow)。

除了不同的磁盤格式之外,還需要考慮多種虛拟機描述檔案格式。一些常用的格式包括kvm環境當中使用的xml檔案以及vmware環境當中用來描述虛拟機的vmx檔案。從相容性角度來說,這些描述檔案類型并沒有虛拟磁盤格式那麼重要。如果能夠順利讀取虛拟磁盤,那麼就能夠完成大部分重要目标,也就是使用虛拟機。即便不能讀取虛拟機描述檔案,通常還能夠在目标磁盤上重新建立虛拟機,因為通常描述檔案當中隻包含一些為虛拟機配置設定的硬體資訊。

ovf和ova的作用

2007年,主要虛拟化廠商同意使用一種通用格式來封裝虛拟機,也就是ovf(open virtualization format)。使用ovf的目的在于提供一套通用标準,保證虛拟機檔案能夠在不同虛拟化平台之間順利遷移。一個ovf檔案當中包含用于描述虛拟機内容的xml檔案以及vmdk檔案。即便ovf并不是所有hypervisor采用的預設格式,但是它已經獲得了主要虛拟化廠商的支援,是以能夠確定虛拟機在不同平台間的可移植性。

而ova(open virtualization application)格式在ovf檔案的基礎上又增加了一些功能性。這是一種歸檔檔案,允許使用虛拟機壓縮存儲。和ovf檔案一樣,ova檔案也已經獲得主要虛拟化平台的支援。使用voa檔案遷移虛拟機的好處在于它使用的壓縮算法已經得到所有虛拟化平台的支援。在使用ova檔案之前需要注意的是他們通常必須被導入到虛拟化平台當中。

在處理虛拟機相容性問題的時候,可能會涉及多種檔案格式。比如磁盤檔案格式、虛拟機描述檔案格式以及ova格式,ova檔案能夠用來存儲壓縮虛拟機檔案。

本文轉自d1net(轉載)

繼續閱讀