通过案例深入解析linux NFS机制

avatar
avatar
admin
1495
文章
4
评论
2020年11月14日09:06:08 评论 70 1210字阅读4分2秒

上篇,创建web02服务器,将web01、web02服务器的/data目录挂载到nfs01服务器的共享目录/data上,并以不同方式实现开机自启动。

web01篇:

在/etc/rc.local中添加如下一行:

重启并检查:

web02篇:

克隆模板机,创建web02虚拟机,更改主机名,ip地址

安装rpc服务:yum install rpcbind 开启并设置开机启动

在最后添加一行:

因为磁盘挂载在系统启动的顺序中要快于网卡加载,而rpc又需要联网,所以我们需要开启延迟挂载:

重启,并检查:

注意:开机挂载时要保证nfs01服务器及其nfs服务都是开启状态。

在nfs01服务器上查看共享目录信息

可以通过设置uid和gid指定用户访问(在服务器端和客户端添加相同的用户---uid、gid相同):

useradd -u 1111 test

在web01服务器上测试:

总结:

①nfs服务器的nfs配置文件中共享目录要开放写入的权限

②nfs服务器共享目录的本地权限要设置w的权限

③指定用户时,要保证服务端和客户端的用户的uid和gid相同(用户名可以不同)

客户端挂载深入

查看客户端挂载信息:

两种挂载方式:hard和soft

如果以soft方式挂载,当网络或服务出现问题时,客户端会一致尝试挂载,直到超时(timeo)停止。

如果以hard方式挂载,则会一直尝试直到挂载成功,此时无法umount或kill,常配合intr使用。

注:soft在timeout后可能会造成资料丢失的情况,故不建议使用。

rsize/wsize是写入/读出的区块大小(block size),这个值影响客户端与服务器端传输数据的缓冲存储量。如果在局域网内,两边内存比较大,这个值可以设置大点,这样能提升传输速度。

mount命令详解:https://www.runoob.com/linux/linux-comm-mount.html

CentOS7.6优化建议使用如下挂载命令:

mount -t nfs -o noatime,nodiratime,nosuid,noexec,nodev,rsize=131072,wsize=131072 172.16.1.31:/data /mnt

NFS内核优化建议

  • /proc/sys/net/core/rmem_default:该文件指定了接收套接字缓冲区大小的默认值,默认为124928(字节)
  • /proc/sys/net/core/rmem_max:该文件指定了接收套接字缓冲区大小的最大值,默认为124928(字节)
  • /proc/sys/net/core/wmem_default:该文件指定了发送套接字缓冲区大小的默认值,默认为124928(字节)
  • /proc/sys/net/core/wmem_max:该文件指定了发送套接字缓冲区大小的最大值,默认为124928(字节)

上述文件对应的具体命令如下:

文章来源于互联网:通过案例深入解析linux NFS机制

匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: