從 VMware ESXi 卸載 NFS 數據存儲
NFS 存儲可在 VMware 基礎架構中用於存儲虛擬機文件、磁盤映像和其他文件。在本文中,我們將了解如何從 VMware ESXi 卸載 NFS 數據存儲,以及在嘗試卸載 NFS 共享時發生錯誤或 NFS 存儲變為非活動狀態時該怎麼辦。
內容:
要卸載 ESXi 主機上的 NFS 存儲,只需在 vSphere Client 控制台中右鍵單擊它,然後選擇卸載數據存儲。列表中將顯示裝載此 NFS 共享的 ESXi 主機的列表。
您必須卸載所有 ESXi 主機上的 NFS 存儲才能使其在 vSphere 界面中消失。

在以下情況下,ESXi 主機可以卸載 NFS 存儲:
- NFS 卷上沒有正在運行或已註冊的虛擬機。您需要關閉虛擬機或使用 Storage vMotion 將它們移動到另一個數據存儲;
- 數據存儲上沒有掛載在其他虛擬機中的快照、ISO 映像或虛擬磁盤 (VMDK);
- 數據存儲不受 Storage DRS 管理,並且不是數據存儲集群的一部分;
- vSphere HA 心跳不使用存儲;
- 數據存儲的存儲 I/O 控制已禁用;
- 在 ESXi 主機的高級系統設置中,驗證 NFS 數據存儲未用於存儲日誌或交換文件(檢查
global.logDir和ScratchConfig.CurrentScratchLocation配置 -> 高級系統設置 -> 編輯下的選項;
如果不滿足以下條件之一,卸載 NFS 存儲時將會出現錯誤:
The "remove datastore" operation failed. The resource 'nfs_datastore' is in use.
了解有關在 ESXi 中刪除數據存儲時出現的“資源正在使用中”錯誤的更多信息。
或者:
Cannot remove datastore 'nfs_datastore' because system swap is enabled on it.
刪除 VMware ESXi 主機上不活動的 NFS 數據存儲
如果 NFS 共享在 ESXi 上卸載之前已在 NFS 服務器端禁用,或者 NFS 卷上仍有虛擬機正在運行,則當您嘗試從 vSphere Client 界面卸載 NFS 數據存儲時,會出現錯誤:
Error performing operation: NFS Error: Unable to Unmount filesystem: Busy
或者:
The object ‘vim.Datastore:ds:///vmfs/volumes/NFS_Store1/’ has already been deleted or has not been completely created


檢查是否啟用了允許訪問默認端口 TCP/2049 上的 NFS 共享的 ESXi 防火牆規則。 :
$ esxcli network firewall ruleset set --ruleset-id nfs41Client --enabled=true
$ esxcli network firewall ruleset set --ruleset-id nfsClient --enabled=true
如果 NFS 存儲不可用,則該存儲在 vSphere 界面的主機存儲列表中將變為非活動狀態(灰顯)。就我而言,當我嘗試從 ESXi 主機配置中刪除不活動的 NFS 卷時發生錯誤:
The resource datastore_nfs02 is in use. Call “HostDatastoreSystem.RemoveDatastore” form object “datastoreSystem-28″ on vCenter Server “xxxx” failed. CannotRemove datastore ‘datastore_name’ because Storage I/O control is enabled on it. Correct it and re-try the operation.
根據錯誤,由於啟用了存儲 I/O 控制 (SIOC),因此無法刪除 NFS 存儲。禁用數據存儲的存儲 I/O 控制時會出現另一個錯誤:
Datastore is not accessible


解決方案:
為了從 ESXi 主機中正確刪除不活動的 NFS 存儲,您需要使用 SSH 連接到 ESXi 主機服務器的控制台(如何在 VMware ESXi 上啟用 SSH)。
查看 VMware ESXi 主機上可用的 NFS 卷的列表:
# esxcli storage nfs list


如果需要,您可以查看有關 NFS 存儲的詳細信息:
# vim-cmd hostsvc/datastore/info datastore_nfs02
要從 ESXi 主機卸載 NFS 卷,請運行以下命令:
# esxcli storage nfs remove –v datastore_nfs02
筆記。如果 NFS 數據存儲名稱包含空格,則必須將其括在引號中。
![]()
![]()
筆記。必須在要刪除非活動 NFS 共享的每個 ESXi 主機上執行此操作。
如果未從 vSphere Client 中刪除 NFS 數據存儲,請單擊 ESXi 存儲部分(配置 -> 存儲)中的刷新按鈕或單擊重新掃描存儲。
