评论

收藏

[Linux] Linux NFS机制工作原理及实例解析

服务系统 服务系统 发布于:2021-09-17 10:41 | 阅读数:481 | 评论:0

这篇文章主要介绍了Linux NFS机制工作原理及实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
什么是NFS?
network file system 网络文件系统
通过网络存储和组织文件的一种方法或机制。
为什么要用NFS?
前端所有的应用服务器接收到用户上传的图片、文件、视频,都会统一放到后端的存储上。
共享存储的好处:方便数据的查找与取出,缺点:存储服务器压力大,坏了丢失全部数据。
NFS工作原理
NFS功能,有很多服务,每个服务都有自己的端口,并且经常变换。
客户端查找这些端口,就需要一个中间人—RPC服务(默认端口号111)。
工作流程:
1.启动RPC服务
2.启动NFS服务(同时向RPC服务注册启动的端口)
3.客户端向RPC请求NFS服务
4.RPC返回端口到客户端
5.客户端用返回的端口地址向NFS请求传输数据。
DSC0000.png

安装NFS服务
安装:yum install nfs-utils rpcbind
查看:rpm -qa nfs-utils rpcbind
开启服务并设置开机自启:systemctl start rpcbind.servicesystemctl enable rpcbind.service
systemctl start nfssystemctl enable nfs
DSC0001.png

配置NFS
nfs配置文件 /etc/exports
执行命令man exports 找到其中的:
DSC0002.png

配置文件的格式:
要共享的目录访问的主机(权限)
①要共享的目录:存取数据的目录
②访问的主机:单个主机:172.16.1.7或主机名网段:172.16.1.0/24或172.16.1.*
③权限:rw 可读ro 只读sync 写到远端磁盘(慢,安全)async 异步写到远端缓冲区(快,不安全)
root_squashanonuid=匿名用户的UIDanongid=匿名用户的GID
all_squash 无论客户端是什么用户,到服务端都当做nfsnobody
[root@nfs01 ~]# vim /etc/exports
DSC0003.png

注:一个目录可同时给多个主机共享,如上图test。注意小括号和前面的字符中间没有空格。
创建目录:[root@nfs01 ~]# mkdir -p /data
nfs的默认用户是nfsnobody,所以要对目录进行授权:[root@nfs01 ~]# chown -R nfsnobody.nfsnobody /data
重启NFS:[root@nfs01 ~]# systemctl reload nfs 或者 exportfs -r (平滑重启)
检查:
DSC0004.png

打开web01虚拟机,安装rpc和nfs服务(原则上客户端只安装rpc即可,我们这里是为了测试showmount命令)
挂载共享目录,并创建文件测试
DSC0005.png DSC0006.png

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持CodeAE代码之家
原文链接:https://www.cnblogs.com/1016391912pm/p/13034879.html

关注下面的标签,发现更多相似文章