Hyper-v-Server-2008-R2

Hyper-V 無法壓縮 VHD 的可能原因是什麼?

  • November 2, 2019

我在執行 Hyper-V Server 2008 R2 的主機上託管多個虛擬機。這些磁碟最初是在大約 16 個月前在另一台伺服器(2008 年,而不是 R2)上配置的,並在一年前遷移到這台伺服器上。大多數來賓執行的是 Windows 7。

最近,我將 VHD 大小與來賓報告的已用空間進行比較,發現有幾台機器的 VHD 文件比實際需要的大 50-100%。所以我決定嘗試壓縮 VHD 文件以釋放主機空間。我按照我在網際網路上找到的說明進行操作,大致如下:

  1. 在客戶機中執行 CHKDSK
  2. 在客戶機中執行碎片整理(Windows 內置碎片整理)
  3. 關閉客人
  4. 在 Hyper-V 管理器中打開“編輯磁碟…”工具
  5. 選擇感興趣的 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

引用自:https://serverfault.com/questions/358610