VMware虛擬化程式設計 1 虛擬磁碟檔案型別詳解

2021-12-30 03:47:03 字數 4174 閱讀 5018

目錄 虛擬磁碟檔案 vmdk 使用者可以建立的虛擬磁碟型別 vixdisklib 中支援的虛擬磁碟型別 虛擬機器檔案型別

虛擬磁碟檔案(vmdk file) 字尾為 .vmdk,是虛擬機器的儲存卷,guest os file system 儲存在 vmdk file,而 vmdk file 又會以檔案的形式儲存在物理磁碟裝置上。vmdk file 支援兩種物理磁碟型別:

託管磁碟(managed disk):託管磁碟通常指的是 file system format 為 vmfs 的物理儲存裝置,能夠支援使用光纖、iscsi 或 sas 來連線到 esx/esxi host 的儲存網路(san),也能夠支援網路掛載儲存(nas),甚至能夠直接掛載到 esx/esxi host 上。在 vcenter 體系中,vmdk file 會被儲存於共享的 datastore 之上,再由 vcenter 管理著這些儲存簇(storage clusters),這令 vcenter 能夠支援在 esx/esxi host 之間遷移虛擬機器而不需要移動 vmdk 檔案;在 esx/esxi host 體系中,vmdk file 通常存放在物理儲存裝置的某個 /vmfs/volumes 目錄中。

寄宿磁碟(hosted disk):寄宿磁碟沒有特定的 file system format 要求,所謂寄宿,即適應 host 原生的磁碟型別。在 worksation 體系中,寄宿磁碟會適應 host file system,而將 vmdk file 儲存於本地磁碟之上。

note:需要注意的是 vddk 對兩種不同型別的磁碟裝置的操作函式也是有所區別的,對於託管磁碟,vddk 應用程式可以利用高階傳輸介面函式通過 san 而不是 lan 來執行大多數 i/o 操作,以此來提高程式效能,並保護網路頻寬。

在建立乙個虛擬磁碟時,會進行兩個操作:分配空間、置零。

厚置備延遲置零(lazy zeroed thick):預設的磁碟建立格式,建立磁碟時會直接從磁碟分配所需空間,但不會即時擦除磁碟上保留的資料,而是在虛擬機器執行 i/o 操作時按需要將其置零。簡單來說,就是立即完全分配指定的磁碟空間給虛擬機器,但延遲對該磁碟空間進行清零操作.

特性:磁碟效能較好,建立時間短,適合於做池模式的虛擬桌面。厚置備置零(eager zeroed thick):建立支援群集功能(e.g. faulttolerance)的厚磁碟格式,建立磁碟時,直接從磁碟分配空間並立即對物理裝置上保留的資料置零。所以當虛擬機器有 i/o 操作時,就能夠直接執行。簡單來說,就是立即完全分配指定的磁碟空間給虛擬機器, 並立即清零磁碟空間, 所需時間較長。

特性:磁碟效能最好,建立時間長,適合於做跑執行繁重應用業務的虛擬機器。精簡置備(thin):建立磁碟時,占用磁碟的空間大小根據實際使用量計算,即用多少分多少,提前不分配空間,對磁碟保留資料不置零,且最大不超過劃分磁碟的大小。簡單來說,就是按實際磁碟使用量動態增長分配磁碟空間,但最大不能超過指定的最大磁碟分配空間。

特性:當有 i/o 操作時,需要先分配空間,再將空間置零,最後才能執行 i/o 操作。當有頻繁 i/o 操作時,磁碟效能會有所下降,i/o 不頻繁時,磁碟效能較好;建立時間短,適合於對磁碟 i/o 不頻繁的業務應用虛擬機器。:vixdisklib,即虛擬磁碟庫,提供了管理虛擬磁碟的系統呼叫介面。

雖然使用者能夠建立的虛擬磁碟型別只有 3 種,但在底層程式介面中會根據不同的應用場景(e.g. vcenter、esx/esxi) 提供多種磁碟型別引數,開發者可能按照實際情況選擇相應的虛擬磁碟型別引數。

寄宿磁碟(hosted disk)

單片稀疏型vixdisklib_disk_monolithic_sparse:只包含乙個虛擬磁碟檔案並能夠動態擴充套件的虛擬磁碟。

單片平面型vixdisklib_disk_monolithic_flat:只包含乙個虛擬磁碟檔案,提前分配儲存空間的虛擬磁碟。建立這種磁碟需要較多的時間,並占用大量空間,但是可能會提供比稀疏型磁碟更好的效能。

分片稀疏型vixdisklib_disk_split_sparse:可擴充套件的虛擬磁碟,整個磁碟被分為多個2gb大小的關聯檔案。這些檔案可以增大到2gb,然後在新的檔案中繼續擴充套件。這種型別可以在較老的檔案系統上使用。

分片平面型vixdisklib_disk_split_flat:提前分配空間的虛擬磁碟,並被分為多個大小為 2gb 的虛擬磁碟檔案。這些從 2gb 開始,所以建立它們需要較長的時間,但是能夠以 2gb 持續增長。

託管磁碟(managed disk)

vmfs 平面型vixdisklib_disk_vmfs_flat:提前分配空間的虛擬磁碟,在 esx3 或更新的平台上可用,也叫做厚置備磁碟(thick disk)。

vmfs 稀疏型vixdisklib_disk_vmfs_sparse:使用一種寫時複製(copy-on-write, cow)機制來節省儲存空間,這是虛擬機器常用的快照磁碟型別。

vmfs 精簡型vixdisklib_disk_vmfs_thin:這種型別假設需要盡可能多的空間,然後以此來擴充套件虛擬磁碟的大小。能夠在 esx3 以及更新的平台上使用,也叫做精簡置備磁碟(thin disk)。。

單片流優化vixdisklib_disk_stream_optimized:單片、稀疏格式對資料流進行壓縮。這種格式不支援隨機讀寫。

一台 vmware 虛擬機器除了包含上述提到的 vmdk file 之外,還包含了各式各樣、針對各種場景的配置檔案或描述檔案。

字尾描述

api 引數

[vmname].vmx

虛擬機器配置檔案  

[vmname].vmdk

如果選擇「動態分配磁碟」設定,會建立乙個可根據需要空間大小動態增長的 vmdk 檔案。此時該檔案是實際的磁碟資料檔案。[vmname] 表示虛擬機器的名稱。在 vmfs 分割槽上,這是磁碟描述檔案的名稱。除此之外,還可能會成為虛擬磁碟檔案的元資料檔案

monolithic_sparse

[vmname]-flat.vmdk

如果勾選了「立即分配磁碟空間」,虛擬磁碟檔案將會提前分配所有空間,不會動態增長。第乙個 vmdk 檔案很小(即上述的元資料檔案),並指向乙個大的 -flat.vmdk vmdk 檔案。

monolithic_flat、vmfs_flat、vmfs_thin

[vmname]-ctk.vmdk

虛擬機器磁碟檔案的資料塊變化追蹤檔案,儲存自從上次快照以來的所發生變化的資料塊偏移量資訊  

[vmname].vmem

虛擬機器的記憶體頁面檔案,存放虛擬機器執行時的記憶體資料,在虛擬機器執行或者崩潰時被建立  

.vmss

虛擬機器掛起時的狀態資訊檔案  

.vmsd

虛擬機器快照的元資料檔案,儲存了如快照名、uid(unique identifier)、磁碟檔名等資訊。在建立快照前,其 size 為 0byte  

.vmsn

虛擬機器快照的狀態資訊檔案,用於儲存建立快照時虛擬機器的狀態。這個檔案的大小取決於建立快照時是否選擇儲存記憶體的狀態。如果儲存的話,那麼這個檔案會比分配給這個虛擬機器的記憶體大小還要大幾兆  

.vmtx

虛擬機器模板檔案  

.nvram

虛擬機器 bios 檔案  

.vswp

虛擬機器交換檔案  

.log

虛擬機器日誌檔案  

vm_name.vmdk (配置檔案):儲存的是該虛擬機器磁碟檔案的元資料(一般包含有兩類最重要的磁碟檔案的基本資訊)

vm_name-flat.vmdk (二進位制檔案):extent description 檔案,儲存虛擬機器實際的虛擬磁碟資訊。

vm_name-ctk.vmdk (二進位制檔案):change tracking file 改變追蹤檔案,儲存自從上次快照以來的虛擬機器所發生變化的資料塊資訊。

VMware虛擬機器擴充套件Ubuntu系統磁碟空間

1 首先給虛擬機器擴容 虛擬機器 設定 硬碟 實用程式 擴充套件磁碟容量 2 啟動ubuntu系統 2.1 開啟終端安裝gparted,sudo apt get install gparted 輸入sudo gparted開啟gparted。2.2 依次刪除 dev sda2 dev sda5 若無...

VMware虛擬化技術簡介

vmware虛擬化軟體產品主要針對4類使用者而設計的。這些使用者是 入門的初級使用者,企業級桌面使用者,專業的軟體開發和技術人員,以及資料中心使用者 這些產品都是基於 硬體 的軟體產品。在x86架構計算機虛擬化市場裡,知名度頗高。vmware虛擬化技術產品一覽 1.初級使用者免費產品 vmware ...

VMware虛擬化技術簡介

vmware虛擬化軟體產品主要針對4類使用者而設計的。這些使用者是 入門的初級使用者,企業級桌面使用者,專業的軟體開發和技術人員,以及資料中心使用者 這些產品都是基於 硬體 的軟體產品。在x86架構計算機虛擬化市場裡,知名度頗高。vmware虛擬化技術產品一覽 1.初級使用者免費產品 vmware ...