阅读 265

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

这篇文章主要介绍了通过案例深入解析linux NFS机制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

上篇,创建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(字节)

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

以上就是本文的全部内容,希望对大家的学习有所帮助


文章分类
前端
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐