VMware ESXi挂载NFS类型存储容器相关内核参数优化

Posted on

如果要为VMware ESXi主机使用NFS方式挂载存储容器(datastore),需要修改相关ESXi内核参数,以便优化挂载效率及网络读写性能。

以下参数设定值以ESXi 6.0为例。不同版本的系统,相应值会有所不同。

使用vSphere Web Client登陆主机控制台,找到主机配置页面,然后进入“高级设置”选项卡。

根据需要挂载的存储容器数量,按线性比例调整如下参数:

NFS参数

#主机允许挂载的NFS datastore数量上限
#ESXi 5.5及以下版本最大值为64,ESXi 6.0及以上版本最大值为256
NFS.MaxVolumes = 256
NFS41.MaxVolumes = 256

#NFS datastore允许的最大队列深度
#ESXi 5.5及以下版本建议为64,ESXi 6.0及以上版本建议为128,避免大量NFS请求造成队列挤压
NFS.MaxQueueDepth = 128

#NFS链路健康状态的心跳检测
#优化心跳检测参数,避免因NFS链路波动而触发不必要的APD(All Path Down)
NFS.HeartbeatMaxFailures = 10
NFS.HeartbeatFrequency = 12
NFS.HeartbeatTimeout = 5

NET参数

#用于VMkernel TCP/IP网络连接所分配的堆内存量(单位为 MB)
#增加默认堆内存量,可以提升NFS并发连接性能
Net.TcpipHeapSize = 32

#用于VMkernel TCP/IP网络连接所分配的突发堆内存量(单位为 MB)
#增加默认最大堆内存量,可以提升NFS并发连接性能。如果调整后影响到系统稳定性,请适当降低该值
#注:ESXi 4.0/5.0/5.1最大值为128,ESXi 5.5最大值为512,ESXi 6.0及以上版本最大值为1536
Net.TcpipHeapMax = 1536

VMFS3参数

#启用带硬件加速的VMFS锁定
VMFS3.HardwareAcceleratedLocking = 1

#在客户端发出UNMAP指令后,不删除对应的VMFS块
VMFS3.EnableBlockDelete = 0

以上参数修改完后,需要重启主机才能使设置生效。

网卡链路

如果NFS存储的流量走双虚拟网卡(vmnic),建议关闭自动故障切换,并将双虚拟网卡模式从双活(active-active)改为主备(active-standby),避免因为网络瞬断而造成不必要的链路切换,NFS能够容忍网络的个别丢包。

最佳实践

有关使用NFS存储的vSphere主机最佳实践,推荐阅读:

最后更新:2022-07-18

END