NFC Session Limits and Timeouts

NBDSSL employs the network file copy (NFC) protocol. NFC Session Connection Limits shows limits on the number of connections for various host types. These are host limits, not per process limits. Additionally vCenter Server imposes a limit of 52 connections. VixDiskLib_Open() uses one connection for every virtual disk that it accesses on an ESXi host. Clone with VixDiskLib_Clone() also requires a connection. It is not possible to share a connection across physical disks. These NFC session limits do not apply to SAN or HotAdd transport.

Table 1. NFC Session Connection Limits
Host Platform When Connecting Limits You To About
vSphere 3.5 to an ESX host 9 connections directly, 27 connections through vCenter Server
vSphere 4.x to an ESXi host 11 connections directly, 23 connections through vCenter Server
vSphere 5.x to an ESXi host or vCenter Server Limited by a transfer buffer for all NFC connections, enforced by the host; the sum of all NFC connection buffers to an ESXi host cannot exceed 32MB.

52 connections through vCenter Server, including the above per-host limit.

vSphere 6.x to an ESXi host or vCenter Server The sum of all NFC connection buffers cannot exceed 48MB by default. ESXi hostd limit can be changed with config.xml but vCenter is not configurable.

With 1MB buffers per I/O stream, 48 requests can be concurrent.

The InitEx configuration file parameter vixDiskLib.nfc.ReadTimeoutMs indicates the preferred connection timeout for backup and restore operations, and has the effect of influencing TCP keep-alive time when no reads occur, which they do not during prolonged restores. If the ReadTimeoutMs value is set higher than the TCP keep-alive time on the network, then a connection timeout could occur.

For example, if the configuration file sets ReadTimeoutMs flag to 3600000 milliseconds (60 minutes) instead of accepting the default (varies from 6 to 45 seconds) then a TCP keep-alive packet transmits only after 60 minutes. If restoring a virtual disk takes longer, leaving network read activity idle for 60 minutes, the connection could break so subsequent restores fail.