码迷,mamicode.com
首页 > 其他好文 > 详细

NFS基础优化

时间:2018-08-16 17:39:03      阅读:237      评论:0      收藏:0      [点我收藏+]

标签:col   优化   lib   提高   数据同步   suid   取消   share   log   

一、环境

环境接上篇 https://www.cnblogs.com/suffergtf/p/9486250.html

二、参数详解

1、nfsserver端配置参数详解

[root@nfsserver01 ~]# cat /var/lib/nfs/etab 
/Share    192.168.127.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,
secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,secure,root_squash,no_all_squash)

1:访问权限控制选项

rw    可读写

ro     只读

2:用户映射类选项

all_squash:将远程访问的所有普通用户及所属组,都映射为匿名用户及所属组(nfsnobody)

no_all_squash:与all_squash相反,没有映射为匿名用户的普通用户,没有权限(默认设置);

root_squash:将root用户及所属组都映射为匿名用户与用户组(默认设置)

no_root_squash:与root_squash相反

anonuid=xxx:将远程访问的所有用户都映射为指定用户,UID=xxx,Server端和Client端必须存在这个指定的用户;

anongid=xxx:将远程访问的所有用户组都映射为指定用户组,GID=xxx;

 

3:其他选项

sercure    限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认配置)

inserure   允许客户从大于1024的端口连接

sync          将数据同步写入内存缓冲区与磁盘中,效率低,但可以保持数据一致性

async        异步,先写入缓存,需要时写入磁盘

wdelay     检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认配置)

no_wdelay  若有写操作则立即执行,应与sync配合使用;

subtree    若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置);

no_subtree    即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率;

2、nfsclient挂载参数

[root@nfsclient01 mnt]# cat /proc/mounts |grep nfs
192.168.127.100:/Share /mnt nfs4 rw,relatime,vers=4.1,rsize=65536,wsize=65536,namlen=255,hard,proto=tcp,
port=0,timeo=600,retrans=2,sec=sys,clientaddr=192.168.127.101,local_lock=none,addr=192.168.127.100 0 0

三、基础优化

1、nfsserver端

/etc/exports       NFS主配置文件中添加all_squash,root_squash参数,将所有普通用户和root用户都映射为nfsnobody;
/etc/exports        NFS主配置文件中添加async参数,将数据存入缓存中,必要时写入磁盘,可提高性能,但是数据丢失可能性较大
[root@nfsserver01 ~]# vim /etc/exports

#######shared for test by suffergtf at 2018-8-16######
/Share  192.168.127.0/24(rw,async,all_squash,root_squash)
[root@nfsserver01 ~]# systemctl restart nfs
[root@nfsserver01 ~]# cat /var/lib/nfs/etab
/Share    192.168.127.0/24(rw,async,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,
secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,secure,root_squash,all_squash)

cat >>/etc/sysctl.conf<<EOF

> net.core.wmem_default = 8388608

> net.core.rmem_default = 8388608

> net.core.rmem_max = 16777216

> net.core.wmem_max = 16777216

> EOF

2、nfsclient端

a:async异步同步,此参数是将数据先写入到缓存,必要时写入磁盘,可提高I/0性能,同时也会降低数据安装(除非是对性能要求极高,对数据可靠性不要求的场合,一般生产环境,不推荐使用)
b:noatime取消更新文件系统上的inode访问时间,提高I/O性能,推荐使用
c:nodiratime取消更新文件系统上的directory inode访问时间,高并发环境,推荐使用,提高系统性能
d:noexec挂载在这个文件系统内的程序,可不可以执行(安全选项)
e:nosuid挂载的这个文件系统内的文件,是否可以设置SUID
f:rsize/wsize读取/写入的区块大小,这个设置值可以影响客户端与服务端传输数据的缓冲存储量。一般来说,如果在局域网内,并且客户端与服务端都具有足够的内存,这个值可以设置大一点,
提升缓冲区块可以提升NFS文件系统的传输能力,但设置的值也不要太大,最好是实现网络能够传输的最大值
[root@nfsclient01 /]# mount -t nfs -o async,noatime,nodiratime,noexec,nosuid,rsize=262144,wsize=262144 192.168.127.100:/Share /mnt

NFS基础优化

标签:col   优化   lib   提高   数据同步   suid   取消   share   log   

原文地址:https://www.cnblogs.com/suffergtf/p/9488280.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!