关于IT运维技术的
最佳实践博客网站

NFS+autofs 共享储存调优建议

NFS 服务端设置

1、可能需要安装

yum install rpcbind nfs-utils autofs

2、创建共享目录以及设置文件目录权限

#创建目录
mkdir /wwwdata
#赋予权限
chmod -R 777 /wwwdata

3、设置共享目录,NFS服务器端优化加all_squash,async

#编辑文件:/etc/exports
/wwwdata 172.25.0.10/24(rw,async,all_squash)  #仅允许指定ip的读写权限
/wwwdata *(ro,async,all_squash)               #允许所有ip的读权限
#重新加载NFS共享配置
exportfs  -rv

async,all_squash性能有所提高,但是安全性也由降低。

一些常用检测操作

#显示指定NFS服务器连接NFS客户端的信息
[root@server0 ~]# showmount -e 172.25.0.11
clnt_create: RPC: Port mapper failure - Unable to receive: errno 113 (No route to host)
#解决方法
firewall-cmd --permanent --zone=public --add-service=rpc-bind
firewall-cmd --reload

NFS 客户端设置

1、如果需要直接挂载。

mount -t nfs -o nosuid,noexec,noatime,nodiratime,rsize=131072,wsize=131072 172.25.0.11:/wwwdata /mnt/wwwroot/
取消挂载
umount -vl /mnt/wwwroot

rsize,wsize,noatime,nodiratime四个选项为性能优化选项

nosuid,noexec两个选项为安全优化选项

2、如果需要自动动态挂载。

编辑auto.master
vim /etc/auto.master
/mnt/wwwroot /etc/auto.master.d/nfs.autofs
编辑nfs.autofs
vim /etc/auto.master.d/nfs.autofs
*       -fstype=nfs,rw,async,all_squash 172.25.0.11:/wwwdata
  1. async 异步同步,此参数会提高I/O性能,但会降低数据安全(除非对性能要求很高,对数据可靠性不要求的场合。一般生产环境,不推荐使用)
  2. noatime 取消更新文件系统上的inode访问时间,提升I/O性能,优化I/O目的,推荐使
  3. nodiratime 取消更新文件系统上的directory inode访问时间,高并发环境,推荐显式应用该选项,提高系统性能
  4. noexec  挂载的这个文件系统,要不要执行程序(安全选项)
  5. nosuid  挂载的这个文件系统上面,可不可以设置UID(安全选项)
  6. rsize/wsize 读取(rsize)/写入(wsize)的区块大小(block size),这个设置值可以影响客户端与服务端传输数据的缓冲存储量。一般来说,如果在局域网内,并且客户端与服务端都具有足够的内存,这个值可以设置大一点,比如说32768(bytes),提升缓冲区块将可提升NFS文件系统的传输能力。但设置的值也不要太大,最好是实现网络能够传输的最大值为限。

3、NFS客户端内核优化:

net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216

4、 测试方法:

#测试单个文件的读取
time for ((i=1;i<50000;i++));do cat /mnt/wwwroot/nfs/nfs.log >/dev/null;done
#测试单个文件的读写
time for ((i=1;i<50000;i++));do echo "test" > /mnt/wwwroot/nfs/nfs.log

还建议直接上硬件:sas/ssd磁盘,买多块,raid0/raid10,万兆网卡。

赞(0)
未经允许不得转载:菜鸟HOW站长 » NFS+autofs 共享储存调优建议

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址