VHDX是微軟推出的一種新的虛擬硬盤格式。目前,,Windows 8和Windows Server 2012都支持這種格式,本文詳細闡述了如何在Windows Server 2012 虛擬機中通過VHDX格式管理虛擬硬盤,。
在Windows Server 2012中,當新建一個虛擬機時,,會有一個與之相關聯(lián)的模板給這個虛擬機分配一個或多個特定類型和大小的虛擬硬盤VHD,。但我們根據(jù)實際情況,常常需要修改VHD參數(shù),例如,增加一個或多個虛擬硬盤的最大大小,。
Windows Server 2012引入了一個新的虛擬機VHDX類型,與之前的版本相比,,VHDX可以兼容支持現(xiàn)有的Windows Server 2008 VHD格式,使VHD的管理分配工作更輕松,、更安全,該項工作可以在Windows Server 2012的用戶UI界面進行,甚至也可以用PowerShell腳本來部署,。
新VHDX文件格式
“.VHDX“VHD文件格式規(guī)范提供了一個抽象的磁盤文件來改進原始的虛擬機”. VHD”文件磁盤格式,,這個VHDX文件容器含有VHD元數(shù)據(jù)被存儲的內容和狀態(tài)。使用新的VHDX文件格式有以下好處:
容量大:支持虛擬硬盤存儲容量高達64TB,以及完全支持Windows Server 2008 類型的VHD格式,。
安全:當在新的VHDX文件格式容器進行元數(shù)據(jù)結構的日志更新前因不可抗拒力意外停電時,,可以防止數(shù)據(jù)損壞。
可收縮:可以實現(xiàn)更高的存儲效率,。在需要時可以減少物理尺寸的動態(tài)VHDX文件,也可以降低VHDX格式的虛擬硬盤格式的最大容量,。
VHDX與VHD格式如何遷移互轉
如果你想升級Windows Server 2008 虛擬機的原有的老格式VHD到VHDX格式,方法很簡單,兩者之間是一個可逆操作。 在Windows Server 2012中使用虛擬機圖形界面,選擇編輯VHD和選擇轉換為VHDX格式 如圖A ,。 (相當于PowerShell命令Convert-VHD)

VHD格式轉換VHDX格式示意圖
轉換成VHDX(或者也可以VHDX轉換到VHD)是一個離線的過程,即VM虛擬機需要關閉而磁盤被轉換,。 這是一個安全的過程,因為源VHD和VHDX仍然作為后備,以防轉換不成功。 斷開后在VM磁盤配置設置,并引導VM轉換成功,您可以刪除磁盤或VHDX源VHD文件,。
調整VHDX大小和容量
在以前虛擬機的版本中,,最困難的是減少物理存儲尤其是減少虛擬機的邏輯最大容量,這導致了當動態(tài)擴展VHD時常常被轉換為固定大小——經(jīng)常是默認的127GB大小——即使僅僅有很少的數(shù)據(jù),。而Windows Server 2012可幫助你做到這一點,,也就是收縮存儲的功能。
當我們由VHD格式轉換為VHDX格式后,,新的“Shrink”菜單選項詳見下圖,。通過“Shrink”菜單操作可以用來減少虛擬硬盤的存儲容量,。

Windows Server 2012 VHDX “收縮”菜單
那么什么時候能用到“收縮“這個功能呢?可考慮以下幾個因素:您想要通過擴展磁盤VHDX文件減少快用光的磁盤空間,或者通過該文件減少磁盤分區(qū)的最大容量。
下圖演示了使用Windows Server 2012磁盤管理UI的“收縮”屬性,,通過調整VM虛擬機的C:驅動器的容量收縮了5 GB,。
在磁盤管理卷上右鍵單擊,選擇“Shrink Volume”
輸入收縮空間的數(shù)量和按下”收縮“按鈕,。
結果顯示,,減少了卷的5GB的最大邏輯容量, 同時在圖B中也可以在VHDX”收縮“任務中看到虛擬機多出來的空間,就是VHDX文件的物理減小。

用PowerShell腳本調整VHDX容量大小
Windows Server 2012引入了PowerShell命令行工具,,具體可參考 Storage Cmdlets in Windows PowerShell, 調整分區(qū)和底層文件系統(tǒng),調整虛擬硬盤,,可用來對VHDX和VHD文件進行自動化和腳本工作,。本例中僅僅4行代碼就可以把VHDX文件的容量從50GB降到35GB。