NFS(NetworkFileSystem),网络文件系统,基于RPC实如今远程主机上完成读写功能,NFS服务端功能由Kernel中提供,因此只能在Linux、UNIX中使用,另外只能根据IP地址限制用户访问。
RPC (Remote Procedure Call),实现两个远程主机之间功能函数的调用、参数传递功能。在Linux中一些通用功能都被作成库,本地的应用程序须要使用这些功能时,直接调用便可,这就叫本地调用;本地所须要的库(功能函数)在远程主机上,这时候就能够使用RPC协议将调用请求、参数封装成报文在网络上传输,而且服务端能理解以后将调用请求在本地执行返回结果,这称为远程过程调用。不少服务都会基于RPC完成某些功能, 例如NFS服务就基于RPC调用远程 主机上的open() ,read(),write(),close()…等函数将执行结果返回本地,完成文件共享功能。node
1. 服务端启动时将NFS功能(NFS daemons)像RPC进行注册端口。 2. 客户端经过RPC链接服务器获取NFS Daemon注册的端口。 3. 客户端连与NFS daemon进行联机,mountd对用户进行认证,nfs提供文件共享服务功能。
rpc.nfsd 提供NFS服务
rpc.mountd 用于验证用户是否有权限使用NFS
rpc.lockd与rpc.statd 用于锁定文件防止多个用户同时修改,致使文件混乱。
rpc.quota 用于设置NFS的磁盘配额。
rpc.bind 用于将服务与端口绑定
rpc.statd 通知NFS客户端何时一个NFS服务器非正常重启动.这个进程被nfslock服务自动启动,不须要用户的配置.
rpc.idmapd 用于将全部用户的ID映射为nobody用户shell
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/