The
fstab
file contains information about which filesystems
to mount where and with what options.
For NFS mounts, it contains the server name and
exported server directory to mount from,
the local directory that is the mount point,
and the NFS specific options that control
the way the filesystem is mounted.
Three different versions of the NFS protocol are
supported by the Linux NFS client:
NFS version 2, NFS version 3, and NFS version 4.
To mount via NFS version 2, use the
nfs
file system type and specify
nfsvers=2.
To mount via NFS version 3, use the
nfs
file system type and specify
nfsvers=3.
Version 3 is the default protocol version for the
nfs
file system type when
nfsvers=
is not specified on the mount command.
To mount via NFS version 4, use the
nfs4
file system type.
The
nfsvers=
keyword is not supported for the
nfs4
file system type.
These file system types share similar mount options;
the differences are listed below.
Here is an example from an /etc/fstab file for an NFSv2 mount
over UDP.
The number of bytes NFS uses when reading files from an NFS server.
The rsize is negotiated between the server and client to determine
the largest block size that both can support.
The value specified by this option is the maximum size that could
be used; however, the actual size used may be smaller.
Note: Setting this size to a value less than the largest supported
block size will adversely affect performance.
wsize=n
The number of bytes NFS uses when writing files to an NFS server.
The wsize is negotiated between the server and client to determine
the largest block size that both can support.
The value specified by this option is the maximum size that could
be used; however, the actual size used may be smaller.
Note: Setting this size to a value less than the largest supported
block size will adversely affect performance.
timeo=n
The value in tenths of a second before sending the
first retransmission after an RPC timeout.
The default value is 7 tenths of a second. After the first timeout,
the timeout is doubled after each successive timeout until a maximum
timeout of 60 seconds is reached or the enough retransmissions
have occured to cause a major timeout. Then, if the filesystem
is hard mounted, each new timeout cascade restarts at twice the
initial value of the previous cascade, again doubling at each
retransmission. The maximum timeout is always 60 seconds.
Better overall performance may be achieved by increasing the
timeout when mounting on a busy network, to a slow server, or through
several routers or gateways.
retrans=n
The number of minor timeouts and retransmissions that must occur before
a major timeout occurs. The default is 3 timeouts. When a major timeout
occurs, the file operation is either aborted or a "server not responding"
message is printed on the console.
acregmin=n
The minimum time in seconds that attributes of a regular file should
be cached before requesting fresh information from a server.
The default is 3 seconds.
acregmax=n
The maximum time in seconds that attributes of a regular file can
be cached before requesting fresh information from a server.
The default is 60 seconds.
acdirmin=n
The minimum time in seconds that attributes of a directory should
be cached before requesting fresh information from a server.
The default is 30 seconds.
acdirmax=n
The maximum time in seconds that attributes of a directory can
be cached before requesting fresh information from a server.
The default is 60 seconds.
actimeo=n
Using actimeo sets all of
acregmin,acregmax,acdirmin,
and
acdirmax
to the same value.
There is no default value.
retry=n
The number of minutes to retry an NFS mount operation
in the foreground or background before giving up.
The default value for forground mounts is 2 minutes.
The default value for background mounts is 10000 minutes,
which is roughly one week.
namlen=n
When an NFS server does not support version two of the
RPC mount protocol, this option can be used to specify
the maximum length of a filename that is supported on
the remote filesystem. This is used to support the
POSIX pathconf functions. The default is 255 characters.
port=n
The numeric value of the port to connect to the NFS server on.
If the port number is 0 (the default) then query the
remote host's portmapper for the port number to use.
If the remote host's NFS daemon is not registered with
its portmapper, the standard NFS port number 2049 is
used instead.
proto=n
Mount the NFS filesystem using a specific network protocol
instead of the default TCP protocol.
Valid protocol types are
udp
and
tcp.
mountport=n
The numeric value of the
mountd
port.
mounthost=name
The name of the host running
mountd .
mountprog=n
Use an alternate RPC program number to contact the
mount daemon on the remote host. This option is useful
for hosts that can run multiple NFS servers.
The default value is 100005 which is the standard RPC
mount daemon program number.
mountvers=n
Use an alternate RPC version number to contact the
mount daemon on the remote host. This option is useful
for hosts that can run multiple NFS servers.
The default value depends on which kernel you are using.
nfsprog=n
Use an alternate RPC program number to contact the
NFS daemon on the remote host. This option is useful
for hosts that can run multiple NFS servers.
The default value is 100003 which is the standard RPC
NFS daemon program number.
nfsvers=n
Use an alternate RPC version number to contact the
NFS daemon on the remote host. This option is useful
for hosts that can run multiple NFS servers.
The default value depends on which kernel you are using.
vers=n
vers is an alternative to nfsvers and is compatible with
many other operating systems.
nolock
Disable NFS locking. Do not start lockd.
This has to be used with some old NFS servers
that don't support locking.
bg
If the first NFS mount attempt times out, retry the mount
in the background.
After a mount operation is backgrounded, all subsequent mounts
on the same NFS server will be backgrounded immediately, without
first attempting the mount.
A missing mount point is treated as a timeout,
to allow for nested NFS mounts.
fg
If the first NFS mount attempt times out, retry the mount
in the foreground.
This is the complement of the
bg
option, and also the default behavior.
soft
If an NFS file operation has a major timeout then report an I/O error to
the calling program.
The default is to continue retrying NFS file operations indefinitely.
hard
If an NFS file operation has a major timeout then report
"server not responding" on the console and continue retrying indefinitely.
This is the default.
intr
If an NFS file operation has a major timeout and it is hard mounted,
then allow signals to interupt the file operation and cause it to
return EINTR to the calling program. The default is to not
allow file operations to be interrupted.
posix
Mount the NFS filesystem using POSIX semantics. This allows
an NFS filesystem to properly support the POSIX pathconf
command by querying the mount server for the maximum length
of a filename. To do this, the remote host must support version
two of the RPC mount protocol. Many NFS servers support only
version one.
nocto
Suppress the retrieval of new attributes when creating a file.
noac
Disable all forms of attribute caching entirely. This extracts a
significant performance penalty but it allows two different NFS clients
to get reasonable results when both clients are actively
writing to a common export on the server.
noacl
Disables Access Control List (ACL) processing.
sec=mode
Set the security flavor for this mount to "mode".
The default setting is sec=sys, which uses local
unix uids and gids to authenticate NFS operations (AUTH_SYS).
Other currently supported settings are:
sec=krb5, which uses Kerberos V5 instead of local unix uids
and gids to authenticate users;
sec=krb5i, which uses Kerberos V5 for user authentication
and performs integrity checking of NFS operations using secure
checksums to prevent data tampering; and
sec=krb5p, which uses Kerberos V5 for user authentication
and integrity checking, and encrypts NFS traffic to prevent
traffic sniffing (this is the most secure setting).
Note that there is a performance penalty when using integrity
or privacy.
tcp
Mount the NFS filesystem using the TCP protocol.
This is the default protocol.
udp
Mount the NFS filesystem using the UDP protocol
instead of the default TCP protocol.
nordirplus
Disables NFSv3 READDIRPLUS RPCs. Use this options when
mounting servers that don't support or have broken
READDIRPLUS implementations.
nosharecache
As of kernel 2.6.18, it is no longer possible to mount the same
same filesystem with different mount options to a new mountpoint.
It was deemed unsafe to do so, since cached data cannot be shared
between the two mountpoints. In consequence, files or directories
that were common to both mountpoint subtrees could often be seen to
be out of sync following an update.
This option allows administrators to select the pre-2.6.18 behaviour,
permitting the same filesystem to be mounted with different mount
options.
Beware:
Use of this option is not recommended unless you are certain that there
are no hard links or subtrees of this mountpoint that are mounted
elsewhere.
fsc
Enable the use of persistent caching to the local disk using
the FS-Cache facility for the given mount point.
All of the non-value options have corresponding nooption forms.
For example, nointr means don't allow file operations to be
interrupted.
Options for the nfs4 file system type
rsize=n
The number of bytes nfs4 uses when reading files from the server.
The rsize is negotiated between the server and client to determine
the largest block size that both can support.
The value specified by this option is the maximum size that could
be used; however, the actual size used may be smaller.
Note: Setting this size to a value less than the largest supported
block size will adversely affect performance.
wsize=n
The number of bytes nfs4 uses when writing files to the server.
The wsize is negotiated between the server and client to determine
the largest block size that both can support.
The value specified by this option is the maximum size that could
be used; however, the actual size used may be smaller.
Note: Setting this size to a value less than the largest supported
block size will adversely affect performance.
timeo=n
The value in tenths of a second before sending the
first retransmission after an RPC timeout.
The default value depends on whether
proto=udp
or
proto=tcp
is in effect (see below).
The default value for UDP is 7 tenths of a second.
The default value for TCP is 60 seconds.
After the first timeout,
the timeout is doubled after each successive timeout until a maximum
timeout of 60 seconds is reached or the enough retransmissions
have occured to cause a major timeout. Then, if the filesystem
is hard mounted, each new timeout cascade restarts at twice the
initial value of the previous cascade, again doubling at each
retransmission. The maximum timeout is always 60 seconds.
retrans=n
The number of minor timeouts and retransmissions that must occur before
a major timeout occurs. The default is 5 timeouts for
proto=udp
and 2 timeouts for
proto=tcp.
When a major timeout
occurs, the file operation is either aborted or a "server not responding"
message is printed on the console.
acregmin=n
The minimum time in seconds that attributes of a regular file should
be cached before requesting fresh information from a server.
The default is 3 seconds.
acregmax=n
The maximum time in seconds that attributes of a regular file can
be cached before requesting fresh information from a server.
The default is 60 seconds.
acdirmin=n
The minimum time in seconds that attributes of a directory should
be cached before requesting fresh information from a server.
The default is 30 seconds.
acdirmax=n
The maximum time in seconds that attributes of a directory can
be cached before requesting fresh information from a server.
The default is 60 seconds.
actimeo=n
Using actimeo sets all of
acregmin,acregmax,acdirmin,
and
acdirmax
to the same value.
There is no default value.
retry=n
The number of minutes to retry an NFS mount operation
in the foreground or background before giving up.
The default value for forground mounts is 2 minutes.
The default value for background mounts is 10000 minutes,
which is roughly one week.
port=n
The numeric value of the port to connect to the NFS server on.
If the port number is 0 (the default) then query the
remote host's portmapper for the port number to use.
If the remote host's NFS daemon is not registered with
its portmapper, the standard NFS port number 2049 is
used instead.
proto=n
Mount the NFS filesystem using a specific network protocol
instead of the default TCP protocol.
Valid protocol types are
udp
and
tcp.
Many NFS version 4 servers only support the TCP protocol.
clientaddr=n
On a multi-homed client, this
causes the client to use a specific callback address when
communicating with an NFS version 4 server.
This option is currently ignored.
sec=mode
Same as sec=mode for the nfs filesystem type (see above).
bg
If an NFS mount attempt times out, retry the mount
in the background.
After a mount operation is backgrounded, all subsequent mounts
on the same NFS server will be backgrounded immediately, without
first attempting the mount.
A missing mount point is treated as a timeout,
to allow for nested NFS mounts.
fg
If the first NFS mount attempt times out, retry the mount
in the foreground.
This is the complement of the
bg
option, and also the default behavior.
soft
If an NFS file operation has a major timeout then report an I/O error to
the calling program.
The default is to continue retrying NFS file operations indefinitely.
hard
If an NFS file operation has a major timeout then report
"server not responding" on the console and continue retrying indefinitely.
This is the default.
intr
If an NFS file operation has a major timeout and it is hard mounted,
then allow signals to interupt the file operation and cause it to
return EINTR to the calling program. The default is to not
allow file operations to be interrupted.
nocto
Suppress the retrieval of new attributes when creating a file.
noac
Disable attribute caching, and force synchronous writes.
This extracts a
server performance penalty but it allows two different NFS clients
to get reasonable good results when both clients are actively
writing to common filesystem on the server.
nosharecache
As of kernel 2.6.18, it is no longer possible to mount the same
same filesystem with different mount options to a new mountpoint.
It was deemed unsafe to do so, since cached data cannot be shared
between the two mountpoints. In consequence, files or directories
that were common to both mountpoint subtrees could often be seen to
be out of sync following an update.
This option allows administrators to select the pre-2.6.18 behaviour,
permitting the same filesystem to be mounted with different mount
options.
Beware:
Use of this option is not recommended unless you are certain that there
are no hard links or subtrees of this mountpoint that are mounted
elsewhere.
fsc
Enable the use of persistent caching to the local disk using
the FS-Cache facility for the given mount point.
All of the non-value options have corresponding nooption forms.
For example, nointr means don't allow file operations to be
interrupted.
The posix, and nocto options are parsed by mount
but currently are silently ignored.
The tcp and namlen options are implemented but are not currently
supported by the Linux kernel.
The umount command should notify the server
when an NFS filesystem is unmounted.
Checking files on NFS filesystem referenced by file descriptors (i.e. the
fcntl
and
ioctl
families of functions) may lead to inconsistent result due to the lack of
consistency check in kernel even if noac is used.