【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"

相关推荐
wuhui21002 天前
宿主机与虚拟机网络配置打通
网络·kali·虚拟机
supersolon3 天前
PVE通过命令删除爱快虚拟机
服务器·虚拟机·pve·ikuai·爱快
爱学习的小囧3 天前
ESXi 重置密码详细攻略(全场景覆盖)
服务器·esxi·vmware·虚拟化
好名字更能让你们记住我3 天前
vmware虚拟机安装Windows10镜像【超详细图文版】!!!
windows·系统安装·vmware·虚拟机·图文教程
爱学习的小囧3 天前
ESXi 7.0 多网卡网络配置详细攻略(新手易懂版)
网络·智能路由器·esxi·vmware·虚拟化
ckm紫韵5 天前
VMware新建虚拟机教程
vmware·虚拟机
爱学习的小囧5 天前
VMware Horizon 8 智能卡认证信任库配置攻略:新增 Root CA 导入指南
服务器·esxi·vmware·horizon
kainx6 天前
华为RH1288 V2服务器风扇异常狂转iBMC的管理网口无法连上查看硬件告警-通过ESXi启用shell安装ipmitool修改iBMC网络配置
linux·运维·服务器·网络·esxi·vmware
Roselind_Yi6 天前
云计算实验实操|Keystone安装配置+CloudSim仿真平台部署(超详细图文版)
java·经验分享·笔记·ubuntu·云计算·vim·虚拟机
爱学习的小囧6 天前
部署VMware ESXi 8.0U3i或者是集成驱动版的时候,发现不了NVME B66主板,如何处理?详细教程来了
驱动开发·esxi·虚拟化·esxi9.0集成驱动