[VMware] Reclaim disk space Datastore & VM

若虛擬機器空間使用所謂 ‘ Thin Provisioned ‘ 常會遇到當初劃分500GB空間時,則是慢慢增長加大。當然對該虛擬機器的.vmdk也是正向增長。但會遇到一個問題是明明OS層佔用空間已達400GB時另外刪了將近200GB,卻發現.vmdk還是未減少。這是因為未將OS層作所謂空間回收(Reclaim)動作.

Resolution:

@OS level
[Windows] 下載 SDelete工具
01. cmd.exe
02. sdelete.exe -c –z [driver-letter]
PS:
-c > Clean free space. Specify an option amount of space to leave free for use by a running system.
z > Zero free space (good for virtual disk optimization)

利用vmwar-tools 工具需以administrator最高權限才能執行
01. “C:\Program Files\VMware\VMware Tools\VMwareToolboxCmd.exe" disk shrink c:\ d:\
[Linux]
利用vmwar-tools 工具需以root最高權限才能執行
# vmware-toolbox-cmd disk shrink {mount-point}
-RedHat series
# dd if=/dev/zero of=/[mounted-volume]/zeroes && rm -f /[mounted-volume]/zeroes

# sudo dd if=/dev/zero of=zero.file ; rm -f zero.dat

# cat /dev/zero > zero.dat; rm -f zero.dat

若是VMware Workstation
–GUI–
Disk Utilities > Compact

–CLI–先重組後壓縮

“C:\Program Files\VMware\VMware Workstation\vmware-vdiskmanager.exe" -r  -k D:\VM\test.vmdk -t 0 D:\VM\test-shrink.vmdk // PS: -r 重組 ; -k shrink

@Host level
PS: 可以online
最後在datastore再作個動作即達到整體瘦身囉
* 利用vMotion datastore 轉換過程為 ‘ Thin Provisioned

PS: 需關機才能作動
* ssh esxi
# vmkfstools -K /vmfs/volumes/{datastore-name}/{vm}/{vm}.vmdk

 

@針對LUN是Thin provisioning的話

check#1. esxcli storage core device vaai status get -d {naa.xxxxxxxxxxxxxxxxxxxxxxx} // 查看 Zero Status: support
check#2. esxcli storage core device list -d {naa.xxxxxxxxxxxxxxxxxxxxxxxx} // 查看Thin Provisioning Status:support

ESXi 5.0前用 vmkfstools -y

ESXi5.1~後用 esxcli storage vmfs unmap –volume-label=volume_label | –volume-uuid=volume_uuid (–reclaim-unit=number)
*sample*
# esxcli storage vmfs extent list

# esxcli storage vmfs unmap –volume-label=VM_Datastore
Devices backing volume 560e3db4-a6c9df25-6756-e41f132d2b98 do not support UNMAP
以上來看不支援此storage ;因為在check#1 得知它可能不是thin provisioning format


Reference:

  1. Master Dragon 的 Wiki – VMware Virtual Disk Shrink 將vmdk檔案縮小
  2. D R Y ! -geek~ VMWare 回收磁盘空间
  3. Black Manticore – Reclaim disk space from thin provisioned VMDK files in ESX
  4. vswitchzero – Using SDelete and vmkfstools to Reclaim Thin VMDK Space
  5. VMware Docs – 壓縮虛擬磁碟
  6. How to reclaim VMFS deleted blocks on thin-provisioned LUNs (2014849)
  7. sysadmintutorials.com – How to Reclaim Free Block Space from a Lun with VMware vSphere 5.5 and Netapp Cluster Mode

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google photo

您的留言將使用 Google 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s