一文学会nfs原理、安装、配置、挂载

NFS介绍

NFS(Network File System)是一个基于网络的文件系统,S最早由Sun公司开发,分2,3,4三个版本,2和3由Sun起草开发,4.0开始Netapp公司参与并主导开发,最新为4.1版本。
NFS数据传输基于RPC协议,RPC为Remote Procedure Call的简写。NFS的服务端和客户端本身无法直接通信,需要借助RPC来完成。

NFS原理

1.用户进程访问NFS客户端,使用不同的函数对数据进行处理

2.NFS客户端通过TCP/IP的方式传递给NFS服务端。

3.NFS服务端接收到请求后,会先调用portmap进程进行端口映射。

4.nfsd进程用于判断NFS客户端是否拥有权限连接NFS服务端。

5.Rpc.mount进程判断客户端是否有对应的权限进行验证。

6.idmap进程实现用户映射和压缩

7.最后NFS服务端会将对应请求的函数转换为本地能识别的命令,传递至内核,由内核驱动硬件。

注意: rpc是一个远程过程调用,那么使用nfs必须有rpc服务

安装

安装nfs服务端

 yum -y install nfs-utils

配置 /etc/exports

严格按照共享目录的路径 允许访问的NFS客户端(共享权限参数)格式书写,定义要共享的目录与相应的权限

  • /data nfs共享目录
  • 192.168.184.0/24 客户端地址(共享范围,可写*)
  • (rw,sync,no_root_squash,no_all_squash) 参数1,参数2。。。(所有客户端主机都拥有读写权限(rw,sync,all_squash))
/data 192.168.184.0/24(rw,sync,no_root_squash)

文件共享之前,需要使用RPC(Remote Procedure Call远程过程调用服务将NFS服务器的IP地址和端口号信息发送给客户端

#加入开机自启
[root@nfs ~]# systemctl enable rpcbind nfs-server
#启动服务
[root@nfs ~]# systemctl restart rpcbind nfs-server

nfs共享参数参数作用

  • rw 读写权限
  • ro 只读权限
  • root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户(不常用)
  • no_root_squash 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员(不常用)
  • all_squash 无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户(常用)
  • no_all_squash 无论NFS客户端使用什么账户访问,都不进行压缩
  • sync 同时将数据写入到内存与硬盘中,保证不丢失数据
  • async 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据
  • anonuid 配置all_squash使用,指定NFS的用户UID,必须存在于系统

NFS客户端挂载卸载

安装客户端,仅启动rpc服务

[root@nfs-client ~]# yum -y install nfs-utils rpcbind
[root@nfs-client ~]# systemctl restart rpcbind

客户端挂载:

[root@nfs-client ~]# mkdir /nfsdir
[root@nfs-client ~]# mount -t nfs 172.16.1.31:/data /nfsdir 

开机挂载

#编辑fstab文件
[root@nfs-client ~]# vim /etc/fstab
172.16.1.31:/data /nfsdir nfs defaults 0 0
#验证fstab是否写正确
[root@nfs-client ~]# mount -a
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容