vmdk 檔案已不再被虛擬主機使用, 可以搬移、更名但無法刪除; 刪除檔案時發生錯誤: Device or resource busy
環境: VMware vSphere 6.0.0
解決方式: console 操作或 ssh 登入 ESXi 主機, 依序執行以下步驟
Step 1. 找出鎖定者的 Mac Address
# vmkfstools -D /vmfs/volumns/UUID/file.vmdk
Lock [type 10c00001 offset 332765184 v 483, hb offset 4100096
gen 617, mode 1, owner 57352a65-0ab83738-1be0-000102030405 mtime 1255274
num 0 gblnum 0 gblgen 0 gblbrk 0]
Addr <4, 605, 171>, gen 436, links 1, type reg, flags 0, uid 0, gid 0, mode 600
Step 2. 逐一比對 ESXi 主機網卡的 Mac Address, 除最後兩碼之外其餘皆相同者即為檔案鎖定者
- vSphere Client 方式: 於 Hosts and Clusters 模式依序點擊 ESXi 主機 → Configuration → Network Adapters
- vSphere Web Client 方式: 於 Hosts and Clusters 模式依序點擊 ESXi 主機 → Manage → Networking → Physical adapters
- 指令方式: # esxcfg-nics -l
Step 3. 將檔案鎖定者 (ESXi 主機) 身上的虛擬主機 vMotion 到其他主機, 進入 Maintenance Mode, 然後 Reboot
Step 4. 在檔案鎖定者 Reboot 的同時, 即可於 vCenter Server 或其他運作中的 ESXi 主機刪除 vmdk 檔案
Ref: