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

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

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

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