簡介
本文檔介紹有關如何回收位於HyperFlex上的精簡調配虛擬機器(VM)中的空間的選項。
需求
本檔案沒有特定需求
採用元件
本文檔中的示例已在VMware vSphere虛擬機器監控程式(ESXi)6.5上驗證。
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
問題:
HyperFlex沒有回收已釋放的精簡資源調配虛擬機器中的空間的機制。精簡資源調配允許虛擬磁碟按需增長。與粗配置相比,這可以更有效地利用儲存系統的空間。刪除精簡配置虛擬驅動器上的檔案時,不會自動減小磁碟大小。原因是作業系統僅從檔案系統表中刪除索引。這將導致檔案快速刪除,但不會回收空間。
解決方案:
在HyperFlex群集上的Microsoft Windows虛擬機器中回收空間
本節提供了一些有關如何回收精簡配置的虛擬驅動器上的空間的選項。這些工具將您刪除的資料塊歸零。在執行清空塊的任何操作之前,請確保有備份。此外,請確保在VM上沒有完成上述步驟的先前快照。其中包括SENTINEL快照。刪除SENTINEL快照會在較長的一段時間內對VM造成影響。您可以選擇在刪除所有快照之前關閉VM,以便不關閉VM。
有關VMware和快照管理的其他資訊包含在以下文章中:
快照刪除可能會長時間停止虛擬機器
在vSphere環境中使用快照的最佳做法
在Microsoft Windows虛擬機器上回收精簡調配磁碟上的空間
SDelete是Microsoft Sysinternals Suite的一個免費實用程式,用於回收空間。
注意:SDelete -z導致虛擬機器作業系統使用最多100%的可用空間磁碟,而空閒空間為零。這導致資料儲存上的已用空間臨時增加。
如果您遇到ENOSPC情況或具有只讀模式的Hyperflex群集,請注意這一點,因為這有可能適得其反。也就是說,如果一個或多個VMDK使用率增加至100%(由於SDelete),表示所使用的Hyperflex總體群集儲存容量大幅增加,則必須謹慎使用
此螢幕截圖顯示了運行SDelete之前的VM VMDK端:
![image-1](/c/dam/en/us/support/docs/hyperconverged-infrastructure/hyperflex-hx-data-platform/215031-reclaim-space-within-a-vm-on-a-hyperflex-00.png)
將SDelete下載到目標VM後,解壓縮檔案。
![image-2](/c/dam/en/us/support/docs/hyperconverged-infrastructure/hyperflex-hx-data-platform/215031-reclaim-space-within-a-vm-on-a-hyperflex-01.png)
輸入cmd以開啟命令提示符應用程式。按一下右鍵並選擇以管理員身份運行。
![image-3](/c/dam/en/us/support/docs/hyperconverged-infrastructure/hyperflex-hx-data-platform/215031-reclaim-space-within-a-vm-on-a-hyperflex-02.png)
導航到解壓縮SDelete的目錄。
![image-4](/c/dam/en/us/support/docs/hyperconverged-infrastructure/hyperflex-hx-data-platform/215031-reclaim-space-within-a-vm-on-a-hyperflex-03.png)
輸入sdelete.exe -z <drive letter>: 命令,然後按一下Agree。
![image-5](/c/dam/en/us/support/docs/hyperconverged-infrastructure/hyperflex-hx-data-platform/215031-reclaim-space-within-a-vm-on-a-hyperflex-04.png)
![image-6](/c/dam/en/us/support/docs/hyperconverged-infrastructure/hyperflex-hx-data-platform/215031-reclaim-space-within-a-vm-on-a-hyperflex-05.png)
![image-7](/c/dam/en/us/support/docs/hyperconverged-infrastructure/hyperflex-hx-data-platform/215031-reclaim-space-within-a-vm-on-a-hyperflex-06.png)
![image-8](/c/dam/en/us/support/docs/hyperconverged-infrastructure/hyperflex-hx-data-platform/215031-reclaim-space-within-a-vm-on-a-hyperflex-07.png)
![image-9](/c/dam/en/us/support/docs/hyperconverged-infrastructure/hyperflex-hx-data-platform/215031-reclaim-space-within-a-vm-on-a-hyperflex-08.png)
此螢幕截圖顯示SDelete操作之後的VM VMDK大小:
![image-10](/c/dam/en/us/support/docs/hyperconverged-infrastructure/hyperflex-hx-data-platform/215031-reclaim-space-within-a-vm-on-a-hyperflex-09.png)
在HyperFlex群集上的Linux虛擬機器中回收空間
可以使用dd實用程式清空已刪除資料所在區域。輸入df -h以檢查Linux作業系統上的可用空間。
![image-11](/c/dam/en/us/support/docs/hyperconverged-infrastructure/hyperflex-hx-data-platform/215031-reclaim-space-within-a-vm-on-a-hyperflex-10.png)
輸入dd bs=1M count=90112 if=/dev/zero of=zero命令以清空空格。
![image-12](/c/dam/en/us/support/docs/hyperconverged-infrastructure/hyperflex-hx-data-platform/215031-reclaim-space-within-a-vm-on-a-hyperflex-11.png)
此命令清空90GB的空間。修改此命令以適合您的使用案例。
命令輸入細分:
bs是使用的塊大小
count是塊的數量
如果是輸入檔案
的是輸出檔案
完成後,VMDK檔案將增大。
![image-13](/c/dam/en/us/support/docs/hyperconverged-infrastructure/hyperflex-hx-data-platform/215031-reclaim-space-within-a-vm-on-a-hyperflex-12.png)
此螢幕截圖顯示vCenter中VMDK的大小:
![image-14](/c/dam/en/us/support/docs/hyperconverged-infrastructure/hyperflex-hx-data-platform/215031-reclaim-space-within-a-vm-on-a-hyperflex-13.png)
要回收空間,請輸入rm zero命令:
/$ sudo rm zero
[sudo] password for user: <---Enter password for user
![image-15](/c/dam/en/us/support/docs/hyperconverged-infrastructure/hyperflex-hx-data-platform/215031-reclaim-space-within-a-vm-on-a-hyperflex-14.png)
在此螢幕截圖中顯示刪除零個檔案後vCenter中的VM VMDK大小。
![image-16](/c/dam/en/us/support/docs/hyperconverged-infrastructure/hyperflex-hx-data-platform/215031-reclaim-space-within-a-vm-on-a-hyperflex-15.png)
相關資訊