Virtual Hard Disk (VHD) 規格、應用、效能介紹
Windows 官方 VHD 中文介紹及 Native 原生 VHD 支援與限制說明:
http://technet.microsoft.com/zh-tw/library/dd440865(WS.10).aspx
VHD 可分為以下三種,其簡單的分別也在下面的表格中:
下圖解釋了固定和動態擴充兩種格式在硬碟中所佔用的空間,
其中 Logical 指的是 VHD 所被分配到的空間大小,
而 Physical 則是此 VHD 檔案在實體硬碟中所實際佔用的空間。
如圖我們可以發現 Fixed-size,也就是固定的 VHD,
他在實體硬碟中所佔用的空間等同於 VHD 所分配的空間。
然而 Dynamically-expanding 動態擴充在實體硬體所佔用的空間,
則只有實際寫入 VHD 中的資料所需的硬碟大小。
下圖中的第三個平常不常用請忽略。
差異化 VHD 在實體硬碟中,除了一開始的 parent VHD 空間外只佔用差異的部份,
所以即使生出了許多差異化的硬碟,只要差異的部份不大,
佔用的空間也不會增加太多。
官方說明網頁:http://technet.microsoft.com/en-us/library/bb676673.aspx
詳細規格書下載:Virtual Hard Disk Format Spec_10_18_06.doc
Virtual Hard Disk Format Spec_10!18!06
在Windows Server 2008 R2之前,VHD並沒有被 Windows 的作業系統原生支援,
因此除了 Windows Server 2008 R2 和 Win7 外,
使用 VHD 時必須透過底層的 hypervisor,這造成了 IO 等效能的影響。
另外不同格式的 VHD,以及VHD與其他檔案或實體硬碟的效能比較,
都可以在 Virtual Hard Disk Performance Whitepaper 找到。
這份文件所得到的測試數據是在 Windows Server 2008 R2環境下的 VHD IO效能評估,
包括 fixed, dynamic, differencing 三種 VHD 格式,
以及 raw disk, raw file, passthru, 有沒有 native 原生支援等不同情況下 IO 效能的比較。
官方測試白皮書下載:ws08_r2_vhd_performance_whitepaper.docx
Ws08 r2 Vhd Performance Whitepaper
VHD 除了現在可用來讓 Win7 開機外,也常被用在虛擬化環境之中,
目前利用 VHD 格式的虛擬化大廠有 Xen、HyperV等等,
看過相關的文件有提到 Xen 的 fast clone及快照(snapshot)等功能都是利用 VHD來達成,
至於 Xen 內部到底怎麼做,請見以下的文件,看完就能理解 snapshot 的功能是如何被達成,
舉一反三,fast clone的概念也類似喔!
XenServer - Understanding Snapshots (v1.1)
本篇由於內容範圍太大,無法逐步寫下完整的說明,
但附上的資料應該可以讓大家對 VHD 有非常深入的了解了,
後續若有時間,我會再將相關的資料補上,
也歡迎大家提供意見及資料喔!
關鍵字:Virtual Hard Disk, VHD, Xen, Xen Server, XCP, performance, 效能, 評估, IO, 比較, hyperV, 原生, 開機, Native Boot, Win7
參考資料:
http://technet.microsoft.com/zh-tw/library/dd440865(WS.10).aspx
VHD 可分為以下三種,其簡單的分別也在下面的表格中:
類型
|
說明
|
固定
|
固定 (Fixed-size) VHD 的大小已經過配置,不能加以變更。例如,您若是建立 24 GB 的固定 VHD,則無論寫入其中的資料為何,檔案大小大約都在 24 GB 左右 (其中有一些空間會用於內部 VHD 結構)。
|
動態擴充
|
動態擴充 (Dynamically-expanding) VHD 的大小與寫入的資料大小相同。寫入動態擴充 VHD 的資料愈大,檔案也會愈趨近於大小上限。例如,24 GB 的動態擴充 VHD 在主機檔案系統上一開始大約是 80 MB。寫入此 VHD 的資料愈多,檔案也會愈趨近於 24 GB 的大小上限。
|
差異
|
差異 (Differencing) VHD 與動態擴充 VHD 類似,但只包含相關聯之父系 VHD 中經過修改的磁碟區。由於父系 VHD 是唯讀,所以您必須修改差異 VHD。差異 VHD 有時候可當做「子系」VHD。父系 VHD 可以是三種 VHD 檔案類型中的任何一種,包括另一種差異 VHD。多個差異 VHD 可建立差異鏈結。
|
下圖解釋了固定和動態擴充兩種格式在硬碟中所佔用的空間,
其中 Logical 指的是 VHD 所被分配到的空間大小,
而 Physical 則是此 VHD 檔案在實體硬碟中所實際佔用的空間。
如圖我們可以發現 Fixed-size,也就是固定的 VHD,
他在實體硬碟中所佔用的空間等同於 VHD 所分配的空間。
然而 Dynamically-expanding 動態擴充在實體硬體所佔用的空間,
則只有實際寫入 VHD 中的資料所需的硬碟大小。
下圖中的第三個平常不常用請忽略。
下面三張圖再次解釋了三種 VHD 在實體硬碟所需佔用的空間。
我們可以看到第三張圖的 differencing 差異 VHD,差異化 VHD 在實體硬碟中,除了一開始的 parent VHD 空間外只佔用差異的部份,
所以即使生出了許多差異化的硬碟,只要差異的部份不大,
佔用的空間也不會增加太多。
關於 VHD 內部更詳細的規格設定、甚至是 Header、Footer 的欄位資料,
請見 Virtual Hard Disk Image Format Specification:官方說明網頁:http://technet.microsoft.com/en-us/library/bb676673.aspx
詳細規格書下載:Virtual Hard Disk Format Spec_10_18_06.doc
Virtual Hard Disk Format Spec_10!18!06
在Windows Server 2008 R2之前,VHD並沒有被 Windows 的作業系統原生支援,
因此除了 Windows Server 2008 R2 和 Win7 外,
使用 VHD 時必須透過底層的 hypervisor,這造成了 IO 等效能的影響。
另外不同格式的 VHD,以及VHD與其他檔案或實體硬碟的效能比較,
都可以在 Virtual Hard Disk Performance Whitepaper 找到。
這份文件所得到的測試數據是在 Windows Server 2008 R2環境下的 VHD IO效能評估,
包括 fixed, dynamic, differencing 三種 VHD 格式,
以及 raw disk, raw file, passthru, 有沒有 native 原生支援等不同情況下 IO 效能的比較。
官方測試白皮書下載:ws08_r2_vhd_performance_whitepaper.docx
Ws08 r2 Vhd Performance Whitepaper
VHD 除了現在可用來讓 Win7 開機外,也常被用在虛擬化環境之中,
目前利用 VHD 格式的虛擬化大廠有 Xen、HyperV等等,
看過相關的文件有提到 Xen 的 fast clone及快照(snapshot)等功能都是利用 VHD來達成,
至於 Xen 內部到底怎麼做,請見以下的文件,看完就能理解 snapshot 的功能是如何被達成,
舉一反三,fast clone的概念也類似喔!
XenServer - Understanding Snapshots (v1.1)
本篇由於內容範圍太大,無法逐步寫下完整的說明,
但附上的資料應該可以讓大家對 VHD 有非常深入的了解了,
後續若有時間,我會再將相關的資料補上,
也歡迎大家提供意見及資料喔!
關鍵字:Virtual Hard Disk, VHD, Xen, Xen Server, XCP, performance, 效能, 評估, IO, 比較, hyperV, 原生, 開機, Native Boot, Win7
參考資料:
留言
張貼留言