close

〈本文同步刊載於Blogger〉
狸貓先生愛廢話講堂: VMware 小技巧 - 縮小 Workstation 的虛擬機 Virtual Disk 來釋放磁碟空間

VMware Workstation 可以安裝在 Windows 或 Linux 上,可用來建立各種作業系統的 Guest OS ,做 Lab 使用非常方便,從以前到現在的版本 14.1,一路走來應該超過 15 年有囉,算是相當老牌且執行穩定的虛擬軟體。

在使用 VMware Workstation 在 New Virtual Machine 新建虛擬機時,如果是選擇 Custom (advanced),在過程中精靈會詢問 Virtual Disk 的建立格式:

Virtual Disk 選項說明:
(勾選) v Allocate all disk space now.:建立為 Thick Virtual Disk,建立速度較慢,需等待數十秒至數分鐘的建立時間。
(不勾) □ Allocate all disk space now.:建立為 Thin Virtual Disk,建立速度較快,不需等待。

Thick Virtual Disk:會一開始就取得 disk size 的磁碟空間,設定的數字是多少,就佔多大的磁碟空間。
Thin Virtual Disk:一開始先不取得磁碟空間,待 Guest OS 真的要放入資料時再向 Host 要求磁碟空間。
因為 Workstation 上的環境多半為測試性質,不需要太好的寫入效能,通常建議採用 Thin Virtual Disk 會比較恰當,可節省磁碟空間,也可以用來建立較多個 VM 及 Virtual Disk。

Store virtual disk as single file:存為單一個 VMDK。
Split virtual disk into multiple files:存成多個 VMDK,每個檔案最大為 2GB,寫滿 2GB 之後再產生一個新檔案繼續寫入。這個選項當初應該是為了 FAT32 檔案格式,單檔無法超過 2GB 而生,不過在 Win7 之後普遍是採用 NTFS 或 exFAT 格式,FAT32 已經較少使用,而且對於空間較大的磁碟,Win7 在格式化選項也會把 FAT32 藏起來,所以現在比較少會遇到這個問題。

今天來討論的是如何善用磁碟空間,讓你可以在有限空間內,建立更多個 Virtual Machine。主要是針對 Thin Virtual Disk 才會有壓縮 (Compact) 或清理 (Clean Up) 功能,Thick Virtual Disk 並不提供,因此 Thick 種類不在此次討論內。

Virtual Disk 狀態說明:
Current size:目前佔用的實際容量。
System free:存放此VM及虛擬硬碟的磁碟可用空間。
Maximum size:可存放的最大容量,也就是在建立虛擬硬碟時指定的容量。

Thin Virtual Disk 的特性,是在 Guest OS 寫入資料時,才會真實佔用 Host 的磁碟空間,但在 Guest OS 刪除資料時,並不會自動歸還 Host 的磁碟空間。所以我們的目的,就是縮小 Virtual Disk 的 Current size,讓它與 Guest OS 內存放的真實資料容量接近,以節省 Host 不必要的磁碟空間消耗。

要釋放 Thin Virtual Disk 佔用的磁碟空間有兩種方法,注意虛擬機必須是 Power Off 狀態:
(1) Defragment (重組虛擬硬碟) >>> Compact (壓縮虛擬硬碟)。
(2) VM >>> Manage >>> Clean Up Disks...,會提供使用空間 (used by this VM)及可回收空間 (Reclaimable space)資訊,確定要做按下 Clean Up now 就會開始進行。
[註1] 方法(2) 只適用 Windows Guest OS,且需安裝 VMware Tools。
[註2] 在更久之前的版本 (before VMW 8.x),VM 要在 Power On 狀態,先在 Guest OS 內做磁碟重整後,再利用 VMware Tools 來進行 Shrink disk,但這個舊方法已被淘汰,而且通常只有 Windows 才有提供磁碟重組工具。

方法(1) Defragment → Compact:

方法(2) Windows Guest OS 做 Clean Up Disks:

方法(2) Linux Guest OS 沒有 Clean Up Disks 功能:

Clean Up Disks 是在 VMware Workstation 9 之後的新功能,包括 VMware Fusion 及 VMware Player 也有提供,幾個原因推薦大家使用:
(1) 提供預估可回收空間 (Reclaimable space)這點我覺得很貼心,可以讓你判斷效果後再決定是否要做。
(2) Clean Up Disks 的壓榨效果會比 Compact & Shrink 更好,而且連同 Snapshots 也會一併壓榨。
(3) Clean Up Disks 可直接對現有 VMDK 進行處理,不需要額外磁碟空間做 Virtual Disk 的搬移運作。
(4) 稍嫌可惜的是僅適用於 Windows Guest OS。
(詳細可看<<參考資料>>的 VMware Documentatoin 說明)

 

<<參考資料>>
Clean Up a Virtual Hard Disk on Windows Hosts - VMware Workstation Documentation Center

How to Shrink a VMware Virtual Machine and Free Up Disk Space

幫 VMware 9 磁碟檔減肥 & 阿伯ㄚ的部落格 - lan14 # 天空部落 TIAN #

Defragmenting and shrinking VMware Workstation virtual machine disks (2019649)

Reduce the Size of Virtual Machine Disk in VMware Workstation

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 狸貓先生 的頭像
    狸貓先生

    狸貓先生愛廢話講堂

    狸貓先生 發表在 痞客邦 留言(0) 人氣()