在 ESXi 或 vCenter 裡卸載 VMFS datastore,看到 Reason: Busy,通常不是 datastore 壞掉,而是還有東西在用它。
這種情況我不會一開始就重開 ESXi。先把佔用來源找出來,通常比硬切儲存路徑安全很多。
先確認還有沒有 VM 在上面
先看 datastore 裡是否還有已註冊或未註冊的 VM。不要只看 vCenter 清單,有些 VM 可能已經 orphaned,檔案還留在 datastore。
vim-cmd vmsvc/getallvms
find /vmfs/volumes/DATASTORE_NAME -name "*.vmx"
檢查 ISO、floppy、template
很多 Reason: Busy 是因為 VM 的 CD/DVD 還掛著 datastore 裡的 ISO。這種最容易忽略,尤其是安裝完系統後沒斷開 ISO。
檢查 scratch 和 syslog
ESXi 的 scratch、syslog 如果指到這個 datastore,卸載一定會被擋。
esxcli system settings advanced list -o /ScratchConfig/ConfiguredScratchLocation
esxcli system syslog config get
HA datastore heartbeat 也要看
叢集開了 HA 時,vSphere 可能把這個 datastore 當 heartbeat datastore。先在叢集 HA 設定裡移除或換到其他 datastore,再回來卸載。
最後再看鎖定
如果前面都排除,再看是否有主機或程序鎖住檔案。這時候可以從 ESXi shell 檢查 VMFS volume 下的開啟檔案與 vmkernel/hostd log。
原文參考:無法卸載 VMFS 數據存儲,提示 Reason: Busy。這篇是繁體整理版,偏向台灣管理員日常排查用語。

