Server for NFS

Microsoft Server for NFS (Services for UNIX Version 1.0) is a 32-bit, Windows-based, multithreaded kernel program that is integrated into Windows NT. It enables users to share files in a mixed environment of computers, operating systems, and networks. Server for NFS enables a computer running the Microsoft Windows operating system to act as an NFS server. File access and administrative tasks are performed through the Windows NT interface. Administrative tasks for NFS are performed through a configuration utility.

Server for NFS uses the NFS protocol, which is based on the Open Network Computing Remote Procedure Call (ONC-RPC). Remote calls from clients appear to run locally, but run on the server. The Open Network Computing External Data Representation (ONC-XDR) protocol ensures portable data transmission betweeen NFS clients and the NFS server.

Sun Microsystems developed NFS and its associated protocols. Its architecture is shown in Figure 11.1.


Figure 11.1 NFS Architecture

Server for NFS supports the following features:

Remote File Access    After Services for UNIX is installed on a Windows NT server, that server can make Windows directories and files accessible to NFS clients. Access control provides read, read-write, root and "no access" permissions to clients. Individual file permissions are controlled by Windows NT file permissions.

Global Permissions    NFS clients can be grouped. NFS share access can be controlled by either using names of clients or names of groups. This is a convenient way of controlling access for a group of computers. The available permissions include no access, read-only, read/write, and root access.

Security Permissions    Server for NFS is configurable for NTFS security permissions, including permissions mapping between UNIX and Windows.

User and Group Mapping    In order to provide security on Windows NT files that are accessed from UNIX, Server for NFS requires the system administrator to map UNIX user or group accounts to Windows NT user or group accounts. Users are then given the same access rights under UNIX that they have under Windows NT. Alternately, sites with less stringent security needs can bypass the mapping procedure and treat all UNIX users as anonymous users.

Read and Write Buffer Size    The buffer size can be managed to improve performance.

NFS Threads    The number of threads can be set so that a reasonable number of NFS service requests can be handled. The maximum number of threads permitted is 512.

Caching of Inode and Directory Information    The caching of the inode, which contains file attribute information, and of the directory name lookup information, which contains the paths of recently accessed directories, on the NFS server can reduce the number of system calls to the server. This can improve performance. The size of these caches can be configured by using Server for NFS.

Symbolic Links    Server for NFS can be configured to support symbolic links.

File Locking    File locking can be enabled either for NFS clients only (advisory locking) or for both NFS clients and Windows NT users (mandatory locking).

File Name Case Resolution    Server for NFS can be configured to resolve conflicts that arise between NFS file names and NTFS, file allocation table (FAT), or CD-ROM file system (CDFS) file names as a result of case-sensitivity issues. File names can be converted to uppercase or lowercase, or case can be ignored. A translation file can be used to translate valid UNIX characters into a different character sequence. For example, Windows 2000-based computers do not permit file names to contain colons, but you can use a translation file to select a sequence of valid character to be used as a replacement for any colons that appear in a file name from a UNIX-based computer.

NFS Version 2 and Version 3    Server for NFS can be configured to use either NFS version.

Data Transport Using TCP or UDP    Services for UNIX uses UDP for data transport by default. Server for NFS can be configured to use TCP, which is more reliable and has greater overhead.

Troubleshooting Tools    Services for UNIX provides the showmount and rpcinfo commands for use in troubleshooting NFS problems.