Linux学习笔记之NFS--Network File System

一:NFS介绍

1.什么是NFS?

NFS是Network  File System(网络文件系统)。

主要功能是通过网络让不同的服务器之间可以共享文件或者目录。NFS客户端一般是应用服务器(比如web,负载均衡等),可以通过挂载的方式将NFS服务器端共享的目录挂载到NFS客户端本地的目录下,像访问本地目录一样访问挂载的远程目录。

2.工作原理:
      NFS服务本身监听port=2049,支持的功能非常多。需要开启的端口port也非常多。需要由RPC协助。

NFS在文件传送过程中依赖与RPC(Remote Procedure Call -- 远程过程调用)协议, 端口号 port =111;

--RPC的作用:指定NFS各个功能对应的端口号,然后通知给客户端,让客户端连接到正确的端口。

NFS本身是没有提供信息传送的协议和功能的,但是能够用过网络进行图片,视频,附件等分享功能。

只要用到NFS的地方都需要启动RPC服务,不论是NFS的服务端还是客户端。

 

NFS和RPC的关系:

可以理解为NFS是一个网络文件系统(比喻为租房的房主),而RPC是负责信息的传输(中介),客户端(相当于租房的租客)

NFS : 处理客户端的数据请求。

RPC: 处理客户端的连接请求。

第一步:启动RPC服务;

第二步:启动NFS服务;

第三步:客户端发消息给RPC服务,请求NFS服务;

第四步:RPC把端口和IP地址给NFS客户端;

第五步:NFS客户端拿着端口和地址请求服务挂载,可进行文件或目录的传输;

注意:NFS启动前RPC必须要启动;RPC重启后必须重启NFS

 

 

二:所需要的软件

操作环境: CentOS Linux release 7.5.1804 (Core)

服务端:  需要安装以下软件包,并开启服务

    rpcbind: 这个是CentOS6.X的RPC主程序(CentOS5.X的为portmap)

    nfs-utils: 这个是NFS服务主程序(包含rpc.nfsd、rpc.mountd、daemons)

客户端:需要开启rpcbind服务,nfs-utils只要安装就可以

         rpcbind: 这个是CentOS6.X的RPC主程序(CentOS5.X的为portmap)
         nfs-utils: 这个是NFS服务主程序(包含rpc.nfsd、rpc.mountd、daemons)

可以通过 yum 等工具在线安装(需要主机可以联网),如:yum -y install rpcbind nfs-utils

也可通过rpm工具安装(需要先下载相关rpm软件包),如:rpm -ivh rpcbind*.rpm   nfs-utils*rpm

systemctl enable rpcbind.service    ## 设置重启/开机后自动启动rpcbind服务

systemctl restart rpcbind.service    ## 重启rpcbind服务

systemctl enable nfs.service    ## 设置重启/开机后自动启动nfs服务

systemctl restart nfs.service    ## 重启nfs服务

 

NFS  服务端 配置文件的配置
    NFS默认配置文件路径是:/etc/exports,文件默认是空的。

/etc/exports配置文件的格式是:
NFS共享的目录    NFS客户端地址(参数1,参数2[,参数n])
[root@linuxidc ~]# cat /etc/exports  
#share /data by linuxidc for bingbing at 20160425  
/nfs/share 192.168.137.0/24(rw,no_root_squash,no_all_squash,sync)  ##一条配置搞定NFS配置文件 
其中:/nfs/share 是服务器端共享的目录 
      192.168.137.0/24是共享目录 允许 的客户端ip地址 
      (rw,no_root_squash,sync) ,其中rw代表拥有读写的权限,no_root_squash代表不把root用户映射成nfsnobody用户;

sync代表数据同步写入NFS服务器端的硬盘中,也可以用async,async是大数据时使用,是先写到缓存区,再写到磁盘里。

 

[root@vm201 log]# showmount -e localhost  ## 测试本机挂载情况,也可以用本机 IP : showmount -e ip
Export list for localhost:
/nfs/share 192.168.137.0/24

 

客户端配置

[root@vm111 ~]# showmount -e 192.168.137.201   ## 查看 192.168.137.201  共享的文件
Export list for 192.168.137.201:
/nfs/share 192.168.137.0/24

## 如下命令在客户端挂载服务端共享的文件,

##也可以写在 /etc/fstab 文件里(确定:如果服务端未启动,则客户端重启时可能无法启动)

[root@vm111 /]# mount -t nfs 192.168.137.201:/nfs/share  /nfs/clientShare

 

在服务端查看共享目录的权限:

[root@vm201 share]# cat /var/lib/nfs/etab
/nfs/share    192.168.137.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,no_root_squash,no_all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,secure,no_root_squash,no_all_squash)

/var/lib/nfs/etab  日志文件,记录了NFS共享出来的目录的完整权限的设置值;

/var/lib/nfs/xtab  日志文件,记录了NFS客户端访问NFS服务器的数据信息;  

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值