闷热的夜晚,抽出时间整理技术笔记:
NFS网络文件系统优化挂载参数的建议:
一些相关的参数翻译参阅资料:http://www.iyunv.com/thread-271100-1-1.html
在centos6.5系统:在在实际生产情况下就增加个noatime nodiratime图中是查看默认的挂载参数。
当然增加参数越多,越安全,但是效率会降低。这是必然。NFS最终还是要追求的是性能。高并发效率不是很高,中大型企业也是不会用它的!

我在NFS官方技术资料中查阅到的建议修改优化参数如下:
NFS内核优化
默认的参数是124928--------缓存的一个参数
这个文件指定了接收套接字缓冲区大小的缺省值(以字节为单位)

还有一个最大的内核缓存参数:
这个文件指定了接收套接字缓冲区最大的缺省值(以字节为单位)
当然,有了接收就会有发送的:
这个文件指定了发送套接字缓冲区大小的缺省值(以字节为单位)

这个文件指定了接收套接字缓冲区最大的缺省值(以字节为单位)
由于默认的内核缓存参数值是比较小的,所以在生产环境下,我可以把这个值变的大一些,使得NFS效率高一些。
NFS官方建议还是将指定的参数追加到以下文件内中。以防重启后失效。
NFS官方给出值:
发送套接字缓冲区大小为: 8388608 字节;
接收套接字缓冲区大小为: 8388608 字节;
接收套接字缓冲区最大值为: 16777216 字节;
发送套接字缓冲区最大值为: 16777216 字节;
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
我们可以在用echo追加到sysctl.conf的配置文件中去:
查看下systl.conf 的配置文件:
这样稍微就数据读取就会快一些。

企业生产实际生产环境下NFS共享存储优化:
磁盘方面:sas/ssd磁盘,建议买多块,raid 0效率最高,但是它没有冗余。raid10效率高且冗余好!
NFS服务器:all-squash,性能最优就增加async.图中async我就没有增加。

3.客户端挂载:rsize.wsize.noatime .nodiretime 兼顾安全增加:Nosudi.noexec


4.内核优化:
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
关于强制卸载:
用Man可以查看umount
翻译后的原文如下:
-l 的意思:
-f 的意思:
showmount 命令一般用于从NFS客户端检查NFS服务器端共享目录的情况:
最常用的是-e 
接着补充一个Mount的参数 -a :试挂载的意思。作用在于可以在开机启动前检查到挂载错误:
例如,我将客户端/etc/fstab开机自动挂载的配置文件里的写法格式给搞错
用Mount -a 检查的话,就可以检查出来了
如果配置正确的话,它就不会报错的:
rpcinfo这个命令一般是用于查看端口命令rpc服务相关端口的命令:
站在服务端:增加-p这个参数可以查看到rpc服务有没有向NFS服务注册相应的端口
如果你单独的将rpc服务重启,而NFS服务没有重启的话:,再次站在NFS服务端上查看rpc的本地端口,就不会发现有向NFS注册端口的表项。

因此,如果排故时发现RPC端口很少,你就要注意NFS启动顺序是不是有问题,你可以将NFS服务重新启动。
当我用rpcinfo -p 检查出现以下提示,就可以认定NFS服务中RPC服务意外停止错误:

接下来,我在NFS服务端上来查看NFS文件的路径:在这里面我们可以根据不同的文件来查看NFS的参数!
例如etab:我可以看到NFS的配置的当前的参数:(这样比在服务端上用mount -o 查看的更为简洁 )
NFS服务生产场景应用:
其作用是可以让不同的客户端挂载使用同一个目录,作为共享存储使用,这样可以确保不同节点客户端数据的议政性,在集群架构下经常会用到。
NFS优点:
部署简单,容易掌握,数据是在文件系统之上的。(其区别与MFS GFS之类的云存储,它在目录下能够看到真实文件,而在云存储内是看不到的。)
部署快速,维护简单。
数据可靠,从软件层面上看,数据可靠性高,经久耐用。
NFS服务缺点:
劣势在于局限性:存在单点故障,如果NFS server 宕机,那么所有的客户端都不能正常访问共享目录了。(可用高可用方案来解决)
在高并发的场合。MFS效率性能有限(一般几千万以下PV的网站不是瓶颈,除非网站架构过于简单。)
客户端认证时基于IP和主机名,权限是根据ID识别,安全性一般。(推荐在内网使用)
多台客户端挂载NFS服务器是,连接管理维护麻烦,当NFS服务端出现故障,所有的NFS客户端挂载状态都会出现问题。这就反映出耦合度太高了(测试环境可用autofs 自动挂载解决。)
NFS传输的数据是明文的,NFS对数据完整性不做验证。





