NBDSSL employs the network file copy (NFC) protocol. The table below shows limits on the number of connections for various host type. 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.
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. Also 52 connections through vCenter Server, including the above per-host limit. |
vSphere 6.x vSphere 7.0 |
to an ESXi host or vCenter Server | The sum of all NFC connection buffers cannot exceed 48MB (by default) for the NFC server in one ESXi host. With 1MB buffers per I/O stream, 48 requests can be concurrent. When customers use vCenter to manage ESXi hosts, the NFC memory limit is not configurable for backup. The NFC memory limit in ESXi hosts can be set with config.xml if there is no vCenter. |
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.