码迷,mamicode.com
首页 > 其他好文 > 详细

NFS服务

时间:2020-01-28 17:33:27      阅读:59      评论:0      收藏:0      [点我收藏+]

标签:open   for   操作   通过   完成   图片   cal   block   ima   

介绍

NFS(NetworkFileSystem),网络文件系统,基于RPC实现在远程主机上完成读写功能,NFS服务端功能由Kernel中提供,所以只能在Linux、UNIX中使用,另外只能根据IP地址限制用户访问。
RPC (Remote Procedure Call),实现两个远程主机之间功能函数的调用、参数传递功能。在Linux中一些通用功能都被做成库,本地的应用程序需要使用这些功能时,直接调用即可,这就叫本地调用;本地所需要的库(功能函数)在远程主机上,这时候就可以使用RPC协议将调用请求、参数封装成报文在网络上传输,并且服务端能理解之后将调用请求在本地执行返回结果,这称为远程过程调用。很多服务都会基于RPC完成某些功能, 例如NFS服务就基于RPC调用远程 主机上的open() ,read(),write(),close()…等函数将执行结果返回本地,完成文件共享功能。

工作原理

技术图片

1. 服务端启动时将NFS功能(NFS daemons)像RPC进行注册端口。
2. 客户端通过RPC连接服务器获取NFS Daemon注册的端口。
3. 客户端连与NFS daemon进行联机,mountd对用户进行认证,nfs提供文件共享服务功能。

NFS daemon

rpc.nfsd 提供NFS服务
rpc.mountd 用于验证用户是否有权限使用NFS
rpc.lockd与rpc.statd 用于锁定文件防止多个用户同时修改,导致文件混乱。
rpc.quota 用于设置NFS的磁盘配额。
rpc.bind 用于将服务与端口绑定
rpc.statd 通知NFS客户端什么时候一个NFS服务器非正常重启动.这个进程被nfslock服务自动启动,不需要用户的配置.
rpc.idmapd 用于将所有用户的ID映射为nobody用户

实例

node1: NFS Server: 192.168.80.10
node2: NFS Client: 192.168.80.20

node1配置:
    yum install  nfs-utls  -y 
    mkdir -pv /nfs/pub
    echo "/nfs/pub  192.168.80.20(rw,async)" >>/etc/exports               #限制只有Node2能登录
    exportfs  -ar
    chown nfsnobody:nfsnobody -R /nfs/                                             #nfs客户端在系统上以nfsnobody用户身份操作文件

node2配置:
showmount -e 192.168.80.10
     Export list for 192.168.80.10:
     /nfs/pub 192.168.80
mount  -t nfs --source 192.168.80.10:/nfs/pub /mnt/

NFS服务

标签:open   for   操作   通过   完成   图片   cal   block   ima   

原文地址:https://blog.51cto.com/jying/2468513

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!