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

什么是NFS?

network file system 网络文件系统

通过网络存储和组织文件的一种方法或机制。

为什么要用NFS?

前端所有的应用服务器接收到用户上传的图片、文件、视频,都会统一放到后端的存储上。

共享存储的好处:方便数据的查找与取出,缺点:存储服务器压力大,坏了丢失全部数据。

NFS工作原理

NFS功能,有很多服务,每个服务都有自己的端口,并且经常变换。

客户端查找这些端口,就需要一个中间人---RPC服务(默认端口号111)。

工作流程:

1.启动RPC服务

2.启动NFS服务(同时向RPC服务注册启动的端口)

3.客户端向RPC请求NFS服务

4.RPC返回端口到客户端

5.客户端用返回的端口地址向NFS请求传输数据。

Linux NFS机制工作原理及实例解析_第1张图片

安装NFS服务

安装:yum install nfs-utils rpcbind

查看:rpm -qa nfs-utils rpcbind

开启服务并设置开机自启:systemctl start rpcbind.service  systemctl enable rpcbind.service

systemctl start nfs  systemctl enable nfs

Linux NFS机制工作原理及实例解析_第2张图片

配置NFS

nfs配置文件 /etc/exports

执行命令man exports 找到其中的:

Linux NFS机制工作原理及实例解析_第3张图片

配置文件的格式:

要共享的目录  访问的主机(权限)

①要共享的目录:存取数据的目录

②访问的主机:单个主机:172.16.1.7或主机名  网段:172.16.1.0/24或172.16.1.*

③权限:rw 可读  ro 只读  sync 写到远端磁盘(慢,安全)  async 异步写到远端缓冲区(快,不安全)

    root_squash  anonuid=匿名用户的UID  anongid=匿名用户的GID

    all_squash 无论客户端是什么用户,到服务端都当做nfsnobody

[root@nfs01 ~]# vim /etc/exports

注:一个目录可同时给多个主机共享,如上图test。注意小括号和前面的字符中间没有空格。

创建目录:[root@nfs01 ~]# mkdir -p /data

nfs的默认用户是nfsnobody,所以要对目录进行授权:[root@nfs01 ~]# chown -R nfsnobody.nfsnobody /data

重启NFS:[root@nfs01 ~]# systemctl reload nfs 或者 exportfs -r (平滑重启)

检查:

打开web01虚拟机,安装rpc和nfs服务(原则上客户端只安装rpc即可,我们这里是为了测试showmount命令)

挂载共享目录,并创建文件测试

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

你可能感兴趣的:(Linux NFS机制工作原理及实例解析)