NetApp和VMware的NFS nConnect功能
从VMware vSphere 8.0 U1 (作为技术预览版)开始、nconnect功能可为NFS v3数据存储库卷实现多个TCP连接、从而提高吞吐量。现在、使用NFS数据存储库的客户可以增加与NFS服务器的连接数、从而最大程度地提高高速网络接口卡的利用率。
此功能通常适用于具有8.0 U2的NFS v3,请参阅上的存储部分"VMware vSphere 8.0 Update 2发行说明"。vSphere 8.0 U3增加了对NFS v4.1的支持。有关详细信息、请查看"《vSphere 8.0 Update 3发行说明》" |
用例
-
在同一主机上为每个NFS数据存储库托管更多虚拟机。
-
提高NFS数据存储库性能。
-
提供一个选项、以便为基于虚拟机和容器的应用程序提供更高级别的服务。
技术详细信息
nconnect的目的是为vSphere主机上的每个NFS数据存储库提供多个TCP连接。这有助于提高NFS数据存储库的并行处理能力和性能。 在ONTAP中、建立NFS挂载后、系统将创建连接ID (CID)。该CID可提供多达128个并发传输中操作。当客户端超过该数量时、ONTAP会启用一种流量控制形式、直到其他操作完成后、它可以释放一些可用资源为止。这些暂停通常只需几微秒、但在数百万次操作过程中、这些操作会累加并造成性能问题。nConnect可以采用128个限制、并将其乘以客户端上的nconnect会话数、这样每个CID可提供更多并发操作、并可能增加性能优势。有关更多详细信息、请参见 "NFS最佳实践和实施指南"
默认NFS数据存储库
为了解决NFS数据存储库单个连接的性能限制、需要挂载更多数据存储库或添加更多主机来增加连接。
使用nConnect NFS数据存储库
使用ONTAP工具或其他选项创建NFS数据存储库后、可以使用vSphere命令行界面、PowerCLI、政府工具或其他API选项修改每个NFS数据存储库的连接数。为了避免与vMotion同时出现性能问题、请在属于vSphere集群的所有vSphere主机上保持NFS数据存储库的连接数不变。
前提条件
要使用nconnect功能、应满足以下依赖关系。
ONTAP 版本 |
vSphere版本 |
注释 |
9.8或更高版本 |
8更新版本1 |
技术预览、可选择增加连接数。 |
9.8或更高版本 |
8更新版本2 |
通常可选择增加和减少连接数。 |
9.8或更高版本 |
8 Update 3 |
NFS 4.1和多路径支持。 |
更新与NFS数据存储库的连接数
如果使用ONTAP工具或vCenter创建NFS数据存储库、则会使用单个TCP连接。要增加连接数、可以使用vSphere CLI。参考命令如下所示。
# Increase the number of connections while creating the NFS v3 datastore.
esxcli storage nfs add -H <NFS_Server_FQDN_or_IP> -v <datastore_name> -s <remote_share> -c <number_of_connections>
# To specify the number of connections while mounting the NFS 4.1 datastore.
esxcli storage nfs41 add -H <NFS_Server_FQDN_or_IP> -v <datastore_name> -s <remote_share> -c <number_of_connections>
# To utilize specific VMkernel adapters while mounting, use the -I switch
esxcli storage nfs41 add -I <NFS_Server_FQDN_or_IP>:vmk1 -I <NFS_Server_FQDN_or_IP>:vmk2 -v <datastore_name> -s <remote_share> -c <number_of_connections>
# To increase or decrease the number of connections for existing NFSv3 datastore.
esxcli storage nfs param set -v <datastore_name> -c <number_of_connections>
# For NFSv4.1 datastore
esxcli storage nfs41 param set -v <datastore_name> -c <number_of_connections>
# To set VMkernel adapter for an existing NFS 4.1 datastore
esxcli storage nfs41 param set -I <NFS_Server_FQDN_or_IP>:vmk2 -v <datastore_name> -c <number_of_connections>
或使用如下所示的PowerCLI
$datastoreSys = Get-View (Get-VMHost host01.vsphere.local).ExtensionData.ConfigManager.DatastoreSystem
$nfsSpec = New-Object VMware.Vim.HostNasVolumeSpec
$nfsSpec.RemoteHost = "nfs_server.ontap.local"
$nfsSpec.RemotePath = "/DS01"
$nfsSpec.LocalPath = "DS01"
$nfsSpec.AccessMode = "readWrite"
$nfsSpec.Type = "NFS"
$nfsSpec.Connections = 4
$datastoreSys.CreateNasDatastore($nfsSpec)
以下是增加与政府工具的连接数的示例。
$env.GOVC_URL = 'vcenter.vsphere.local'
$env.GOVC_USERNAME = 'administrator@vsphere.local'
$env.GOVC_PASSWORD = 'XXXXXXXXX'
$env.GOVC_Datastore = 'DS01'
# $env.GOVC_INSECURE = 1
$env.GOVC_HOST = 'host01.vsphere.local'
# Increase number of connections while creating the datastore.
govc host.esxcli storage nfs add -H nfs_server.ontap.local -v DS01 -s /DS01 -c 2
# For NFS 4.1, replace nfs with nfs41
govc host.esxcli storage nfs41 add -H <NFS_Server_FQDN_or_IP> -v <datastore_name> -s <remote_share> -c <number_of_connections>
# To utilize specific VMkernel adapters while mounting, use the -I switch
govc host.esxcli storage nfs41 add -I <NFS_Server_FQDN_or_IP>:vmk1 -I <NFS_Server_FQDN_or_IP>:vmk2 -v <datastore_name> -s <remote_share> -c <number_of_connections>
# To increase or decrease the connections for existing datastore.
govc host.esxcli storage nfs param set -v DS01 -c 4
# For NFSv4.1 datastore
govc host.esxcli storage nfs41 param set -v <datastore_name> -c <number_of_connections>
# View the connection info
govc host.esxcli storage nfs list
请参见 "VMware知识库文章91497" 有关详细信息 …
设计注意事项
ONTAP支持的最大连接数取决于存储平台型号。查找上的exec_ctx "NFS最佳实践和实施指南" 有关详细信息 …
随着每个NFSv3数据存储库的连接数的增加、可挂载到该vSphere主机上的NFS数据存储库数量也会减少。每个vSphere主机支持的连接总数为256。检查 "VMware知识库文章91481." 每个vSphere主机的数据存储库限制。
VVOV数据存储库不支持nConnect功能。但是、协议端点会计入连接限制。创建VVOV数据存储库时、系统会为SVM的每个数据lf创建一个协议端点。 |