使用 esxcli storage vmfs unmap 命令在精簡置備的 LUN 上回收 VMFS 刪除的塊


 

官方原文鏈接: https://kb.vmware.com/s/article/2057513?lang=zh_CN

 

本文介紹如何通過運行 esxcli storage vmfs unmap 命令回收精簡置備設備的 VMFS 數據存儲上的未用存儲塊。

場景:

  假如后端存儲采用划分的卷采用瘦模式划分了30T,在存儲管理控制台上面看到的已用了18T,但在vCenter管理控制台看到,只用了8T。

  原因是以前vmware有用到18T,因為存儲采用瘦模式划分卷,所以存儲不會自動收縮,需要用vmware的命令去執行,本文有詳細講解。

 

1. Purpose

vSphere 5.5 在 esxcli 命名空間中引入了一個新的命令,允許在支持 VAAI UNMAP 原語的精簡置備 LUN 上回收刪除的塊。

該命令可以在沒有任何維護窗口的情況下運行,並增強了回收機制,如下:
  • 可以用塊數而非百分比值來指定回收大小,以便計算起來更直觀。
  • 回收無效空間時采用遞增方式而不是一次全部回收,從而避免可能出現的性能問題。

隨着 62 TB VMDK 的引入,現在 UNMAP 可以處理更大的無效空間區域。但是 UNMAP 操作仍是手動方式。這意味着 VMFS 上的 Storage vMotion 或快照整合任務不自動回收陣列 LUN 中的空間。

 

注意:ESXi 5.5 已棄用 vmkfstools -y 命令。有關如何在 vSphere 5.0 和 5.1 中回收空間的更多信息,請參見 Using vmkfstools to reclaim VMFS deleted blocks on thin-provisioned LUNs (2014849)

 

2. Resolution

注意:如果您是在 ESXi 6.5 中使用 VMFS6,則此文檔不適用。

要回收精簡置設備的 VMFS 數據存儲上的未用存儲塊,可運行以下命令:

# esxcli storage vmfs unmap --volume-label=volume_label|--volume-uuid=volume_uuid --reclaim-unit=number
 

該命令采用以下選項:

  • -l|--volume-label=volume_label

    UNMAP 的 VMFS 卷的標簽。該參數是必需項。如果指定該參數,則不要使用 -u|--volume-uuid=volume_uuid
     
  • -u|--volume-uuid=volume_uuid

    UNMAP 的 VMFS 卷的 UUID。該參數是必需項。如果指定該參數,則不要使用 -l|--volume-label=volume_label
     
  • -n|--reclaim-unit=number

    每次迭代 UNMAP 的 VMFS 塊數。該參數為可選項。如果未指定此參數,則該命令使用默認值 200。

例如,對於名稱為 MyDatastore,UUID 為 509a9f1f-4ffb6678-f1db-001ec9ab780e 的 VMFS 卷,運行以下命令:


# esxcli storage vmfs unmap -l MyDatastore

或者

# esxcli storage vmfs unmap -u 509a9f1f-4ffb6678-f1db-001ec9ab780e
 
注意:
  • -n number 或 --reclaim-unit=number 參數的默認值 200 適合大多數環境,但有些陣列供應商可能會根據陣列處理 SCSI UNMAP 命令的方式建議更大或更小的值。
     
  • 與以前的 vmkfstools -y 方法相似,esxcli storage vmfs unmap 命令在數據存儲的最高級別創建臨時隱藏文件,但名稱使用 .asyncUnmapFile 模式。默認情況下,臨時文件的空間保留取決於基礎 VMFS 文件系統的塊大小(默認值為 --reclaim-unit=200):
     根據使用情況,管理員可以選擇不同的 --reclaim-unit 值,例如,如果認為保留大小太大或者當卸載到陣列時存在 UNMAP 原語可能無法及時完成的危險。有關手動定義 --reclaim-unit 值的最佳值或最佳做法,VMware 建議 vSphere 管理員咨詢存儲陣列提供商。
    • 1 MB 塊 VMFS3 / VMFS5 為 200 MB
    • 4 MB 塊 VMFS3 為 800 MB
    • 8 MB 塊 VMFS3 為 1,600 MB

  •  
  • 如果 UNMAP 操作中斷(例如由於按下 CTRL-C),可能會在 VMFS 數據存儲的根位置留下臨時文件。但當針對數據存儲再次運行該命令時,如果該命令成功完成,臨時文件將被刪除。.asyncUnmapFile 的增長始終不會超出 --reclaim-unit 大小。
     
  • 如果由於升級 VMFS3 文件系統或使用第三方工具重新對卷進行分區造成卷分區表和/或塊調整錯誤,則 UNMAP 操作在不執行任何動作的情況下就可能結束,或者失敗。請參見 Thin Provisioning Block Space Reclamation (VAAI UNMAP) does not work (2048466)
  • 如果 UNMAP 操作失敗,並且出現關於鎖定文件或資源繁忙的錯誤,請參見:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM