获取验证码
ESXi挂载NFS存储读写性能差时,可借助esxtop工具分别观测存储IO延迟与网络链路延迟,以此定位瓶颈归属。通过storage面板查看NFS设备读写latency,再切换至net/network面板分析网络延时、丢包、重传;结合vmkernel日志、存储服务端指标,最终区分故障根源是虚拟交换机/物理网络,还是NFS服务器后端磁盘、CPU负载。
有VMware全系列产品官方资源和定制版资源需求的可以移步:
ESXi挂载NAS NFS数据存储,虚拟机读写文件卡顿,拷贝大文件速度忽高忽低。业务运维直接判定NAS存储硬件故障,准备更换存储设备。登录ESXi使用esxtop分析,NFS设备的设备端延迟正常,但vmk网卡存在大量重传与抖动。 1.1 初期无效排查操作
重启NFS服务、重启ESXi主机,更换NFS挂载版本;升级虚拟机VMware Tools,调整虚拟机磁盘参数,性能无改善。
1.2 分层定位真实故障根因
NFS服务端磁盘、CPU负载处于合理区间,存储本身无性能瓶颈;物理交换机端口存在双工不匹配,导致NFS流量出现间歇性丢包,造成IO延迟抖动。 现场验证修复:修正交换机端口配置,消除丢包重传,NFS读写速度恢复稳定。
1、esxtop storage面板 NFS延迟指标
DAVG(Device Average Latency):设备平均延迟,代表ESXi到NFS服务端完成一次IO往返的总延迟; KAVG(Kernel Average Latency):VMkernel内核处理IO耗时; GAVG(Guest Average Latency):虚拟机感知到的磁盘延迟。 如果DAVG数值很高,KAVG很低,说明延迟发生在ESXi内核之外,要么网络,要么NFS服务端。
2、esxtop网络面板网络质量观测
查看NFS业务对应的vmkernel网卡:观察Drops、Errors、Reset、Retransmit计数器。出现丢包、错包、TCP重传,直接指向网络链路故障。netiiep工具可进一步采集vmkernel网络微延迟,识别间歇性网络抖动。
3、指标判定逻辑
DAVG高,同时存在网络丢包、重传:优先怀疑网络(vSwitch、网卡、网线、交换机、MTU、端口速率双工); DAVG高,网络计数器零丢包无重传:问题偏向NFS服务端,NAS磁盘、RAID组、CPU、内存、磁盘队列拥塞; KAVG异常偏高:VMkernel内部开销大,排查ESXi主机CPU、NFS堆内存、NFS会话数量。
4、日志辅助验证
查看/var/log/vmkernel.log,是否出现NFS超时、RPC重传、mount会话断开报错;RPC超时绝大多数和网络链路质量强相关。
1、ESXi侧操作步骤
SSH登录ESXi执行esxtop,按d进入storage磁盘视图,观察NFS数据存储对应设备DAVG/KAVG/GAVG;按n切换至network网络视图,查看NFS vmkernel网卡丢包、错误、重传统计;使用netiiep采样vmkernel网络延迟,定位偶发抖动。
2、NFS服务端核查要点
登录NAS/NFS服务器,检查磁盘读写延迟、磁盘队列长度、CPU使用率、内存负载;确认NFS服务进程负载,检查NFS导出目录磁盘是否满、磁盘是否存在坏块。
3、网络层核查要点
确认MTU统一,NFS推荐启用巨帧;核查物理交换机端口速率、双工模式;检查端口缓冲区溢出;确认vSwitch端口组没有安全策略限制NFS流量;多路径NFS检查会话负载分担是否生效。
4、阈值参考经验
正常NFS业务DAVG建议20ms以内;持续超过50ms即存在明显性能问题;超过100ms虚拟机业务会明显卡顿。
| 故障现象 | 根因分析 | 标准解决方案 |
|---|---|---|
| NFS DAVG延迟很高,esxtop网络面板看到大量重传丢包 | 网络链路质量问题,交换机、网线、MTU不匹配引发丢包 | 核查MTU、交换机端口配置,排查物理链路故障,消除丢包 |
| NFS DAVG延迟高,网络无丢包重传 | NFS服务端磁盘、CPU、队列拥塞,存储后端瓶颈 | 登录NAS设备分析磁盘性能,优化RAID组,扩容IO资源 |
| KAVG内核延迟数值偏高 | ESXi主机CPU压力大,NFS会话过多,VMkernel开销过高 | 降低主机CPU负载,优化NFS并发会话数量,必要时调整NFS高级参数 |
| 性能间歇性卡顿,esxtop实时抓不到异常指标 | 故障为偶发抖动,瞬时网络或存储毛刺,静态统计无法捕获 | 使用netiiep做持续采样,配合vmkernel日志定位瞬时事件 |
| NFS读写慢,但同网段其他服务器访问同一NAS速度正常 | 问题收敛至ESXi主机侧:vmkernel网卡、vSwitch、ESXi NFS客户端参数 | 对比其他客户端性能,聚焦ESXi本地网络与NFS挂载参数排查 |
1. 误区:NFS慢就一定是NAS存储磁盘性能不行纠正:NFS基于TCP网络,半数以上NFS性能问题根源在网络,优先区分网络与存储边界。
2. 误区:能正常挂载NFS代表网络完全没有问题纠正:可以正常挂载只能代表基础连通,轻微丢包、MTU不匹配不会断开挂载,但会严重拉低IO性能。
3. 误区:只看虚拟机内部磁盘延迟就下故障结论纠正:虚拟机GAVG是最终叠加结果,需要拆解为VMkernel内核KAVG与外部设备DAVG,定位故障层级。
4. 误区:netiiep可以直接定位存储磁盘问题纠正:netiiep仅用于分析vmkernel网络延迟,不采集存储后端磁盘指标。
5. 误区:MTU不一致只会导致完全不通,不会造成性能慢纠正:MTU不匹配产生大量IP分片,不会直接断连,但会显著增加NFS IO延迟。
部署规范:NFS存储流量使用独立vmkernel网卡,业务流量与存储网络物理隔离;MTU全网保持统一。
排查规范:NFS性能故障固定流程:esxtop区分DAVG/KAVG,检查网络丢包重传,再登录NFS服务端验证后端负载。
监控规范:持续监控NFS DAVG延迟、RPC会话、vmkernel网卡丢包计数器,提前发现性能劣化趋势。
对比验证规范:使用其他客户端挂载同一NFS导出做对照测试,快速定位故障发生在ESXi侧还是存储服务端。
日志规范:性能异常时留存vmkernel日志与esxtop快照输出,便于事后复盘偶发性能抖动。