NFS简介
NFS原理:
nfs优化设置:
1、客户端:默认情况下,NFS配置不适合大磁盘挂载。
设置块大小
mount命令的risize和wsize指定了server端和client端的传输的块大小。
如果没有指定,那么,系统根据nfs的版本来设置缺省的risize和wsize大小。大多数情况是4K(4096bytes),
对于nfs v2,最大是8K,
对于nfs v3,在server端设置risize和wsize的限制,
最大块大小在kernel的常量 NFSSVC_MAXBLKSIZE,
该常量在/usr/src/linux2.4/include/linux/nfsd/const.h.
所有的2.4 的客户端都支持最大32K的传输块。
系统缺省的块,这主要取决于你的kernel和你的网卡,
太大或者太小都有可能导致nfs 速度很慢。
示例:mount -t nfs resize=32768,wrize=32768,intr,notime x.x.x.x:/opt/share /opt/share
使用大的读、写块,(指定最大块大小,这个示例是32KB),在挂起时nfs操作可以被中断不持续更新atime,可以设置放在/etc/fstab中,如果设置自动挂装器,,这些放置在/etc/auto.*文件中
2、服务器端
查看服务器端共享目录
Showmount -e ip
在服务器端确保有足够的NFS内核线程来处理客户端。默认情况下,只启动一个线程
nfsd的个数
radhat和Fedora缺省的系统在启动时,有8个nfsd进程。
$ps -efl|grep nfsd
对于忙碌的NFS服务器端应提高数字。可用nfsstat -rc命令评估客户机,了解是否阻塞的现象,这个命令显示客户机远程过程调用rpc来统计数据,下显示一个Web服务器的客户机统计数据
nfsstar -rc
列出中,retrans=0,这表示从上一次重新引导以来没有出现需重新传输的情况,如果这个数值比较大,考虑增加nfs内核线程配置项:nfs现场数量应该跟内核数一致。超过32核的配置都为32
也可以通过查看/proc/net/rpc/nfsd文件的th行,
第一个是nfsd的个数,
后十个是线程是用的时间数,第二个到第四个值如果很大,那么就需要增加nfsd的个数。
优化方案具体如下:
#vi /etc/sysconfig/nfs 或者vi /etc/init.d/nfs 目录下
找到RPCNFSDCOUNT,修改该值,一般和client端数目一致
备注:suse12中,该数值为USE_KERNEL_NFSD_NUMBER=16
systemctl restart nfs ,将需要的线程数量传递给rpc.nfsd例如rpc.nfsd 32 会启动32个线程,任何时候都可以设置,线程需要启动或者销毁,应放置启动脚本中。
nfs端口
由于nfs服务需要开启 mountd,nfs,nlockmgr,portmapper,rquotad这5个服务,将这5个服务的端口加到iptables里面而nfs 和 portmapper两个服务是固定端口的,nfs为2049,portmapper为111。其他的3个服务是用的随机端口。
2049--------NFS数据通信端口,访问NFS共享目录时传输数据的端口
111-----rpc通信端口,NFS挂载通信和应答的端口 rpcinfo -p
mountd:它是RPC安装守护进程,主要功能是管理NFS的文件系统。当客户端顺利通过nfsd登录NFS服务器后,在使用NFS服务所提供的文件前,还必须通过文件使用权限的验证。它会读取NFS的配置文件/etc/exports来对比客户端权限。
nfs:基本的NFS守护进程,主要功能是管理客户端是否能够登录服务器;
portmapper:主要功能是进行端口映射工作。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,portmap会将所管理的与服务对应的端口提供给客户端,从而使客户可以通过该端口向服务器请求服务
nfs命令
刷新NFS共享配置信息:exports -rv:
-r:刷新NFS共享目录信息
-v:查询NFS共享目录信息
启动nfs,先启动rpcbind,然后nfsserver进程
systemctl start rpcbind
systemctl start nfs
centos7版本:
systemctl start rpcbind
systemctl start nfsserver
低版本:
service start rpcbind
service start nfsserver
备注:mount挂载有严格的约束:“=”、“,”逗号前后不允许有空格,不允许有特殊字符/中文字符
NFS卸载
1停止nfs服务后在umount
如果失败,需要先停止访问nfs共享目录所在分区的进程
ffuses -kuc xxxx;umont xxxxx
NFS使用详解之三.NFS传输速度优化 - princessd8251 - 博客园 (cnblogs.com)NFS占用的端口,配置固定端口_nfs的端口-CSDN博客