none
關於Windows Server 2016的hyper-v server問題 RRS feed

  • 問題

  • 關於Windows Server 2016的hyper-v server問題

    我用了動態擴充的vhdx,發現vhdx只會增大不會縮小 在2012 R2沒有此問題

    使用壓縮vhdx亦沒有任何效果 請問如何能解決?

    2017年3月13日 上午 03:49

解答

  • 沒錯,自從Server 2012開始,Windows導入了TRIM/UNAMP等指定。
    理論上當動態的VHD,VHDX使用量變少時,GuestOS會送出UNAMP指令。
    HOST收到後便會自動縮減檔案大小。

    但是這需要軟硬體與閒置時間的配合才可以完全達成自動縮減。
    不過即使無法自動縮減,我們還是可以透過PowerShell達成手動縮減的目的。

    在GUEST OS中使用Power Shell輸入以下指令
    PS C:\> Optimize-Volume -DriveLetter C -ReTrim -Verbose
    -DriveLetter C便是指定要縮減C。
    執行後會顯示Invoking retrim on Disk C:
    等到retim 100% complete後會顯示 Free Space, 之後關機後便可以發現該VHDX檔案已經變小了!



    2017年3月13日 下午 01:41

所有回覆

  • 一直以來,"動態擴充" 類型的虛擬硬碟檔案,如同名稱字面上意思般的會隨著虛擬機器運作後,而逐漸的增大,在哪一版的Hyper-V都是這樣的,沒有改變喔

    不清楚你所謂的問題在哪,可否更詳細的敘述一下呢

    2017年3月13日 上午 10:24
  • 沒錯,自從Server 2012開始,Windows導入了TRIM/UNAMP等指定。
    理論上當動態的VHD,VHDX使用量變少時,GuestOS會送出UNAMP指令。
    HOST收到後便會自動縮減檔案大小。

    但是這需要軟硬體與閒置時間的配合才可以完全達成自動縮減。
    不過即使無法自動縮減,我們還是可以透過PowerShell達成手動縮減的目的。

    在GUEST OS中使用Power Shell輸入以下指令
    PS C:\> Optimize-Volume -DriveLetter C -ReTrim -Verbose
    -DriveLetter C便是指定要縮減C。
    執行後會顯示Invoking retrim on Disk C:
    等到retim 100% complete後會顯示 Free Space, 之後關機後便可以發現該VHDX檔案已經變小了!



    2017年3月13日 下午 01:41
  • 請問Guest OS是Windows 7又應該如何處理?
    因為無法辨識Optimize-Volume指令。
    2017年3月14日 上午 12:33
  • 您好

    參考一下此連結看看有沒有幫助

    http://blog.pmail.idv.tw/?p=9127

    2017年3月16日 下午 12:16