從Windows Server 2012 R2 開始,可以在線調整虛擬硬盤的大小了,這意味着當虛擬硬盤不夠用時,我們在虛擬機運行的情況下直接擴展虛擬硬盤容量了。有人說這個有什么用?當然,實驗室情況下,我們完全可以停機,然后修改其大小,如果在生產環境呢?你能設想一組正在渲染3D圖形的虛擬機,硬盤空間突然不夠的情形么?
從Windows Server 2012 R2 開始,可以在線調整虛擬硬盤的大小了,這意味着當虛擬硬盤不夠用時,我們在虛擬機運行的情況下直接擴展虛擬硬盤容量了。有人說這個有什么用?當然,實驗室情況下,我們完全可以停機,然后修改其大小,如果在生產環境呢?你能設想一組正在渲染3D圖形的虛擬機,硬盤空間突然不夠的情形么?
要實現Hyper-V在線調整虛擬硬盤的大小這個功能,至少要符合兩個條件:
1、虛擬硬盤的格式一定得是VHDX。2、這個VHDX虛擬硬盤一定得掛載到SCSI控制器上。掛載到IDE控制器上的VHDX虛擬硬盤無法在線調整大小:

掛載到SCSI控制器上的VHD虛擬硬盤也無法在線調整大小,只能進行壓縮:

只有掛載在SCSI控制器上的VHDX虛擬硬盤才可以在線調整大小。

收縮虛擬硬盤:在什么情況下來收縮虛擬硬盤呢?一種情況是,在物理硬盤空間不夠時,我們用收縮固定大小的虛擬硬盤空間來增大物理硬盤,另一種情況是,當我們第一次創建一個新的默認大小的動態虛擬硬盤,需要轉換為固定虛擬硬盤時占用物理硬盤容量大,花費時間長,一般要進行收縮操作。
1、先在虛擬機里對虛擬硬盤進行壓縮:

輸入壓縮空間量:是騰出來的空間,壓縮后的總計大小:是虛擬硬盤剩余的容量。

騰出來的空間用來收縮:

2、進行收縮:


如果不做第一步,就不會有收縮按鈕:

輸入收縮的大小:

我發現,收縮只能以GB為單位,總能剩余一小部分空間:

我們可以用擴展卷的方式,重新分配給虛擬硬盤:

擴展虛擬硬盤:


輸入擴展的大小:這個容量是虛擬硬盤的總容量。下圖:32+48=80,也就是擴展的容量為48G。


用擴展卷向導進行擴展:

擴展后的容量:

當然,我們也可以用PowerShell來實現這個功能,這些命令在Server 2008的PowerShell里就有的,只不過不能在線調整,而在Server 2012 R2里,可以實現在線調整虛擬硬盤的大小了。
本文出自 “老丁的技術博客” 博客,轉載請與作者聯系!原文鏈接:http://dinghuqiang.blog.51cto.com/19871/1306258#559183-tsina-1-71533-ed0973a0c870156ed15f06a6573c8bf0