Next: , Previous: , Up: Services   [Contents][Index]


9.8.21 Network File System

The (gnu services nfs) module provides the following services, which are most commonly used in relation to mounting or exporting directory trees as network file systems (NFS).

While it is possible to use the individual components that together make up a Network File System service, we recommended to configure an NFS server with the nfs-service-type.

NFS Service

The NFS service takes care of setting up all NFS component services, kernel configuration file systems, and installs configuration files in the locations that NFS expects.

Scheme Variable: nfs-service-type

A service type for a complete NFS server.

Data Type: nfs-configuration

This data type represents the configuration of the NFS service and all of its subsystems.

It has the following parameters:

nfs-utils (default: nfs-utils)

The nfs-utils package to use.

nfs-versions (default: '("4.2" "4.1" "4.0"))

If a list of string values is provided, the rpc.nfsd daemon will be limited to supporting the given versions of the NFS protocol.

exports (default: '())

This is a list of directories the NFS server should export. Each entry is a list consisting of two elements: a directory name and a string containing all options. This is an example in which the directory /export is served to all NFS clients as a read-only share:

(nfs-configuration
 (exports
  '(("/export"
     "*(ro,insecure,no_subtree_check,crossmnt,fsid=0)"))))
rpcmountd-port (default: #f)

The network port that the rpc.mountd daemon should use.

rpcstatd-port (default: #f)

The network port that the rpc.statd daemon should use.

rpcbind (default: rpcbind)

The rpcbind package to use.

idmap-domain (default: "localdomain")

The local NFSv4 domain name.

nfsd-port (default: 2049)

The network port that the nfsd daemon should use.

nfsd-threads (default: 8)

The number of threads used by the nfsd daemon.

nfsd-tcp? (default: #t)

Whether the nfsd daemon should listen on a TCP socket.

nfsd-udp? (default: #f)

Whether the nfsd daemon should listen on a UDP socket.

pipefs-directory (default: "/var/lib/nfs/rpc_pipefs")

The directory where the pipefs file system is mounted.

debug (default: '()")

A list of subsystems for which debugging output should be enabled. This is a list of symbols. Any of these symbols are valid: nfsd, nfs, rpc, idmap, statd, or mountd.

If you don’t need a complete NFS service or prefer to build it yourself you can use the individual component services that are documented below.

RPC Bind Service

The RPC Bind service provides a facility to map program numbers into universal addresses. Many NFS related services use this facility. Hence it is automatically started when a dependent service starts.

Scheme Variable: rpcbind-service-type

A service type for the RPC portmapper daemon.

Data Type: rpcbind-configuration

Data type representing the configuration of the RPC Bind Service. This type has the following parameters:

rpcbind (default: rpcbind)

The rpcbind package to use.

warm-start? (default: #t)

If this parameter is #t, then the daemon will read a state file on startup thus reloading state information saved by a previous instance.

Pipefs Pseudo File System

The pipefs file system is used to transfer NFS related data between the kernel and user space programs.

Scheme Variable: pipefs-service-type

A service type for the pipefs pseudo file system.

Data Type: pipefs-configuration

Data type representing the configuration of the pipefs pseudo file system service. This type has the following parameters:

mount-point (default: "/var/lib/nfs/rpc_pipefs")

The directory to which the file system is to be attached.

GSS Daemon Service

The global security system (GSS) daemon provides strong security for RPC based protocols. Before exchanging RPC requests an RPC client must establish a security context. Typically this is done using the Kerberos command kinit or automatically at login time using PAM services (see Kerberos Services).

Scheme Variable: gss-service-type

A service type for the Global Security System (GSS) daemon.

Data Type: gss-configuration

Data type representing the configuration of the GSS daemon service. This type has the following parameters:

nfs-utils (default: nfs-utils)

The package in which the rpc.gssd command is to be found.

pipefs-directory (default: "/var/lib/nfs/rpc_pipefs")

The directory where the pipefs file system is mounted.

IDMAP Daemon Service

The idmap daemon service provides mapping between user IDs and user names. Typically it is required in order to access file systems mounted via NFSv4.

Scheme Variable: idmap-service-type

A service type for the Identity Mapper (IDMAP) daemon.

Data Type: idmap-configuration

Data type representing the configuration of the IDMAP daemon service. This type has the following parameters:

nfs-utils (default: nfs-utils)

The package in which the rpc.idmapd command is to be found.

pipefs-directory (default: "/var/lib/nfs/rpc_pipefs")

The directory where the pipefs file system is mounted.

domain (default: #f)

The local NFSv4 domain name. This must be a string or #f. If it is #f then the daemon will use the host’s fully qualified domain name.

verbosity (default: 0)

The verbosity level of the daemon.


Next: , Previous: , Up: Services   [Contents][Index]