Hyper-v-Server-2008-R2
Hyper-V 無法壓縮 VHD 的可能原因是什麼?
我在執行 Hyper-V Server 2008 R2 的主機上託管多個虛擬機。這些磁碟最初是在大約 16 個月前在另一台伺服器(2008 年,而不是 R2)上配置的,並在一年前遷移到這台伺服器上。大多數來賓執行的是 Windows 7。
最近,我將 VHD 大小與來賓報告的已用空間進行比較,發現有幾台機器的 VHD 文件比實際需要的大 50-100%。所以我決定嘗試壓縮 VHD 文件以釋放主機空間。我按照我在網際網路上找到的說明進行操作,大致如下:
- 在客戶機中執行 CHKDSK
- 在客戶機中執行碎片整理(Windows 內置碎片整理)
- 關閉客人
- 在 Hyper-V 管理器中打開“編輯磁碟…”工具
- 選擇感興趣的 VHD 並選擇壓縮它
我第一次嘗試這個時,它完美地工作並將我的 VHD 的大小減少了大約 50%。但是對於所有其他客人的磁碟,我收到以下錯誤消息:
The server encountered an error trying to edit the virtual disk. 'The system failed to compact 'C:\example.vhd'. Error Code: The requested operation could not be completed due to a file system limitation
沒有客人啟用 NTFS 壓縮。這些磁碟沒有快照。還有什麼可能導致此錯誤?
編輯:任何描述自動檢查動態 VHD 大小的解決方案的人都可以獲得獎勵積分。
從來賓中刪除卷影副本。那會做到的!
vssadmin delete shadows /all
為了網際網路搜尋整合:最終發現此連結是一種在 HyperV 緊湊型不起作用時有效的方法: https ://fiddley.wordpress.com/2014/01/27/dynamically-expanding-vhd-not-compacting-在-hyper-v/
在管理命令提示符下,執行
DISKPART
在 DISKPART 命令提示符處
select vdisk File=”I:\path\to\your.vhd” attach vdisk readonly compact vdisk detach vdisk