【ESXI】断电重启后NFS存储无法识别的修复方案

【ESXI】处理一次断电恢复后,ESXI无法识别NFS存储的问题

问题描述

环境版本:ESXI 7.0.3

当ESXI主机配置了外置NFS存储时,如果发生断电后恢复,可能会出现以下问题:

  • ESXI先于NFS存储启动,导致ESXI无法识别NFS存储
  • NFS存储启动后,ESXI不会自动恢复连接
  • 安装在NFS上的虚拟机名称显示异常,全部显示为UUID

解决方案

⚠️ 操作前提醒

重要:在执行以下维护操作前,请不要在ESXI管理页面上操作虚拟机,因为此时所有任务都会挂起,导致后续操作无法进行。

优势:该方案无需重启ESXI主机,不会影响运行中的虚拟机,实现不停机维护。


操作步骤

第一步:检查当前存储文件系统状态

使用以下命令查看存储文件系统列表:

bash 复制代码
[root@m920x:~] esxcli storage filesystem list

预期输出示例

bash 复制代码
Mount Point Volume Name UUID Mounted Type Size Free
------------------------------------------------- ------------------------------------------ ----------------------------------- ------- ------ ------------ ------------
tos-nfs false NFS41 0 0
/vmfs/volumes/66302623-ef47d3de-09d4-e86a64bfb37c datastore1 66302623-ef47d3de-09d4-e86a64bfb37c true VMFS-6 886642311168 67703406592
/vmfs/volumes/66302623-e3d951f8-ea84-e86a64bfb37c OSDATA-66302623-e3d951f8-ea84-e86a64bfb37c 66302623-e3d951f8-ea84-e86a64bfb37c true VFFS 128580583424 124903227392
/vmfs/volumes/0a5ca73d-ae484a0a-aeaa-c8fb20657c5b BOOTBANK1 0a5ca73d-ae484a0a-aeaa-c8fb20657c5b true vfat 4293591040 4079943680
/vmfs/volumes/dfb9b6bd-01410a6b-b1af-6cdb56608b99 BOOTBANK2 dfb9b6bd-01410a6b-b1af-6cdb56608b99 true vfat 4293591040 4079550464

关键观察点 :可以看到 tos-nfs 存储的 Mounted 状态为 false,说明该NFS存储未成功挂载。


第二步:查询NFS挂载信息

查看NFS挂载列表,确认对应卷名的IP地址和共享目录:

bash 复制代码
[root@m920x:~] esxcli storage nfs list
[root@m920x:~] esxcli storage nfs41 list

预期输出示例

bash 复制代码
Volume Name Host(s) Share Accessible Mounted Read-Only Security isPE Hardware Acceleration
----------- --------------- ---------------- ---------- ------- --------- -------- ----- ---------------------
tos-nfs 192.168.1.172 /Volume1/nfsfile false false false AUTH_SYS false Unknown

记录以下信息,后续步骤需要使用:

  • Volume Name: tos-nfs
  • Host: 192.168.1.172
  • Share: /Volume1/nfsfile

第三步:验证NFS服务器连通性

在执行移除和重新添加操作前,先确认NFS服务器网络可达:

bash 复制代码
[root@m920x:~] vmkping 192.168.1.172

预期输出示例

bash 复制代码
PING 192.168.1.172 (192.168.1.172): 56 data bytes
64 bytes from 192.168.1.172: icmp_seq=0 ttl=64 time=0.661 ms
64 bytes from 192.168.1.172: icmp_seq=1 ttl=64 time=0.328 ms
64 bytes from 192.168.1.172: icmp_seq=2 ttl=64 time=0.319 ms
--- 192.168.1.172 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 0.319/0.436/0.661 ms

确认标准:网络正常,ping测试成功,无丢包。


第四步:移除当前的NFS服务器配置

使用以下命令移除现有的NFS挂载:

bash 复制代码
[root@m920x:~] esxcli storage nfs41 remove -v tos-nfs

说明-v 参数指定要移除的卷名(Volume Name),即第二步中记录的 tos-nfs


第五步:重新添加NFS服务器

使用以下命令重新添加NFS存储:

bash 复制代码
[root@m920x:~] esxcli storage nfs41 add -H 192.168.1.172 -s /Volume1/nfsfile -v tos-nfs

参数说明

  • -H:NFS服务器的主机IP地址
  • -s:NFS共享目录路径
  • -v:卷名(Volume Name)

注意:如果之前配置了用户名密码认证,只要密码未更改,无需再次输入认证信息,因为验证方式已经保存。


第六步:验证恢复结果

6.1 检查NFS挂载状态

bash 复制代码
[root@m920x:~] esxcli storage nfs41 list

预期输出示例

bash 复制代码
Volume Name Host(s) Share Accessible Mounted Read-Only Security isPE Hardware Acceleration
----------- --------------- ---------------- ---------- ------- --------- -------- ----- ---------------------
tos-nfs 192.168.1.172 /Volume1/nfsfile true true false AUTH_SYS false Not Supported

关键变化

  • Accessible: falsetrue
  • Mounted: falsetrue

6.2 检查文件系统挂载状态

bash 复制代码
[root@m920x:~] esxcli storage filesystem list | grep -E "tos-nfs|NFS"

预期输出示例

bash 复制代码
/vmfs/volumes/7185d33f-228e55e5-0000-000000000000 tos-nfs 7185d33f-228e55e5-0000-000000000000 true NFS41 15863038234624 5791473381376

确认标准

  • Mounted 状态为 true
  • 能够看到存储容量信息

第七步:验证管理界面显示

回到ESXI管理页面查看,确认:

  1. ✅ NFS存储正常显示
  2. ✅ 虚拟机名称恢复正常显示(不再显示为UUID)

总结

故障特点

这是一类较为常见的ESXI故障,主要原因是:

  • 启动时序问题:ESXI先于NFS存储启动,导致初始连接失败
  • 自动恢复机制缺失:ESXI不会在NFS存储可用后自动尝试重新连接

解决方案优势

  • 无需重启主机:避免影响运行中的虚拟机
  • 操作简单:仅需6条命令即可完成
  • 风险可控:所有操作都有明确的验证步骤

后续思考

该解决方案由AI生成,经过实际验证后执行顺畅,与搜索引擎查到的标准处理方案一致。这反映了:

  1. 这类故障在实际运维中并不少见
  2. 处理方法相对标准化和成熟

如果未来有自动化运维工具(如OpenClaw)介入,理论上可以实现问题自动发现和修复,但在安全性和可靠性方面仍需谨慎评估。


附录:完整操作命令清单

bash 复制代码
# 1. 检查存储文件系统列表
esxcli storage filesystem list

# 2. 查询NFS挂载信息
esxcli storage nfs list
esxcli storage nfs41 list

# 3. 验证NFS服务器连通性
vmkping 192.168.1.172

# 4. 移除现有NFS挂载
esxcli storage nfs41 remove -v tos-nfs

# 5. 重新添加NFS存储
esxcli storage nfs41 add -H 192.168.1.172 -s /Volume1/nfsfile -v tos-nfs

# 6. 验证恢复结果
esxcli storage nfs41 list
esxcli storage filesystem list | grep -E "tos-nfs|NFS"

相关推荐
learning-striving1 天前
VMware Workstation中centso下载安装
linux·vmware·虚拟机
爱学习的小囧3 天前
VMware vCenter Server 9.0.2.0 资源详解+完整部署教程+下载指南+常见问题
运维·服务器·esxi·vmware·虚拟化·esxi9.0.2.0
爱学习的小囧3 天前
ESXi 开启 Secure Boot 后驱动签名验证失败完整处置教程:合规修复与临时测试方案全解
服务器·数据库·esxi·虚拟化
爱学习的小囧3 天前
ESXi 存储路径丢失(PDL/APD)完整处置教程:分清类型再操作,一步不踩坑
linux·运维·服务器·网络·esxi·vmware
其实防守也摸鱼3 天前
GDB安装与配置(保姆级教程)【Linux、Windows系统】
linux·运维·windows·命令模式·工具·虚拟机·调试
淼淼爱喝水4 天前
ESXi 给 Windows Server 2008 虚拟机添加磁盘教程
windows·esxi·虚拟机
爱学习的小囧4 天前
ESXi性能历史怎么监控?2种方法,图形化+命令行全覆盖
java·linux·运维·服务器·网络·esxi·esxi8.0
丶道言4 天前
轻量虚拟机VirtualBox v7.2.8「Windows」
虚拟机·道言
爱学习的小囧4 天前
虚拟机开机放哪台主机?ESXi DRS 初始放置位置选择指南:CPU / 内存 / 存储 / 网络综合评分攻略
服务器·esxi·虚拟化·esxi8.0
Mike_detailing4 天前
资源分享:VMware-Fusion-25H2u1 和 arm版本win11
macos·arm·虚拟机