从 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 存储部分(配置 -> 存储)中的刷新按钮或单击重新扫描存储。
