在Linux中查找详细的NFS挂载选项

时间:2020-03-05 15:28:24  来源:igfitidea点击:

在本教程中,我将讨论我们必须在nfs客户端上执行的不同NFS挂载选项。
NFS是由Sun Microsystems开发的基于客户端和服务器体系结构的协议。
该协议的主要目的是在两台UNIX/Linux计算机之间通过网络共享文件/文件系统。
客户端计算机上的用户可以通过访问本地文件系统的类似方式,通过网络访问远程文件系统。

假设HOST A(NFS服务器)正在运行NFS服务(rpc.mountd,nfsd,rpc.rquotad)。
另外,我们可以通过在NFS服务器上执行以下命令来进行确认。

# service nfs status
rpc.mountd (pid 2919) is running...
nfsd (pid 2916 2915 2914 2913 2910 2909 2908 2907) is running...
rpc.rquotad (pid 2903) is running...

现在登录到主机B(NFS客户端),执行以下命令,以查找NFS服务器中的共享目录。

# showmount -e 192.168.1.4
Export list for 192.168.1.4:
/mnt/array1/RHEL5 192.168.1.0/255.255.255.0
/mnt/array1/RHEL632 192.168.1.0/255.255.255.0

输入showmount命令时,必须指定NFS服务器的IP /主机名(FQDN)。
获取导出的文件系统信息后,可以通过mount命令进行访问。

# mount -t nfs 192.168.1.4:/mnt/array1/RHEL5 /data/

在挂载远程文件系统之前,首先创建一个挂载点,这里我已经创建了/data目录并挂载了远程文件系统。

语法:

# mount -t vfstype [-o options] NFS Servername:/exporteddirectory /mount point

或者

# mount -t nfs -o options host:/remote/export /local/directory

选项:

-t选项指定NFS文件系统的类型。

-o intr-此选项用于不可靠的网络或者网络拥塞较多的网络。
当服务器无法访问时,NFS请求将被中断。

例子:

# mount -t nfs -o intr 192.168.1.4:/mnt/array1/RHEL5 /data/
# mount | grep -i intr
192.168.1.4:/mnt/array1/RHEL5 on /data type nfs (rw,intr,addr=192.168.1.4)

Hard & Soft

Hard–如果在NFS挂载期间指定了hard选项,则用户无法终止等待NFS通信恢复的进程。

例子:

# mount -t nfs -o hard 192.168.1.4:/mnt/array1/RHEL5 /data/
# mount | grep -i hard
192.168.1.4:/mnt/array1/RHEL5 on /data type nfs (rw,hard,addr=192.168.1.4)

如果在NFS挂载期间指定了soft选项,则在无法访问NFS服务器时,用户将收到错误警报。

例子:

# mount -t nfs -o soft 192.168.1.4:/mnt/array1/RHEL5 /data/
# mount | grep -i soft
192.168.1.4:/mnt/array1/RHEL5 on /data type nfs (rw,soft,addr=192.168.1.4)

Nfsvers = value-如果在NFS挂载期间指定了此选项,则NFS客户端使用特定的NFS协议版本进行通信。

例子:

# mount -t nfs -o nfsvers=3 192.168.1.4:/mnt/array1/RHEL5 /data/
# mount | grep -i nfsvers
192.168.1.4:/mnt/array1/RHEL5 on /data type nfs (rw,nfsvers=3,addr=192.168.1.4)

TCP/UDP

TCP或者UDP:如上所述,NFS是基于客户端和服务器体系结构的协议,它可以用作传输层,因为TCP和UDP都取决于应用程序的要求。

示例:TCP

# mount -t nfs -o tcp 192.168.1.4:/mnt/array1/RHEL5 /data/
# mount | grep -i tcp
192.168.1.4:/mnt/array1/RHEL5 on /data type nfs (rw,tcp,addr=192.168.1.4)

示例:UDP

# mount -t nfs -o udp 192.168.1.4:/mnt/array1/RHEL5 /data/
# mount | grep -i udp
192.168.1.4:/mnt/array1/RHEL5 on /data type nfs (rw,udp,addr=192.168.1.4)

读/写(rw)只读(ro):

rw选项用于需要用户修改的数据

# mount -t nfs -o rw 192.168.1.4:/mnt/array1/RHEL5 /data/

ro选项用于仅用于查看的数据。
如果我们不想更改数据以保持原始版本不变,则使用此选项。

# mount -t nfs -o ro 192.168.1.4:/mnt/array1/RHEL5 /data/

nolock

此选项禁用文件锁定。
连接到较旧的NFS服务器时,有时会使用该设置。

# mount -t nfs -o nolock 192.168.1.4:/mnt/array1/RHEL5 /data/<

remount

如果以只读方式挂载文件系统,则remount选项会将其重新挂载为读/写状态。
这使我们可以将访问权限从只读更改为读写,而不必强制所有用户离开已挂载的目录或者杀死使用该目录的所有进程。

# mount -t nfs -o remount 192.168.1.4:/mnt/array1/RHEL5 /data/

noexec

此选项可防止在已挂载的文件系统上执行二进制文件。
如果系统正在通过包含不兼容二进制文件的NFS挂载非Linux文件系统,这将很方便。

# mount -t nfs -o noexec 192.168.1.4:/mnt/array1/RHEL5 /data/

nosuid

此选项将禁用SUID或者SUIG位。
它通过运行setuid程序来防止用户提升特权

# mount -t nfs -o nosuid 192.168.1.4:/mnt/array1/RHEL5 /data/

sec =模式

这是一个参数,用于指定在使用NFS连接进行身份验证期间要使用的安全性类型

sec = sys —这是默认设置,该默认设置通过使用AUTH_SYS通过NFS操作进行身份验证来使用本地UNIX UID和GID。

sec = krb5使用Kerberos V5代替本地UNIX UID和GID进行身份验证

sec = krb5i此设置利用Kerberos V5进行用户身份验证,并使用安全校验和对NFS操作进行完整性检查,以防止数据被篡改。

sec = krb5p这利用Kerberos V5进行用户身份验证,完整性检查以及对NFS流量的加密,以防止流量监听。
这是最安全的设置,但也涉及最大的性能开销。

# mount -t nfs -o sec=krb5p 192.168.1.4:/mnt/array1/RHEL5 /data/

rsize = num和wsize = num

这些设置用于加快NFS读取(rsize)和写入(wsize)的通信。
这是通过设置一次要传输的更大的数据块大小(以字节为单位)来实现的。
更改这些值时应格外小心;一些较旧的Linux内核和网卡与更大的块大小不兼容。
对于NFSv2或者NFSv3,两个参数的默认值均设置为8192.
对于NFSv4,两个参数的默认值均设置为32768.

retry= n

第一次尝试失败后,NFS客户端尝试挂载目录的次数。
默认情况下,此值为1

# mount -t nfs -o retry=10 192.168.1.4:/mnt/array1/RHEL5 /data/

retrans = n

这是指NFS请求(对已安装目录的读取或者写入请求)超时后重新传输的次数。
如果在重传n次之后请求未成功,则软安装将返回错误,而硬安装将重试该请求。
默认重传值为4

# mount -t nfs -o retrans=8 192.168.1.4:/mnt/array1/RHEL5 /data/

acdirmax = n

这是指目录属性在NFS客户端上缓存的最大秒数。
该属性的默认值为60。
如果超时时间到期,客户端将刷新其属性缓存,如果属性已更改,则客户端会将它们发送到NFS服务器。

–对于很少更改的目录或者仅由一个用户拥有和修改的目录(例如用户的主目录),请通过将acdirmax = 120或者更高设置来减少网络负载。

# mount -t nfs -o acdirmax=120 192.168.1.4:/mnt/array1/RHEL5 /data/

acdirmin = n

这与acdirmax相反。
这是目录属性在NFS客户端上缓存的最小秒数。
此属性的默认值为acdirmin-30。
对于很少更改的目录或者仅由一个用户拥有和修改的目录(例如用户的主目录),请将此属性设置为acdirmin = 60可以减轻网络负载

# mount -t nfs -o acdirmin=80 192.168.1.4:/mnt/array1/RHEL5 /data/

acregmax = n

这是指文件属性在NFS客户端上缓存的最大秒数。
如果超时时间到期,客户端将刷新其属性缓存,如果属性已更改,则客户端会将它们发送到NFS服务器。

对于文件很少更改或者仅由一个用户拥有和修改的文件(例如用户主目录中的文件),请通过将acregmax = 120或者更高设置来减少网络上的负载。

# mount -t nfs -o acregmax=120 192.168.1.4:/mnt/array1/RHEL5 /data/

nocto

此选项用于保持静态的文件或者目录,例如:永不更改,以减少网络负载。
未指定默认值

# mount -t nfs -o retrans=8 192.168.1.4:/mnt/array1/RHEL5 /data/