The following sections provide information about the Microsoft Services for Network File System (NFS) model for client-server communication.
Services for NFS Model Overview
Microsoft Services for NFS provides a file-sharing solution for enterprises that have a mixed Windows and UNIX environment. This communication model consists of two entities: the client and the server (see Figure 7). Applications on the client request files located on the server through the redirector (Rdbss.sys and NFS mini-redirector Nfsrdr.sys). The mini-redirector uses the NFS protocol to send its request through TCP/IP. The server receives multiple requests from the clients through TCP/IP and routes the requests to the local file system (Ntfs.sys), which accesses the storage stack.
Default is 16. Specifies the number of threads that are used to handle incoming NFS requests. Minimum is 1 and maximum is 4096. Determine the appropriate number of threads based on the workload profile. You can increase the number of threads if the server is not responsive.
Default is 0. Determines whether files are opened for FILE_RANDOM_ACCESS as opposed to FILE_SEQUENTIAL_ONLY, depending on the workload I/O characteristics. Set this value to 1 to force files to be opened for FILE_RANDOM_ACCESS. FILE_RANDOM_ACCESS prevents the file system and cache manager from performing prefetching. For more information on File Access Services, see "Resources" later in this guide.
Default is 5. Controls the lifetime of an NFS cache entry in the file handle cache. This parameter refers to cache entries that have an associated open NTFS file handle. Actual lifetime is approximately equal to RdWrHandleLifeTime multiplied by RdWrThreadSleepTime. Minimum is 1 and maximum is 60.
Default is 5. Controls the lifetime of an NFS cache entry in the file handle cache. This parameter refers to cache entries that do not have an associated open NTFS file handle. The Server for NFS uses these cache entries to store file attributes for a file without keeping an open handle with the file system. Actual lifetime is approximately equal to RdWrNfsHandleLifeTime multiplied by RdWrThreadSleepTime. Minimum is 1 and maximum is 60.
Default is 5. Controls the lifetime of an NFS read cache entry in the file handle cache. Actual lifetime is approximately equal to RdWrNfsReadHandlesLifeTime multiplied by RdWrThreadSleepTime. Minimum is 1 and maximum is 60.
Default is 5. Controls the wait interval before running the cleanup thread on the file handle cache. Value is in ticks and is non-deterministic. A tick is equivalent to approximately 100 nanoseconds. Minimum is 1 and maximum is 60.
Default is 0. Specifies whether the physical pages allocated for the cache size specified by FileHandleCacheSizeInMB are locked in memory. Setting this value to 1 enables this activity. Pages are locked in memory (that is, they are not paged to disk), which improves the performance of resolving file handles but reduces the memory available to applications.
Default is 64. Specifies the maximum number of handles per volume for the read data cache. Read cache entries are created only on systems that have more than 1 GB of memory. Minimum is 0 and maximum is 0xFFFFFFFF.
0x4 – Validate that the parent path of the NTFS field embedded in the handle is exported when the handle is exported.
0x6 –Use the IP Address of the client, in addition to other data, to sign the handle, and also validate that the parent path of the NTFS field embedded in the handle is exported when the handle is exported.
Default is 60. Soft timeout that controls the duration of NFS V3 UNSTABLE write data caching. Minimum is 1 and maximum is 600. Actual lifetime is approximately equal to RdWrNfsDeferredWritesFlushDelay multiplied by RdWrThreadSleepTime.
Default is 1 (enabled). Controls whether handles opened during NFS V2 and V3 CREATE and MKDIR RPC procedure handlers are retained in the file handle cache. Set this to value 0 to disable adding entries to the cache in CREATE and MKDIR code paths.
Increases the number of delayed worker threads created for the specified work queue. Delayed worker threads process work items that are not considered time-critical and can have their memory stack paged out while waiting for work items. An insufficient number of threads reduces the rate at which work items are serviced; a value that is too high consumes system resources unnecessarily.
Default is 0. Determines whether NTFS generates a short name in the 8.3 (MS-DOS) naming convention for long file names and for file names that contain characters from the extended character set. If the value of this entry is 0, files can have two names: the name that the user specifies and the short name that NTFS generates. If the name that the user specifies follows the 8.3 naming convention, NTFS does not generate a short name.
Changing this value does not change the contents of a file, but it avoids the short-name attribute creation for the file and also changes how NTFS displays and manages the file. For most file servers, the recommended setting is 1.