Chapter 11. Network File System Administration

11.1 NFS Services

NFS provides its services through a client-server relationship. The computers that make their file systems, directories, and other resources available for remote access are called servers. The act of making file systems available is called exporting. The computers, or the processes they run, that use a server's resources are considered clients. Once a client mounts a file system that a server exports, the client can access the individual server files (access to exported directories can be restricted to specific clients).

The following are a list of terms that are used throughout this discussion:

Server
A computer that makes its file systems, directories, and other resources available for remote access.
Clients
The computers, or processes that use a server's resources.
Export
The act of making file systems available to remote clients.
Mount
The act of a client accessing the file systems a server exports.

The major services provided by NFS are:

Mount
From the /usr/sbin/rpc.mountd daemon on the server and the /usr/sbin/mount command on the client. The mountd daemon is a Remote Procedure Call (RPC) that answers a client request to mount a file system. The mountd daemon finds out which file systems are available by reading the /etc/xtab file. In addition, the mountd daemon provides a list of currently mounted file systems and the clients on which they are mounted.
Remote File Access
From the /usr/sbin/nfsd daemon on the server and the /usr/sbin/biod daemon on the client. Handles client requests for files. The biod daemon runs on all NFS client systems. When a user on a client wants to read or write to a file on a server, the biod daemon sends this request to the server.
Remote Execution
From the /usr/sbin/rpc.rexd daemon on the server and the /usr/bin/on command on the client.The rexd daemon executes programs for remote machines when a client issues a request to execute a program on a remote machine.
Remote System Statistics
From the /usr/sbin/rpc.rstatd daemon on the server and the /usr/bin/rup command on the client. The rstatd daemon is a server that returns performance statistics obtained from the kernel.
Remote User Listing
From the /usr/lib/netsvc/rusers/rpc.rusersd daemon on the server and the /usr/bin/rusers command on the client. The rusersd daemon is a server that responds to queries from the rusers command by returning a list of users currently on the network.
Boot Parameters
Provides boot parameters to SunOS diskless clients from the /usr/sbin/rpc.bootparamd daemon on the server.
Remote Wall
From the /usr/lib/netsvc/rwall/rpc.rwalld daemon on the server and the /usr/sbin/rwall command on the client. The rwalld daemon handles requests from the rwall command. The rwall command sends messages to all users on the network.
Spray
Sends a one-way stream of Remote Procedure Call (RPC) packets from the /usr/lib/netsvc/spray/rpc.sprayd daemon on the server and the /usr/sbin/spray command on the client.
PC Authentication
Provides a user authentication service for PC-NFS from the /usr/sbin/rpc.pcnfsd daemon on the server.

An NFS server is stateless. That is, an NFS server does not have to remember any transaction information about its clients. In other words, NFS transactions are atomic: A single NFS transaction corresponds to a single, complete file operation. NFS requires the client to remember any information needed for later NFS use.

Figure 101 is an illustration of the NFS configuration discussed in this section.



Figure 101: A Typical NFS Environment

The environment illustrated in Figure 101 includes two NFS servers and three clients where one system is both a server and a client. The CRoom server exports its directories allowing all other systems to have access to them. The Accounts server shares one directory that only Marketing has access to. The following section recreates the scenario illustrated and discusses any challenges and tasks that arise while administrating NFS in this environment.

11.2 Planning, Installation, and Configuration of NFS