NFS挂载深入

  



在NFS客户端grep挂载的目录可获取默认挂载参数,命令如下:

[root@nginx01  wp-content] #, grep  uploads /proc/mounts    172.16.1.31:/上传/,/应用程序/nginx-1.6.3/html/博客/wp-content/uploads  nfs4  rw \   noexec, nosuid relatime更=4,rsize=131072, wsize=131072, namlen=255,,=0 \原型=tcp端口   timeo=600, retrans=2,秒=sys, clientaddr=172.16.1.13 minorversion=0, local_lock=没有\   addr=172.16.1.31  0, 0


参数参数功能默认参数fg

bg

,当在客户端执行挂载时,可选择是前台(fg)还是在后台(bg)执行。若在前台执行,则mount会持续尝试挂载,直到成功或挂载时间超时为止,若在后台执行,则mount会在后台持续多次进行mount,而不会影响到前台的其他程序操作。如果网络联机不稳定,或是服务器常常需要开关机,建议使用bg比较妥当。

fg

soft

hard

当NFS Client以soft挂载Server时,若网络或Server出现问题,造成Client和Server无法传输资料,Client就会一直尝试,直到timeout后显示错误才停止。若使用soft mount的话,可能会在timeout出现时造成资料丢失,故一般不建议使用。若用hardhardintr当使用hard挂载资源timeout后,若有指定intr参数,可以在timeout后把它中断掉,这避免出现问题时系统整个被NFS锁死,建议使用intr

rsize

wsize

读出(rsize)与写入(wsize)的区块大小(block size),这个设置值可以影响客户端与服务端传输数据的缓冲存储量,一般来说,如果在局域网内(LAN),并且客户端与服务器端都具有足够的内存,这个值可以设置大一点,比如说65535(bytes),提升缓冲区块将提升NFS文件系统的传输能力。但设置的值也不要太大,最好以网络能够传输的最大值为限

CentOS 5:默认值

rsize=1024

wsize=1024


CentOS 6:默认值

rsize=131072

wsize=131072

proto=udp使用UDP协定来传输资料,在LAN中会有比较好的性能。若要跨越Internet的话,使用proto=tcp多传输的数据会有比较好的纠错能力proto=tcp




参数
参数意义系统默认值

suid

nosuid

当挂载的文件系统上有任何SUID的程序时,只要使用nosuid就能够取消设置SUID的功能suid

rw

ro

可以指定问价系统是只读(ro)或可写(rw)rw

dev

nodev

是否可以保留装置文件的特殊功能?一般来说只有/dev才会有特殊的装置,一次可以选择nodevdev

exec

noexec

是否具有执行文件的权限?如果想要挂载的仅是普通资源数据区(例如:图片、附件),那么可以选择noexecexec

user

nouser

是否允许用户拥有文件的挂载与卸载功能?如果要保护文件系统,最好不要为用户提供挂载与卸载功能nouser

auto

noauto

这个auto指的是“mount -a”时会不会被挂载的项目,如果不需要这个分区随时被挂载,可以设置为noautoauto


  • async:涉及文件系统I/O的操作都是异步处理,即不会同步写到磁盘,此参数会提高性能,但会降低数据安全。一般情况,生产环境下不推荐使用。除非对性能要求很高,对数据可靠性不要求的场合。

  • sync:该参数与async相反。有I/O操作时,都会同步处理I/O,即把数据同步写入磁盘。此参数会牺牲一点I/O性能,但是,换来的是掉电后数据的安全性。

  • atime:在每一次数据访问时,会同步更新访问文件的inode时间戳,是默认选项,在高并发的情况下,建议通过明确加上notime,来取消这个默认项,以到达提升I/O性能,优化I/O的目的。

  • noatime:访问文件时不更新文件的inode时间戳,高并发环境下,推荐显式应用该选项,可以提高系统I/O性能。

  • ro:以只读的方式挂载一个文件系统。

  • rw:以可写的方式挂载一个文件系统。

  • auto:能够被自动挂载通过-a选项。

  • noauto:不会自动挂载文件系统。

  • defaults:这是fstab里的默认值,包括rw、suid、dev、exec、auto、nouser、async,默认情况大部分都是默认值。

  • exec:允许文件系统执行二进制文件,取消这个参数,可以提升系统安全性。

  • noexec:在挂载的文件系统中不允许直接执行任何二进制的程序,注意,仅对二进制程序有效,及时设置了noexec、shell,php程序还是可以执行的。

    NFS挂载深入